@@ -301,6 +301,122 @@ jobs:
301
301
PPC_ASAN_RUN : 1
302
302
ASAN_OPTIONS : abort_on_error=1
303
303
UBSAN_OPTIONS : halt_on_error=1
304
+ ubuntu-clang-thread-sanitizer-build :
305
+ needs :
306
+ - ubuntu-clang-build
307
+ runs-on : ${{ matrix.os }}
308
+ strategy :
309
+ matrix :
310
+ os : ["ubuntu-24.04"]
311
+ steps :
312
+ - uses : actions/checkout@v4
313
+ with :
314
+ submodules : recursive
315
+ - name : Setup environment
316
+ run : |
317
+ sudo apt-get update
318
+ sudo apt-get install --no-install-recommends -y ninja-build python3-pip \
319
+ openmpi-bin openmpi-common libopenmpi-dev
320
+ wget https://apt.llvm.org/llvm.sh
321
+ chmod u+x llvm.sh
322
+ sudo ./llvm.sh 20 all
323
+ - name : ccache
324
+ uses :
hendrikmuhs/[email protected]
325
+ with :
326
+ key : ${{ runner.os }}-clang
327
+ create-symlink : true
328
+ max-size : 1G
329
+ - name : CMake configure
330
+ run : >
331
+ cmake -S . -B build -G Ninja
332
+ -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
333
+ -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_THREAD_SANITIZER=ON
334
+ -D CMAKE_INSTALL_PREFIX=install
335
+ env :
336
+ CC : clang-20
337
+ CXX : clang++-20
338
+ - name : Build project
339
+ run : |
340
+ cmake --build build --parallel
341
+ env :
342
+ CC : clang-20
343
+ CXX : clang++-20
344
+ - name : Install project
345
+ run : |
346
+ cmake --build build --target install
347
+ - name : Archive installed package
348
+ run : |
349
+ tar -czvf ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}.tar.gz -C install .
350
+ - name : Upload installed package
351
+ uses : actions/upload-artifact@v4
352
+ with :
353
+ name : ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}
354
+ path : ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}.tar.gz
355
+ ubuntu-clang-thread-sanitizer-test :
356
+ needs :
357
+ - ubuntu-clang-thread-sanitizer-build
358
+ runs-on : ${{ matrix.os }}
359
+ strategy :
360
+ matrix :
361
+ os : ["ubuntu-24.04"]
362
+ steps :
363
+ - uses : actions/checkout@v4
364
+ - name : Setup environment
365
+ run : |
366
+ sudo apt-get update
367
+ sudo apt-get install --no-install-recommends -y ninja-build python3-pip valgrind \
368
+ openmpi-bin openmpi-common libopenmpi-dev
369
+ wget https://apt.llvm.org/llvm.sh
370
+ chmod u+x llvm.sh
371
+ sudo ./llvm.sh 20 all
372
+ - name : Download installed package
373
+ uses : actions/download-artifact@v4
374
+ with :
375
+ name : ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}
376
+ - name : Extract installed package
377
+ run : |
378
+ mkdir -p install
379
+ tar -xzvf ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}.tar.gz -C install
380
+ - name : Run tests (MPI)
381
+ run : python3 scripts/run_tests.py --running-type="processes" --additional-mpi-args="--oversubscribe"
382
+ env :
383
+ PPC_NUM_PROC : 2
384
+ PPC_NUM_THREADS : 2
385
+ PPC_ASAN_RUN : 1
386
+ ASAN_OPTIONS : abort_on_error=1
387
+ UBSAN_OPTIONS : halt_on_error=1
388
+ - name : Run tests (threads, num_threads=1)
389
+ run : python3 scripts/run_tests.py --running-type="threads"
390
+ env :
391
+ PPC_NUM_PROC : 1
392
+ PPC_NUM_THREADS : 1
393
+ PPC_ASAN_RUN : 1
394
+ ASAN_OPTIONS : abort_on_error=1
395
+ UBSAN_OPTIONS : halt_on_error=1
396
+ - name : Run tests (threads, num_threads=2)
397
+ run : python3 scripts/run_tests.py --running-type="threads"
398
+ env :
399
+ PPC_NUM_PROC : 1
400
+ PPC_NUM_THREADS : 2
401
+ PPC_ASAN_RUN : 1
402
+ ASAN_OPTIONS : abort_on_error=1
403
+ UBSAN_OPTIONS : halt_on_error=1
404
+ - name : Run tests (threads, num_threads=3)
405
+ run : python3 scripts/run_tests.py --running-type="threads"
406
+ env :
407
+ PPC_NUM_PROC : 1
408
+ PPC_NUM_THREADS : 3
409
+ PPC_ASAN_RUN : 1
410
+ ASAN_OPTIONS : abort_on_error=1
411
+ UBSAN_OPTIONS : halt_on_error=1
412
+ - name : Run tests (threads, num_threads=4)
413
+ run : python3 scripts/run_tests.py --running-type="threads"
414
+ env :
415
+ PPC_NUM_PROC : 1
416
+ PPC_NUM_THREADS : 4
417
+ PPC_ASAN_RUN : 1
418
+ ASAN_OPTIONS : abort_on_error=1
419
+ UBSAN_OPTIONS : halt_on_error=1
304
420
ubuntu-clang-sanitizer-test-extended :
305
421
needs :
306
422
- ubuntu-clang-sanitizer-test
0 commit comments