@@ -16,58 +16,98 @@ jobs:
1616 fail-fast : false
1717 matrix :
1818 compiler :
19- - { tool: gcc, ver: 7 }
20- - { tool: gcc, ver: 8 }
21- - { tool: gcc, ver: 9 }
22- - { tool: gcc, ver: 10 }
23- - { tool: gcc, ver: 11 }
24- - { tool: gcc, ver: 12 }
25- - { tool: gcc, ver: 13 }
26- - { tool: clang, ver: 7 }
27- - { tool: clang, ver: 8 }
28- - { tool: clang, ver: 9 }
29- - { tool: clang, ver: 10 }
30- - { tool: clang, ver: 11 }
31- - { tool: clang, ver: 12 }
32- - { tool: clang, ver: 13 }
33- - { tool: clang, ver: 14 }
34- - { tool: clang, ver: 15 }
19+ - { name: GCC, ver: 7 }
20+ - { name: GCC, ver: 8 }
21+ - { name: GCC, ver: 9 }
22+ - { name: GCC, ver: 10 }
23+ - { name: GCC, ver: 11 }
24+ - { name: GCC, ver: 12 }
25+ - { name: GCC, ver: 13 }
26+ - { name: GCC, ver: 14 }
27+ - { name: Clang, ver: 7 }
28+ - { name: Clang, ver: 8 }
29+ - { name: Clang, ver: 9 }
30+ - { name: Clang, ver: 10 }
31+ - { name: Clang, ver: 11 }
32+ - { name: Clang, ver: 12 }
33+ - { name: Clang, ver: 13 }
34+ - { name: Clang, ver: 14 }
35+ - { name: Clang, ver: 15 }
36+ - { name: Clang, ver: 16 }
37+ - { name: Clang, ver: 17 }
38+ - { name: Clang, ver: 18 }
3539 build_type : [ Release ]
36- os : [ ubuntu-20.04, ubuntu-22.04 ]
37- std : [ 17 ]
40+ os : [ ubuntu-20.04, ubuntu-22.04, ubuntu-24.04 ]
41+ std : [ 17, 20, 23 ]
3842 library_type : [ Static ]
3943 include :
40- - compiler : { tool: gcc }
44+ - compiler : { name: GCC }
4145 cxx : g++
4246 cc : gcc
47+ packages : ' gcc-{0} g++-{0}'
4348 generator : Ninja
44- - compiler : { tool: clang }
49+ - compiler : { name: Clang }
4550 cxx : clang++
4651 cc : clang
52+ packages : ' clang-{0}'
4753 generator : Ninja
4854 exclude :
49- - { os: ubuntu-20.04, compiler: { tool: gcc, ver: 12 } }
50- - { os: ubuntu-20.04, compiler: { tool: gcc, ver: 13 } }
51- - { os: ubuntu-20.04, compiler: { tool: clang, ver: 13 } }
52- - { os: ubuntu-20.04, compiler: { tool: clang, ver: 14 } }
53- - { os: ubuntu-20.04, compiler: { tool: clang, ver: 15 } }
54- - { os: ubuntu-22.04, compiler: { tool: gcc, ver: 7 } }
55- - { os: ubuntu-22.04, compiler: { tool: gcc, ver: 8 } }
56- - { os: ubuntu-22.04, compiler: { tool: clang, ver: 7 } }
57- - { os: ubuntu-22.04, compiler: { tool: clang, ver: 8 } }
58- - { os: ubuntu-22.04, compiler: { tool: clang, ver: 9 } }
59- - { os: ubuntu-22.04, compiler: { tool: clang, ver: 10 } }
55+ - { os: ubuntu-20.04, compiler: { name: GCC, ver: 11 } }
56+ - { os: ubuntu-20.04, compiler: { name: GCC, ver: 12 } }
57+ - { os: ubuntu-20.04, compiler: { name: GCC, ver: 13 } }
58+ - { os: ubuntu-20.04, compiler: { name: GCC, ver: 14 } }
59+ - { os: ubuntu-20.04, compiler: { name: Clang, ver: 13 } }
60+ - { os: ubuntu-20.04, compiler: { name: Clang, ver: 14 } }
61+ - { os: ubuntu-20.04, compiler: { name: Clang, ver: 15 } }
62+ - { os: ubuntu-20.04, compiler: { name: Clang, ver: 16 } }
63+ - { os: ubuntu-20.04, compiler: { name: Clang, ver: 17 } }
64+ - { os: ubuntu-20.04, compiler: { name: Clang, ver: 18 } }
65+ - { os: ubuntu-22.04, compiler: { name: GCC, ver: 7 } }
66+ - { os: ubuntu-22.04, compiler: { name: GCC, ver: 8 } }
67+ - { os: ubuntu-22.04, compiler: { name: GCC, ver: 13 } }
68+ - { os: ubuntu-22.04, compiler: { name: GCC, ver: 14 } }
69+ - { os: ubuntu-22.04, compiler: { name: Clang, ver: 7 } }
70+ - { os: ubuntu-22.04, compiler: { name: Clang, ver: 8 } }
71+ - { os: ubuntu-22.04, compiler: { name: Clang, ver: 9 } }
72+ - { os: ubuntu-22.04, compiler: { name: Clang, ver: 10 } }
73+ - { os: ubuntu-22.04, compiler: { name: Clang, ver: 16 } }
74+ - { os: ubuntu-22.04, compiler: { name: Clang, ver: 17 } }
75+ - { os: ubuntu-22.04, compiler: { name: Clang, ver: 18 } }
76+ - { os: ubuntu-24.04, compiler: { name: GCC, ver: 7 } }
77+ - { os: ubuntu-24.04, compiler: { name: GCC, ver: 8 } }
78+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 7 } }
79+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 8 } }
80+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 9 } }
81+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 10 } }
82+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 11 } }
83+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 12 } }
84+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 13 } }
85+ - { compiler: { name: GCC, ver: 7 }, std: 20 }
86+ - { compiler: { name: GCC, ver: 7 }, std: 23 }
87+ - { compiler: { name: GCC, ver: 8 }, std: 23 }
88+ - { compiler: { name: GCC, ver: 9 }, std: 23 }
89+ - { compiler: { name: GCC, ver: 10 }, std: 23 }
90+ - { compiler: { name: Clang, ver: 7 }, std: 20 }
91+ - { compiler: { name: Clang, ver: 7 }, std: 23 }
92+ - { compiler: { name: Clang, ver: 8 }, std: 20 }
93+ - { compiler: { name: Clang, ver: 8 }, std: 23 }
94+ - { compiler: { name: Clang, ver: 9 }, std: 23 }
95+ - { compiler: { name: Clang, ver: 10 }, std: 23 }
96+ - { compiler: { name: Clang, ver: 11 }, std: 23 }
97+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 14 }, std: 20 } # gtest broken for now
98+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 14 }, std: 23 } # gtest broken for now
99+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 15 }, std: 20 } # gtest broken for now
100+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 15 }, std: 23 } # gtest broken for now
101+ - { os: ubuntu-24.04, compiler: { name: Clang, ver: 17 }, std: 23 } # gtest broken for now
60102
61103 runs-on : ${{matrix.os}}
62104 steps :
63105 - uses : actions/checkout@v4
64106
65107 - name : Create Build Environment
66- env :
67- PACKAGES : ${{ matrix.compiler.tool == 'gcc' && format('gcc-{0} g++-{0}', matrix.compiler.ver) || format('{0}-{1}', matrix.compiler.tool, matrix.compiler.ver) }}
68108 run : |
69109 sudo apt update
70- sudo apt install ${{env.PACKAGES }} ninja-build -y
110+ sudo apt install ${{format(matrix.packages, matrix.compiler.ver) }} ninja-build -y
71111 sudo apt install locales-all
72112 cmake -E make_directory ${{runner.workspace}}/build
73113
0 commit comments