Tests: Factor out commands from test.yml into scripts #210
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test | |
| on: | |
| push: | |
| branches: | |
| - dev | |
| - release-v3 | |
| - test-* | |
| pull_request: {} | |
| merge_group: {} | |
| jobs: | |
| test-ubuntu-24-04: | |
| name: Ubuntu 24.04 | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| auto-update-conda: true | |
| conda-remove-defaults: true | |
| - name: Install Toolchain | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install {gcc,g++}-{9,10,11,12,13,14,mingw-w64-x86-64} {clang,lld}-{14,15,16,17,18,19} ninja-build | |
| conda create -y --name cuda-env | |
| conda install -y --name cuda-env conda-forge::cuda-minimal-build | |
| rm -f "$CONDA/envs/cuda-env/bin/ld" | |
| - name: Build (GCC 9) | |
| run: tests/build-linux-gcc-9.sh | |
| - name: Build (GCC 10) | |
| run: tests/build-linux-gcc-10.sh | |
| - name: Build (GCC 11) | |
| run: tests/build-linux-gcc-11.sh | |
| - name: Build (GCC 12) | |
| run: tests/build-linux-gcc-12.sh | |
| - name: Build (GCC 13) | |
| run: tests/build-linux-gcc-13.sh | |
| - name: Build (GCC 14) | |
| run: tests/build-linux-gcc-14.sh | |
| - name: Build (Clang 14) | |
| run: tests/build-linux-clang-14.sh | |
| - name: Build (Clang 15) | |
| run: tests/build-linux-clang-15.sh | |
| - name: Build (Clang 16) | |
| run: tests/build-linux-clang-16.sh | |
| - name: Build (Clang 17) | |
| run: tests/build-linux-clang-17.sh | |
| - name: Build (Clang 18) | |
| run: tests/build-linux-clang-18.sh | |
| - name: Build (Clang 19) | |
| run: tests/build-linux-clang-19.sh | |
| - name: Build (MinGW-w64 GCC) | |
| run: tests/build-linux-mingw-w64-gcc.sh | |
| - name: Run (GCC 9) | |
| run: cd tests/build-linux-gcc-9 && ctest --output-on-failure | |
| - name: Run (GCC 10) | |
| run: cd tests/build-linux-gcc-10 && ctest --output-on-failure | |
| - name: Run (GCC 11) | |
| run: cd tests/build-linux-gcc-11 && ctest --output-on-failure | |
| - name: Run (GCC 12) | |
| run: cd tests/build-linux-gcc-12 && ctest --output-on-failure | |
| - name: Run (GCC 13) | |
| run: cd tests/build-linux-gcc-13 && ctest --output-on-failure | |
| - name: Run (GCC 14) | |
| run: cd tests/build-linux-gcc-14 && ctest --output-on-failure | |
| - name: Run (Clang 14) | |
| run: cd tests/build-linux-clang-14 && ctest --output-on-failure | |
| - name: Run (Clang 15) | |
| run: cd tests/build-linux-clang-15 && ctest --output-on-failure | |
| - name: Run (Clang 16) | |
| run: cd tests/build-linux-clang-16 && ctest --output-on-failure | |
| - name: Run (Clang 17) | |
| run: cd tests/build-linux-clang-17 && ctest --output-on-failure | |
| - name: Run (Clang 18) | |
| run: cd tests/build-linux-clang-18 && ctest --output-on-failure | |
| - name: Run (Clang 19) | |
| run: cd tests/build-linux-clang-19 && ctest --output-on-failure | |
| test-ubuntu-22-04: | |
| name: Ubuntu 22.04 | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| auto-update-conda: true | |
| conda-remove-defaults: true | |
| - name: Install Toolchain | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install {gcc,g++}-{9,10,11,12,mingw-w64-x86-64} {clang,lld}-{11,12,13,14,15} ninja-build | |
| conda create -y --name cuda-env | |
| conda install -y --name cuda-env cuda-minimal-build | |
| rm -f "$CONDA/envs/cuda-env/bin/ld" | |
| - name: Build (GCC 9) | |
| run: tests/build-linux-gcc-9.sh | |
| - name: Build (GCC 10) | |
| run: tests/build-linux-gcc-10.sh | |
| - name: Build (GCC 11) | |
| run: tests/build-linux-gcc-11.sh | |
| - name: Build (GCC 12) | |
| run: tests/build-linux-gcc-12.sh | |
| - name: Build (Clang 11) | |
| run: tests/build-linux-clang-11.sh | |
| - name: Build (Clang 12) | |
| run: tests/build-linux-clang-12.sh | |
| - name: Build (Clang 13) | |
| run: tests/build-linux-clang-13.sh | |
| - name: Build (Clang 14) | |
| run: tests/build-linux-clang-14.sh | |
| - name: Build (Clang 15) | |
| run: tests/build-linux-clang-15.sh | |
| - name: Build (MinGW-w64 GCC) | |
| run: tests/build-linux-mingw-w64-gcc.sh | |
| - name: Run (GCC 9) | |
| run: cd tests/build-linux-gcc-9 && ctest --output-on-failure | |
| - name: Run (GCC 10) | |
| run: cd tests/build-linux-gcc-10 && ctest --output-on-failure | |
| - name: Run (GCC 11) | |
| run: cd tests/build-linux-gcc-11 && ctest --output-on-failure | |
| - name: Run (GCC 12) | |
| run: cd tests/build-linux-gcc-12 && ctest --output-on-failure | |
| - name: Run (Clang 11) | |
| run: cd tests/build-linux-clang-11 && ctest --output-on-failure | |
| - name: Run (Clang 12) | |
| run: cd tests/build-linux-clang-12 && ctest --output-on-failure | |
| - name: Run (Clang 13) | |
| run: cd tests/build-linux-clang-13 && ctest --output-on-failure | |
| - name: Run (Clang 14) | |
| run: cd tests/build-linux-clang-14 && ctest --output-on-failure | |
| - name: Run (Clang 15) | |
| run: cd tests/build-linux-clang-15 && ctest --output-on-failure | |
| test-windows-2025-a: | |
| name: Windows Server 2025 (A) | |
| runs-on: windows-2025 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| auto-update-conda: true | |
| conda-remove-defaults: true | |
| - name: Conda - Create Environment | |
| shell: cmd | |
| run: conda create -y --name cuda-env | |
| - name: Conda - Install CUDA Toolchain | |
| shell: cmd | |
| run: conda install -y --name cuda-env conda-forge::cuda-minimal-build | |
| - name: Build (VS 2022) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64.bat | |
| - name: Run (VS 2022) | |
| shell: cmd | |
| run: | | |
| cd tests/build-windows-vs2022-x64 | |
| "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\ctest.exe" --output-on-failure | |
| test-windows-2025-b: | |
| name: Windows Server 2025 (B) | |
| runs-on: windows-2025 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build (VS 2022 x86) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64_x86.bat | |
| - name: Build (VS 2022 Arm64) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64_arm64.bat | |
| - name: Build (VS 2022 Arm) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64_arm.bat | |
| - name: Build (Clang-CL) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64-clang-cl.bat | |
| - name: Run (VS 2022 x86) | |
| shell: cmd | |
| run: | | |
| cd tests/build-windows-vs2022-x64_x86 | |
| "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\ctest.exe" --output-on-failure | |
| - name: Run (Clang-CL) | |
| shell: cmd | |
| run: | | |
| cd tests/build-windows-vs2022-x64-clang-cl | |
| "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\ctest.exe" --output-on-failure | |
| test-windows-2022-a: | |
| name: Windows Server 2022 (A) | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| auto-update-conda: true | |
| conda-remove-defaults: true | |
| - name: Conda - Create Environment | |
| shell: cmd | |
| run: conda create -y --name cuda-env | |
| - name: Conda - Install CUDA Toolchain | |
| shell: cmd | |
| run: conda install -y --name cuda-env conda-forge::cuda-minimal-build | |
| - name: Build (VS 2022) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64.bat | |
| - name: Run (VS 2022) | |
| shell: cmd | |
| run: | | |
| cd tests/build-windows-vs2022-x64 | |
| "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\ctest.exe" --output-on-failure | |
| test-windows-2022-b: | |
| name: Windows Server 2022 (B) | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build (VS 2022 x86) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64_x86.bat | |
| - name: Build (VS 2022 Arm64) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64_arm64.bat | |
| - name: Build (VS 2022 Arm) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64_arm.bat | |
| - name: Build (Clang-CL) | |
| shell: cmd | |
| run: | | |
| set VSPATH=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise | |
| call tests/build-windows-vs2022-x64-clang-cl.bat | |
| - name: Run (VS 2022 x86) | |
| shell: cmd | |
| run: | | |
| cd tests/build-windows-vs2022-x64_x86 | |
| "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\ctest.exe" --output-on-failure | |
| - name: Run (Clang-CL) | |
| shell: cmd | |
| run: | | |
| cd tests/build-windows-vs2022-x64-clang-cl | |
| "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\ctest.exe" --output-on-failure | |
| test-macos-15: | |
| name: macOS 15 | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Toolchain | |
| run: brew install --force-bottle gcc llvm lld mingw-w64 | |
| - name: Build (Apple Clang) | |
| run: tests/build-macos-appleclang.sh | |
| - name: Build (GCC) | |
| run: tests/build-macos-gcc.sh | |
| - name: Build (Clang) | |
| run: tests/build-macos-clang.sh | |
| - name: Build (MinGW-w64 GCC) | |
| run: tests/build-macos-mingw-w64-gcc.sh | |
| - name: Run (Apple Clang) | |
| run: cd tests/build-macos-appleclang && ctest --output-on-failure | |
| - name: Run (GCC) | |
| run: cd tests/build-macos-gcc && ctest --output-on-failure | |
| - name: Run (Clang) | |
| run: cd tests/build-macos-clang &&ctest --output-on-failure | |
| test-macos-14: | |
| name: macOS 14 | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Toolchain | |
| run: brew install --force-bottle gcc llvm lld mingw-w64 | |
| - name: Build (Apple Clang) | |
| run: tests/build-macos-appleclang.sh | |
| - name: Build (GCC) | |
| run: tests/build-macos-gcc.sh | |
| - name: Build (Clang) | |
| run: tests/build-macos-clang.sh | |
| - name: Build (MinGW-w64 GCC) | |
| run: tests/build-macos-mingw-w64-gcc.sh | |
| - name: Run (Apple Clang) | |
| run: cd tests/build-macos-appleclang && ctest --output-on-failure | |
| - name: Run (GCC) | |
| run: cd tests/build-macos-gcc && ctest --output-on-failure | |
| - name: Run (Clang) | |
| run: cd tests/build-macos-clang &&ctest --output-on-failure | |
| test-macos-13: | |
| name: macOS 13 | |
| runs-on: macos-13 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Toolchain | |
| run: brew install --force-bottle gcc llvm lld mingw-w64 | |
| - name: Build (Apple Clang) | |
| run: tests/build-macos-appleclang.sh | |
| - name: Build (GCC) | |
| run: tests/build-macos-gcc.sh | |
| - name: Build (Clang) | |
| run: tests/build-macos-clang.sh | |
| - name: Build (MinGW-w64 GCC) | |
| run: tests/build-macos-mingw-w64-gcc.sh | |
| - name: Run (Apple Clang) | |
| run: cd tests/build-macos-appleclang && ctest --output-on-failure | |
| - name: Run (GCC) | |
| run: cd tests/build-macos-gcc && ctest --output-on-failure | |
| - name: Run (Clang) | |
| run: cd tests/build-macos-clang &&ctest --output-on-failure |