Skip to content

Commit 4391de8

Browse files
committed
compiler tests
1 parent daf6f62 commit 4391de8

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

.github/workflows/ci_tests.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,65 @@ jobs:
120120
- name: Test Debug
121121
run: ctest --test-dir build --build-config Debug
122122

123+
compiler-test:
124+
runs-on: ubuntu-latest
125+
strategy:
126+
fail-fast: false
127+
matrix:
128+
compilers:
129+
- class: gnu
130+
version: 14
131+
- class: gnu
132+
version: 13
133+
- class: gnu
134+
version: 12
135+
- class: llvm
136+
version: 20
137+
- class: llvm
138+
version: 19
139+
- class: llvm
140+
version: 18
141+
- class: llvm
142+
version: 17
143+
container:
144+
image: ghcr.io/wusatosi/cpp-docker:${{ compilers.class }}-${{ compilers.version }}
145+
name: "Compiler: ${{ matrix.compilers.class }} ${{ matrix.compilers.version }}"
146+
steps:
147+
- uses: actions/checkout@v4
148+
- name: Setup build environment
149+
uses: lukka/get-cmake@latest
150+
with:
151+
cmakeVersion: "~3.25.0"
152+
ninjaVersion: "^1.11.1"
153+
- name: Install Compiler
154+
id: install-compiler
155+
run: |
156+
if [ "${{ matrix.compilers.class }}" = "GNU" ]; then
157+
CC=gcc-${{ matrix.compilers.version }}
158+
CXX=g++-${{ matrix.compilers.version }}
159+
else
160+
CC=clang-${{ matrix.compilers.version }}
161+
CXX=clang++-${{ matrix.compilers.version }}
162+
fi
163+
164+
echo "CC=$CC" >> "$GITHUB_OUTPUT"
165+
echo "CXX=$CXX" >> "$GITHUB_OUTPUT"
166+
- name: Configure CMake
167+
run: |
168+
cmake -B build -S . -DCMAKE_CXX_STANDARD=20
169+
env:
170+
CC: ${{ steps.install-compiler.outputs.CC }}
171+
CXX: ${{ steps.install-compiler.outputs.CXX }}
172+
CMAKE_GENERATOR: "Ninja Multi-Config"
173+
- name: Build Debug
174+
run: |
175+
cmake --build build --config Debug --verbose
176+
cmake --build build --config Debug --target all_verify_interface_header_sets
177+
cmake --install build --config Debug --prefix /opt/beman.exemplar
178+
find /opt/beman.exemplar -type f
179+
- name: Test Debug
180+
run: ctest --test-dir build --build-config Debug
181+
123182
create-issue-when-fault:
124183
runs-on: ubuntu-latest
125184
needs: [test]

0 commit comments

Comments
 (0)