From c8598edb5266bcc44b228b9dfd4568d8bcc41ebf Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 10 Aug 2024 14:25:46 -0500 Subject: [PATCH] Update Appveyor and GHA CI build configurations --- .appveyor.yml | 29 +++++++------- .github/workflows/ci-scripts-build.yml | 54 +++++++++++++------------- 2 files changed, 41 insertions(+), 42 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 2b42845..be10aed 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -3,17 +3,14 @@ # This is YAML - indentation levels are crucial -cache: - - C:\Users\appveyor\.tools - #---------------------------------# -# additional packages # +# build cache # #---------------------------------# +# The AppVeyor cache allowance is way too small (1GB per account across all +# projects, branches and jobs) to be used for the dependency builds. -install: -# for the sequencer - - cinst re2c - - cmd: git submodule update --init --recursive +cache: + - C:\Users\appveyor\.tools #---------------------------------# # repository cloning # @@ -23,14 +20,11 @@ init: # Set autocrlf to make batch files work - git config --global core.autocrlf true -clone_depth: 50 +clone_depth: 5 -# Skipping commits affecting only specific files -skip_commits: - files: - - 'documentation/*' - - '**/*.md' - - '.github/**' +#---------------------------------# +# build matrix configuration # +#---------------------------------# # Build Configurations: dll/static, regular/debug configuration: @@ -43,6 +37,7 @@ configuration: environment: # common / default variables for all jobs SETUP_PATH: .ci-local:.ci + EPICS_TEST_IMPRECISE_TIMING: YES matrix: - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 @@ -66,8 +61,10 @@ platform: # building & testing # #---------------------------------# -build_script: +install: - cmd: python .ci/cue.py prepare + +build_script: - cmd: python .ci/cue.py build test_script: diff --git a/.github/workflows/ci-scripts-build.yml b/.github/workflows/ci-scripts-build.yml index 49d0797..6ffded3 100644 --- a/.github/workflows/ci-scripts-build.yml +++ b/.github/workflows/ci-scripts-build.yml @@ -27,8 +27,7 @@ jobs: BASE: ${{ matrix.base }} CMP: ${{ matrix.cmp }} BCFG: ${{ matrix.configuration }} - WINE: ${{ matrix.wine }} - RTEMS: ${{ matrix.rtems }} + CI_CROSS_TARGETS: ${{ matrix.cross }} EXTRA: ${{ matrix.extra }} TEST: ${{ matrix.test }} strategy: @@ -40,21 +39,21 @@ jobs: cmp: gcc configuration: default base: "7.0" - wine: "64" + cross: "windows-x64-mingw" name: "7.0 Ub-20 gcc-9 + MinGW" - os: ubuntu-20.04 cmp: gcc configuration: static base: "7.0" - wine: "64" + cross: "windows-x64-mingw" name: "7.0 Ub-20 gcc-9 + MinGW, static" - os: ubuntu-20.04 cmp: gcc configuration: default base: "3.15" - wine: "64" + cross: "windows-x64-mingw" name: "3.15 Ub-20 gcc-9 + MinGW" - os: ubuntu-20.04 @@ -64,6 +63,12 @@ jobs: extra: "CMD_CXXFLAGS=-std=c++11" name: "7.0 Ub-20 gcc-9 C++11, static" + - os: ubuntu-20.04 + cmp: clang + configuration: default + base: "7.0" + name: "7.0 Ub-20 clang-10" + - os: ubuntu-20.04 cmp: clang configuration: default @@ -75,22 +80,16 @@ jobs: cmp: gcc configuration: default base: "7.0" - rtems: "4.10" + cross: "RTEMS-pc386-qemu@4.10" name: "7.0 Ub-20 gcc-9 + RT-4.10" - os: ubuntu-20.04 cmp: gcc configuration: default base: "7.0" - rtems: "4.9" + cross: "RTEMS-pc386-qemu@4.9" name: "7.0 Ub-20 gcc-9 + RT-4.9" - - os: ubuntu-20.04 - cmp: clang - configuration: default - base: "7.0" - name: "7.0 Ub-20 clang-10" - - os: macos-latest cmp: clang configuration: default @@ -113,10 +112,10 @@ jobs: cmp: gcc configuration: static base: "7.0" - name: "7.0 Win2019 mingw, static" + name: "7.0 Win2019 MinGW, static" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: true - name: "apt-get install" @@ -131,11 +130,14 @@ jobs: - name: Run main module tests run: python .ci/cue.py test - name: Upload tapfiles Artifact - uses: actions/upload-artifact@v2 + if: ${{ always() }} + uses: actions/upload-artifact@v3 with: name: tapfiles ${{ matrix.name }} path: '**/O.*/*.tap' + if-no-files-found: ignore - name: Collect and show test results + if: ${{ always() }} run: python .ci/cue.py test-results docker: @@ -148,8 +150,6 @@ jobs: BASE: ${{ matrix.base }} CMP: ${{ matrix.cmp }} BCFG: ${{ matrix.configuration }} - WINE: ${{ matrix.wine }} - RTEMS: ${{ matrix.rtems }} EXTRA: ${{ matrix.extra }} TEST: ${{ matrix.test }} strategy: @@ -157,13 +157,13 @@ jobs: matrix: # Job names also name artifacts, character limitations apply include: - - name: Linux centos 7 - image: centos:7 - cmp: gcc - configuration: default - base: "7.0" + #- name: "CentOS-7" + # image: centos:7 + # cmp: gcc + # configuration: default + # base: "7.0" - - name: Linux fedora latest + - name: Fedora-latest image: fedora:latest cmp: gcc configuration: default @@ -196,7 +196,7 @@ jobs: # people would rather just break all existing scripts... [ -e /usr/bin/python ] || ln -sf /usr/bin/python3 /usr/bin/python python --version - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: true - name: Prepare and compile dependencies @@ -206,9 +206,11 @@ jobs: - name: Run main module tests run: python .ci/cue.py test - name: Upload tapfiles Artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: tapfiles ${{ matrix.name }} path: '**/O.*/*.tap' + if-no-files-found: ignore - name: Collect and show test results + if: ${{ always() }} run: python .ci/cue.py test-results