From d488b9d0064097da66577e8d95dabba81eda900b Mon Sep 17 00:00:00 2001 From: scivision Date: Mon, 22 Sep 2025 08:43:43 -0400 Subject: [PATCH 1/3] CI use latest Github actions --- .github/workflows/emscripten.yml | 4 ++-- .github/workflows/install.yml | 4 ++-- .github/workflows/install_download_all.yml | 4 ++-- .github/workflows/linux.yml | 4 ++-- .github/workflows/macos.yml | 4 ++-- .github/workflows/windows.yml | 4 ++-- .github/workflows/windows_shared.yml | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 3d879ad1..052f89ed 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -21,9 +21,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - # - uses: actions/cache@v3 + # - uses: actions/cache@v4 # with: # path: "**/cpm_modules" # key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 66218533..6b850918 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -20,9 +20,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: "**/cpm_modules" key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} diff --git a/.github/workflows/install_download_all.yml b/.github/workflows/install_download_all.yml index a8356871..df8df531 100644 --- a/.github/workflows/install_download_all.yml +++ b/.github/workflows/install_download_all.yml @@ -20,9 +20,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: "**/cpm_modules" key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 40b492fd..f7481793 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -21,9 +21,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: "**/cpm_modules" key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index be433632..8116c82a 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -20,9 +20,9 @@ jobs: runs-on: macos-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: "**/cpm_modules" key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index d4b15a1f..96a3d498 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -24,9 +24,9 @@ jobs: std: [20] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: "**/cpm_modules" key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} diff --git a/.github/workflows/windows_shared.yml b/.github/workflows/windows_shared.yml index adced379..8bb521df 100644 --- a/.github/workflows/windows_shared.yml +++ b/.github/workflows/windows_shared.yml @@ -24,9 +24,9 @@ jobs: std: [20] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: "**/cpm_modules" key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} From ec4dfb6ece47378f723c83e931d1d1fa9b8f0816 Mon Sep 17 00:00:00 2001 From: scivision Date: Mon, 22 Sep 2025 08:47:40 -0400 Subject: [PATCH 2/3] CI use current CTest syntax --- .github/workflows/emscripten.yml | 3 +-- .github/workflows/install.yml | 4 +--- .github/workflows/install_download_all.yml | 4 +--- .github/workflows/linux.yml | 4 +--- .github/workflows/macos.yml | 4 +--- .github/workflows/windows.yml | 4 +--- .github/workflows/windows_shared.yml | 4 +--- 7 files changed, 7 insertions(+), 20 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 052f89ed..b4a277ff 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -54,5 +54,4 @@ jobs: - name: test run: | source ~/emsdk/emsdk_env.sh - cd build - ctest --build-config Debug -j4 --verbose + ctest --test-dir build --build-config Debug -j4 --verbose diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 6b850918..007bf4df 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -44,6 +44,4 @@ jobs: run: cmake --build build --config Debug -j4 --verbose - name: test - run: | - cd build - ctest --build-config Debug -j4 --verbose + run: ctest --test-dir build --build-config Debug -j4 --verbose diff --git a/.github/workflows/install_download_all.yml b/.github/workflows/install_download_all.yml index df8df531..536715f4 100644 --- a/.github/workflows/install_download_all.yml +++ b/.github/workflows/install_download_all.yml @@ -44,6 +44,4 @@ jobs: run: cmake --build build --config Debug -j4 --verbose - name: test - run: | - cd build - ctest --build-config Debug -j4 --verbose + run: ctest --test-dir build --build-config Debug -j4 --verbose diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index f7481793..2cfce08d 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -35,6 +35,4 @@ jobs: run: cmake --build build -j4 --verbose - name: test - run: | - cd build - ctest --build-config Debug -j4 --verbose + run: ctest --test-dir build --build-config Debug -j4 --verbose diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 8116c82a..91145594 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -47,9 +47,7 @@ jobs: - name: test shell: bash - run: | - cd build - ctest --build-config Debug -j4 --verbose + run: ctest --test-dir build --build-config Debug -j4 --verbose - name: Run clang-tidy shell: bash diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 96a3d498..d1eb43e1 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -39,6 +39,4 @@ jobs: run: cmake --build build --config Debug -j4 --verbose - name: test - run: | - cd build - ctest --build-config Debug -j4 --verbose + run: ctest --test-dir build --build-config Debug -j4 --verbose diff --git a/.github/workflows/windows_shared.yml b/.github/workflows/windows_shared.yml index 8bb521df..57177c6f 100644 --- a/.github/workflows/windows_shared.yml +++ b/.github/workflows/windows_shared.yml @@ -39,6 +39,4 @@ jobs: run: cmake --build build --config Debug -j4 --verbose - name: test - run: | - cd build - ctest --build-config Debug -j4 --verbose + run: ctest --test-dir build --build-config Debug -j4 --verbose From 93a3b09abe1a3810e41e006b3d84b09f403424b3 Mon Sep 17 00:00:00 2001 From: scivision Date: Mon, 22 Sep 2025 08:52:27 -0400 Subject: [PATCH 3/3] CI macOS also test with GCC Ninja is installed by default on GA runner image This would have detected the problem in #686 --- .github/workflows/macos.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 91145594..bd299361 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -19,6 +19,10 @@ jobs: build: runs-on: macos-latest + strategy: + matrix: + cxx: [clang++, g++-15] + steps: - uses: actions/checkout@v5 @@ -27,29 +31,26 @@ jobs: path: "**/cpm_modules" key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} - - name: Install ninja and python - shell: bash - run: brew install llvm clang-format ninja python pipx + - name: Install python + run: brew install llvm clang-format python pipx - name: Install builddriver - shell: bash run: pipx install builddriver cmake_format==0.6.11 pyaml - name: configure - shell: bash run: | cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBOOST_UT_ENABLE_RUN_AFTER_BUILD=NO \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON --log-level=DEBUG -DFETCHCONTENT_QUIET=OFF + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON --log-level=DEBUG -DFETCHCONTENT_QUIET=OFF -DCMAKE_CXX_COMPILER=${{matrix.cxx}} - name: build run: cmake --build build -j4 --verbose - name: test - shell: bash run: ctest --test-dir build --build-config Debug -j4 --verbose - name: Run clang-tidy + if: matrix.cc == 'clang' shell: bash run: | export PATH=$(brew --prefix llvm)/bin:${PATH}