@@ -251,81 +251,102 @@ jobs:
251
251
matrix :
252
252
fips : [0, 1]
253
253
compiler :
254
- - ['gcc9', 1, 'gcc', 'g++']
255
- - ['gcc10', 1, 'gcc', 'g++']
256
- - ['gcc11', 1, 'gcc', 'g++']
257
- - ['gcc12', 1, 'gcc', 'g++']
258
- - ['gcc13', 1, 'gcc', 'g++']
259
- - ['gcc14', 0, 'gcc', 'g++']
260
- - ['gcc15', 0, 'gcc', 'g++']
261
- - ['gcc16', 0, 'gcc', 'g++']
262
- - ['clang14', 1, 'clang', 'clang++']
263
- - ['clang15', 1, 'clang', 'clang++']
264
- - ['clang16', 1, 'clang', 'clang++']
265
- - ['clang17', 1, 'clang', 'clang++']
266
- - ['clang18', 1, 'clang', 'clang++']
267
- - ['clang19', 1, 'clang', 'clang++']
268
- - ['clang20', 1, 'clang', 'clang++']
269
- - ['clang21', 1, 'clang', 'clang++']
254
+ - ' gcc9'
255
+ - ' gcc10'
256
+ - ' gcc11'
257
+ - ' gcc12'
258
+ - ' gcc13'
259
+ - ' gcc14'
260
+ - ' gcc15'
261
+ - ' gcc16'
262
+ - ' clang14'
263
+ - ' clang15'
264
+ - ' clang16'
265
+ - ' clang17'
266
+ - ' clang18'
267
+ - ' clang19'
268
+ - ' clang20'
269
+ - ' clang21'
270
+ exclude :
271
+ - fips : 1
272
+ compiler : ' gcc14'
273
+ - fips : 1
274
+ compiler : ' gcc15'
275
+ - fips : 1
276
+ compiler : ' gcc16'
270
277
runs-on : ubuntu-latest
271
278
container :
272
- image : ghcr.io/mattkretz/cplusplus-ci/${{ matrix.compiler[0] }}
279
+ image : ghcr.io/mattkretz/cplusplus-ci/${{ matrix.compiler }}
273
280
steps :
274
281
- uses : actions/checkout@v4
275
- if : matrix.fips == 0 || matrix.compiler[1] == 1
276
282
- uses : actions/setup-go@v4
277
- if : matrix.fips == 0 || matrix.compiler[1] == 1
278
283
with :
279
284
go-version : ' >=1.18'
285
+ - name : Setup Clang
286
+ if : startsWith('clang', matrix.compiler)
287
+ run : |
288
+ echo "CC=clang" >> $GITHUB_ENV
289
+ echo "CXX=clang++" >> $GITHUB_ENV
290
+ - name : Setup GCC
291
+ if : startsWith('gcc', matrix.compiler)
292
+ run : |
293
+ echo "CC=gcc" >> $GITHUB_ENV
294
+ echo "CXX=g++" >> $GITHUB_ENV
280
295
- name : Setup Build
281
296
if : matrix.fips == 0
282
297
run :
283
- cmake -G Ninja -B ./build -DCMAKE_C_COMPILER=${{ matrix.compiler[2] }} -DCMAKE_CXX_COMPILER=${{ matrix.compiler[3] }} - DCMAKE_BUILD_TYPE=Release
298
+ cmake -G Ninja -B ./build -DCMAKE_BUILD_TYPE=Release
284
299
- name : Setup FIPS Build
285
- if : matrix.fips == 1 && matrix.compiler[1] == 1
300
+ if : matrix.fips == 1
286
301
run :
287
- cmake -G Ninja -B ./build -DCMAKE_C_COMPILER=${{ matrix.compiler[2] }} -DCMAKE_CXX_COMPILER=${{ matrix.compiler[3] }} - DCMAKE_BUILD_TYPE=Release -DFIPS=1
302
+ cmake -G Ninja -B ./build -DCMAKE_BUILD_TYPE=Release -DFIPS=1
288
303
- name : Build Project
289
- if : matrix.fips == 0 || matrix.compiler[1] == 1
290
304
run : cmake --build ./build --target all
291
305
- name : Run tests
292
- if : matrix.fips == 0 || matrix.compiler[1] == 1
293
306
run : cmake --build ./build --target run_tests
294
307
295
308
pedantic-tests :
296
309
env :
297
- CC : gcc
298
- CXX : g++
310
+ GOFLAGS : " -buildvcs=false"
299
311
strategy :
300
312
fail-fast : false
301
313
matrix :
302
- fips : [ 0, 1 ]
314
+ fips : [0, 1]
303
315
compiler :
304
- - [ 'gcc15', 0, 'gcc', 'g++' ]
305
- - [ 'clang20', 1, 'clang', 'clang++' ]
316
+ - ' gcc15'
317
+ - ' clang20'
318
+ exclude :
319
+ - fips : 1
320
+ compiler : ' gcc15'
306
321
runs-on : ubuntu-latest
307
322
container :
308
- image : ghcr.io/mattkretz/cplusplus-ci/${{ matrix.compiler[0] }}
323
+ image : ghcr.io/mattkretz/cplusplus-ci/${{ matrix.compiler }}
309
324
steps :
310
325
- uses : actions/checkout@v4
311
- if : matrix.fips == 0 || matrix.compiler[1] == 1
312
326
- uses : actions/setup-go@v4
313
- if : matrix.fips == 0 || matrix.compiler[1] == 1
314
327
with :
315
328
go-version : ' >=1.18'
329
+ - name : Setup Clang
330
+ if : startsWith(matrix.compiler, 'clang')
331
+ run : |
332
+ echo "CC=clang" >> $GITHUB_ENV
333
+ echo "CXX=clang++" >> $GITHUB_ENV
334
+ - name : Setup GCC
335
+ if : startsWith(matrix.compiler, 'gcc')
336
+ run : |
337
+ echo "CC=gcc" >> $GITHUB_ENV
338
+ echo "CXX=g++" >> $GITHUB_ENV
316
339
- name : Setup Build
317
340
if : matrix.fips == 0
318
341
run :
319
- cmake -G Ninja -B ./build -DCMAKE_C_COMPILER=${{ matrix.compiler[2] }} -DCMAKE_CXX_COMPILER=${{ matrix.compiler[3] }} - DCMAKE_BUILD_TYPE=Release CMAKE_C_FLAGS=-pedantic CMAKE_CXX_FLAGS=-pedantic
342
+ cmake -G Ninja -B ./build -DCMAKE_BUILD_TYPE=Release CMAKE_C_FLAGS=-pedantic CMAKE_CXX_FLAGS=-pedantic
320
343
- name : Setup FIPS Build
321
- if : matrix.fips == 1 && matrix.compiler[1] == 1
344
+ if : matrix.fips == 1
322
345
run :
323
- cmake -G Ninja -B ./build -DCMAKE_C_COMPILER=${{ matrix.compiler[2] }} -DCMAKE_CXX_COMPILER=${{ matrix.compiler[3] }} -DCMAKE_BUILD_TYPE=Release CMAKE_C_FLAGS=-pedantic CMAKE_CXX_FLAGS=-pedantic -DFIPS=1
346
+ cmake -G Ninja -B ./build -DCMAKE_BUILD_TYPE=Release -DFIPS=1 CMAKE_C_FLAGS=-pedantic CMAKE_CXX_FLAGS=-pedantic
324
347
- name : Build Project
325
- if : matrix.fips == 0 || matrix.compiler[1] == 1
326
348
run : cmake --build ./build --target all
327
349
- name : Run tests
328
- if : matrix.fips == 0 || matrix.compiler[1] == 1
329
350
run : cmake --build ./build --target run_tests
330
351
331
352
OpenBSD :
0 commit comments