Skip to content

Add CI testing

Add CI testing #20

Workflow file for this run

name: Test
on: [pull_request, merge_group]
jobs:
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
- name: install-prerequisites
run: |
sudo apt-get update
sudo apt-get -y install {gcc,g++}-{9,10,11,12} clang-{11,12,13,14,15}
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: |
cd tests
mkdir build-gcc-9
cd build-gcc-9
cmake .. -DCMAKE_C_COMPILER=gcc-9 -DCMAKE_CXX_COMPILER=g++-9 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-gcc-10
run: |
cd tests
mkdir build-gcc-10
cd build-gcc-10
cmake .. -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-gcc-11
run: |
cd tests
mkdir build-gcc-11
cd build-gcc-11
cmake .. -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-gcc-12
run: |
cd tests
mkdir build-gcc-12
cd build-gcc-12
cmake .. -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-11
run: |
cd tests
mkdir build-clang-11
cd build-clang-11
cmake .. -DCMAKE_C_COMPILER=clang-11 -DCMAKE_CXX_COMPILER=clang++-11 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-12
run: |
cd tests
mkdir build-clang-12
cd build-clang-12
cmake .. -DCMAKE_C_COMPILER=clang-12 -DCMAKE_CXX_COMPILER=clang++-12 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-13
run: |
cd tests
mkdir build-clang-13
cd build-clang-13
cmake .. -DCMAKE_C_COMPILER=clang-13 -DCMAKE_CXX_COMPILER=clang++-13 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-14
run: |
cd tests
mkdir build-clang-14
cd build-clang-14
cmake .. -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-15
run: |
cd tests
mkdir build-clang-15
cd build-clang-15
cmake .. -DCMAKE_C_COMPILER=clang-15 -DCMAKE_CXX_COMPILER=clang++-15 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: run-gcc-9
run: |
cd tests/build-gcc-9
../runalltests.sh
- name: run-gcc-10
run: |
cd tests/build-gcc-10
../runalltests.sh
- name: run-gcc-11
run: |
cd tests/build-gcc-11
../runalltests.sh
- name: run-gcc-12
run: |
cd tests/build-gcc-12
../runalltests.sh
- name: run-clang-11
run: |
cd tests/build-clang-11
../runalltests.sh
- name: run-clang-12
run: |
cd tests/build-clang-12
../runalltests.sh
- name: run-clang-13
run: |
cd tests/build-clang-13
../runalltests.sh
- name: run-clang-14
run: |
cd tests/build-clang-14
../runalltests.sh
- name: run-clang-15
run: |
cd tests/build-clang-15
../runalltests.sh
test-ubuntu-20-04:
name: Ubuntu 20.04
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
- name: install-prerequisites
run: |
sudo apt-get update
sudo apt-get -y install {gcc,g++}-{7,8,9,10} clang-{7,8,9,10,11,12}
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-7
run: |
cd tests
mkdir build-gcc-7
cd build-gcc-7
cmake .. -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-gcc-8
run: |
cd tests
mkdir build-gcc-8
cd build-gcc-8
cmake .. -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-gcc-9
run: |
cd tests
mkdir build-gcc-9
cd build-gcc-9
cmake .. -DCMAKE_C_COMPILER=gcc-9 -DCMAKE_CXX_COMPILER=g++-9 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-gcc-10
run: |
cd tests
mkdir build-gcc-10
cd build-gcc-10
cmake .. -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-7
run: |
cd tests
mkdir build-clang-7
cd build-clang-7
cmake .. -DCMAKE_C_COMPILER=clang-7 -DCMAKE_CXX_COMPILER=clang++-7 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-8
run: |
cd tests
mkdir build-clang-8
cd build-clang-8
cmake .. -DCMAKE_C_COMPILER=clang-8 -DCMAKE_CXX_COMPILER=clang++-8 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-9
run: |
cd tests
mkdir build-clang-9
cd build-clang-9
cmake .. -DCMAKE_C_COMPILER=clang-9 -DCMAKE_CXX_COMPILER=clang++-9 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-10
run: |
cd tests
mkdir build-clang-10
cd build-clang-10
cmake .. -DCMAKE_C_COMPILER=clang-10 -DCMAKE_CXX_COMPILER=clang++-10 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-11
run: |
cd tests
mkdir build-clang-11
cd build-clang-11
cmake .. -DCMAKE_C_COMPILER=clang-11 -DCMAKE_CXX_COMPILER=clang++-11 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: build-clang-12
run: |
cd tests
mkdir build-clang-12
cd build-clang-12
cmake .. -DCMAKE_C_COMPILER=clang-12 -DCMAKE_CXX_COMPILER=clang++-12 -DCMAKE_CUDA_COMPILER="$CONDA/envs/cuda-env/bin/nvcc"
make -j2
- name: run-gcc-7
run: |
cd tests/build-gcc-7
../runalltests.sh
- name: run-gcc-8
run: |
cd tests/build-gcc-8
../runalltests.sh
- name: run-gcc-9
run: |
cd tests/build-gcc-9
../runalltests.sh
- name: run-gcc-10
run: |
cd tests/build-gcc-10
../runalltests.sh
- name: run-clang-7
run: |
cd tests/build-clang-7
../runalltests.sh
- name: run-clang-8
run: |
cd tests/build-clang-8
../runalltests.sh
- name: run-clang-9
run: |
cd tests/build-clang-9
../runalltests.sh
- name: run-clang-10
run: |
cd tests/build-clang-10
../runalltests.sh
- name: run-clang-11
run: |
cd tests/build-clang-11
../runalltests.sh
- name: run-clang-12
run: |
cd tests/build-clang-12
../runalltests.sh
test-windows-2022:
name: Windows Server 2022
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
- name: install-prerequisites
shell: cmd
run: |
conda create -y --name cuda-env
conda install -y --name cuda-env cuda-minimal-build
- name: build
shell: cmd
run: |
cd tests
mkdir build
cd build
"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" && conda run --name cuda-env cmake -G "NMake Makefiles" .. && nmake
- name: run
shell: cmd
run: |
cd tests/build
../runalltests.bat
test-windows-2019:
name: Windows Server 2019
runs-on: windows-2019
steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
- name: install-prerequisites
shell: cmd
run: |
conda create -y --name cuda-env
conda install -y --name cuda-env cuda-minimal-build
- name: build
shell: cmd
run: |
cd tests
mkdir build
cd build
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" && conda run --name cuda-env cmake -G "NMake Makefiles" .. && nmake
- name: run
shell: cmd
run: |
cd tests/build
../runalltests.bat