1
1
name : CI
2
2
3
- on :
4
- push :
5
- branches : [ main ]
6
- pull_request :
7
- branches : [ main ]
3
+ on : [push, pull_request]
8
4
9
5
jobs :
10
6
linux-gcc :
40
36
continue-on-error : true
41
37
strategy :
42
38
matrix :
43
- clang_version : [11, 12, 13, 14, 15, 16]
39
+ clang_version : [11, 12, 13, 14, 15, 16, 17 ]
44
40
scheduler : [nemesis, sherwood, distrib]
45
41
topology : [hwloc, binders, no]
46
42
include :
@@ -56,16 +52,18 @@ jobs:
56
52
gcc_version : 12
57
53
- clang_version : 16
58
54
gcc_version : 13
55
+ - clang_version : 17
56
+ gcc_version : 13
59
57
env :
60
58
CC : clang-${{ matrix.clang_version }}
61
59
CXX : clang++-${{ matrix.clang_version }}
62
60
steps :
63
61
- uses : actions/checkout@v3
64
- - if : ${{ matrix.clang_version == '16' }}
62
+ - if : ${{ matrix.clang_version == '16' || matrix.clang_version == '17' }}
65
63
run : |
66
64
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && break || sleep 1
67
65
sudo apt-add-repository 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-${{ matrix.clang_version }} main' && break || sleep 1
68
- - if : ${{ matrix.gcc_version == '13' && ! matrix.use_libcxx }}
66
+ - if : ${{ matrix.gcc_version == '13' }}
69
67
run : sudo apt-add-repository 'ppa:ubuntu-toolchain-r/test' && break || sleep 1
70
68
- name : install gcc
71
69
run : sudo apt-get install gcc-${{ matrix.gcc_version }} g++-${{ matrix.gcc_version }}
@@ -163,6 +161,41 @@ jobs:
163
161
timeout -k 10s --foreground 6m make check
164
162
timeout-minutes : 7
165
163
164
+ linux-aocc :
165
+ runs-on : ubuntu-22.04
166
+ continue-on-error : true
167
+ strategy :
168
+ matrix :
169
+ scheduler : [nemesis, sherwood, distrib]
170
+ topology : [hwloc, binders, no]
171
+ env :
172
+ CC : clang
173
+ CXX : clang++
174
+ steps :
175
+ - uses : actions/checkout@v3
176
+ - if : ${{ matrix.topology != 'no' }}
177
+ run : |
178
+ sudo apt-get install hwloc libhwloc-dev
179
+ hwloc-ls --version
180
+ - name : install gcc
181
+ run : |
182
+ sudo apt-add-repository 'ppa:ubuntu-toolchain-r/test' && break || sleep 1
183
+ sudo apt-get install gcc-13 g++-13
184
+ - name : install aocc
185
+ run : |
186
+ wget -nv -O aocc.deb https://download.amd.com/developer/eula/aocc/aocc-4-2/aocc-compiler-4.2.0_1_amd64.deb
187
+ sudo apt install -y ./aocc.deb
188
+ clang -v
189
+ - name : build qthreads
190
+ run : |
191
+ ./autogen.sh
192
+ ./configure --enable-picky --with-scheduler=${{ matrix.scheduler }} --with-topology=${{ matrix.topology }} || cat config.log
193
+ make -j2
194
+ - name : make check
195
+ run : |
196
+ timeout -k 10s --foreground 6m make check
197
+ timeout-minutes : 7
198
+
166
199
mac :
167
200
runs-on : macos-latest
168
201
continue-on-error : true
@@ -201,11 +234,13 @@ jobs:
201
234
topology : [hwloc, binders, no]
202
235
use_libcxx : [false] # disable testing on libcxx since its effect seems very limited for now.
203
236
env :
204
- CC : clang-17
205
- CXX : clang++-17
206
- CFLAGS : " -fsanitize=${{ matrix.sanitizer }}"
207
- CXXFLAGS : ${{ matrix.use_libcxx && format('-stdlib=libc++ -fsanitize={0}', matrix.sanitizer) || format('-fsanitize={0}', matrix.sanitizer) }}
208
- LDFLAGS : " -fsanitize=${{ matrix.sanitizer }}"
237
+ CC : clang-18
238
+ CXX : clang++-18
239
+ CFLAGS : " -fsanitize=${{ matrix.sanitizer }} -fno-sanitize-recover=all"
240
+ CXXFLAGS : ${{ matrix.use_libcxx && format('-stdlib=libc++ -fsanitize={0} -fno-sanitize-recover=all', matrix.sanitizer) || format('-fsanitize={0} -fno-sanitize-recover=all', matrix.sanitizer) }}
241
+ LDFLAGS : " -fsanitize=${{ matrix.sanitizer }} -fno-sanitize-recover=all"
242
+ QTHREAD_STACK_SIZE : 2097152
243
+ ASAN_OPTIONS : " check_initialization_order=1"
209
244
steps :
210
245
- uses : actions/checkout@v3
211
246
- if : ${{ ! matrix.use_libcxx }}
@@ -215,10 +250,10 @@ jobs:
215
250
- name : install compiler
216
251
run : |
217
252
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && break || sleep 1
218
- sudo apt-add-repository 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main' && break || sleep 1
219
- sudo apt-get install clang-17
253
+ sudo apt-add-repository 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main' && break || sleep 1
254
+ sudo apt-get install clang-18
220
255
- if : ${{ matrix.use_libcxx }}
221
- run : sudo apt-get install libc++-17 -dev libc++abi-17 -dev
256
+ run : sudo apt-get install libc++-18 -dev libc++abi-18 -dev
222
257
- if : ${{ matrix.topology != 'no' }}
223
258
run : |
224
259
sudo apt-get install hwloc libhwloc-dev
@@ -246,8 +281,8 @@ jobs:
246
281
- compiler : gcc
247
282
use_libcxx : true
248
283
env :
249
- CC : ${{ matrix.compiler == 'gcc' && 'gcc-13' || 'clang-17 ' }}
250
- CXX : ${{ matrix.compiler == 'gcc' && 'g++-13' || 'clang++-17 ' }}
284
+ CC : ${{ matrix.compiler == 'gcc' && 'gcc-13' || 'clang-18 ' }}
285
+ CXX : ${{ matrix.compiler == 'gcc' && 'g++-13' || 'clang++-18 ' }}
251
286
CXXFLAGS : ${{ matrix.use_libcxx && '-stdlib=libc++' || '' }}
252
287
QTHREADS_ENABLE_ASSERTS : ${{ matrix.use_asserts && '--enable-asserts' || '' }}
253
288
steps :
@@ -258,10 +293,10 @@ jobs:
258
293
- if : ${{ matrix.compiler == 'clang' }}
259
294
run : |
260
295
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && break || sleep 1
261
- sudo apt-add-repository 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main' && break || sleep 1
262
- sudo apt-get install clang-17
296
+ sudo apt-add-repository 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main' && break || sleep 1
297
+ sudo apt-get install clang-18
263
298
- if : ${{ matrix.use_libcxx }}
264
- run : sudo apt-get install libc++-17 -dev libc++abi-17 -dev
299
+ run : sudo apt-get install libc++-18 -dev libc++abi-18 -dev
265
300
- if : ${{ matrix.topology != 'no' }}
266
301
run : |
267
302
sudo apt-get install hwloc libhwloc-dev
0 commit comments