Skip to content

Tests: Factor out commands from test.yml into scripts #210

Tests: Factor out commands from test.yml into scripts

Tests: Factor out commands from test.yml into scripts #210

Workflow file for this run

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