@@ -474,6 +474,122 @@ jobs:
474
474
PPC_ASAN_RUN : 1
475
475
ASAN_OPTIONS : abort_on_error=1
476
476
UBSAN_OPTIONS : halt_on_error=1
477
+ ubuntu-clang-thread-sanitizer-build :
478
+ needs :
479
+ - ubuntu-clang-build
480
+ runs-on : ${{ matrix.os }}
481
+ strategy :
482
+ matrix :
483
+ os : ["ubuntu-24.04"]
484
+ steps :
485
+ - uses : actions/checkout@v4
486
+ with :
487
+ submodules : recursive
488
+ - name : Setup environment
489
+ run : |
490
+ sudo apt-get update
491
+ sudo apt-get install --no-install-recommends -y ninja-build python3-pip \
492
+ openmpi-bin openmpi-common libopenmpi-dev
493
+ wget https://apt.llvm.org/llvm.sh
494
+ chmod u+x llvm.sh
495
+ sudo ./llvm.sh 20 all
496
+ - name : ccache
497
+ uses :
hendrikmuhs/[email protected]
498
+ with :
499
+ key : ${{ runner.os }}-clang
500
+ create-symlink : true
501
+ max-size : 1G
502
+ - name : CMake configure
503
+ run : >
504
+ cmake -S . -B build -G Ninja
505
+ -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
506
+ -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_THREAD_SANITIZER=ON
507
+ -D CMAKE_INSTALL_PREFIX=install
508
+ env :
509
+ CC : clang-20
510
+ CXX : clang++-20
511
+ - name : Build project
512
+ run : |
513
+ cmake --build build --parallel
514
+ env :
515
+ CC : clang-20
516
+ CXX : clang++-20
517
+ - name : Install project
518
+ run : |
519
+ cmake --build build --target install
520
+ - name : Archive installed package
521
+ run : |
522
+ tar -czvf ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}.tar.gz -C install .
523
+ - name : Upload installed package
524
+ uses : actions/upload-artifact@v4
525
+ with :
526
+ name : ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}
527
+ path : ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}.tar.gz
528
+ ubuntu-clang-thread-sanitizer-test :
529
+ needs :
530
+ - ubuntu-clang-thread-sanitizer-build
531
+ runs-on : ${{ matrix.os }}
532
+ strategy :
533
+ matrix :
534
+ os : ["ubuntu-24.04"]
535
+ steps :
536
+ - uses : actions/checkout@v4
537
+ - name : Setup environment
538
+ run : |
539
+ sudo apt-get update
540
+ sudo apt-get install --no-install-recommends -y ninja-build python3-pip valgrind \
541
+ openmpi-bin openmpi-common libopenmpi-dev
542
+ wget https://apt.llvm.org/llvm.sh
543
+ chmod u+x llvm.sh
544
+ sudo ./llvm.sh 20 all
545
+ - name : Download installed package
546
+ uses : actions/download-artifact@v4
547
+ with :
548
+ name : ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}
549
+ - name : Extract installed package
550
+ run : |
551
+ mkdir -p install
552
+ tar -xzvf ubuntu-clang-thread-sanitizer-install-${{ matrix.os }}.tar.gz -C install
553
+ - name : Run tests (MPI)
554
+ run : python3 scripts/run_tests.py --running-type="processes" --additional-mpi-args="--oversubscribe"
555
+ env :
556
+ PPC_NUM_PROC : 2
557
+ PPC_NUM_THREADS : 2
558
+ PPC_ASAN_RUN : 1
559
+ ASAN_OPTIONS : abort_on_error=1
560
+ UBSAN_OPTIONS : halt_on_error=1
561
+ - name : Run tests (threads, num_threads=1)
562
+ run : python3 scripts/run_tests.py --running-type="threads"
563
+ env :
564
+ PPC_NUM_PROC : 1
565
+ PPC_NUM_THREADS : 1
566
+ PPC_ASAN_RUN : 1
567
+ ASAN_OPTIONS : abort_on_error=1
568
+ UBSAN_OPTIONS : halt_on_error=1
569
+ - name : Run tests (threads, num_threads=2)
570
+ run : python3 scripts/run_tests.py --running-type="threads"
571
+ env :
572
+ PPC_NUM_PROC : 1
573
+ PPC_NUM_THREADS : 2
574
+ PPC_ASAN_RUN : 1
575
+ ASAN_OPTIONS : abort_on_error=1
576
+ UBSAN_OPTIONS : halt_on_error=1
577
+ - name : Run tests (threads, num_threads=3)
578
+ run : python3 scripts/run_tests.py --running-type="threads"
579
+ env :
580
+ PPC_NUM_PROC : 1
581
+ PPC_NUM_THREADS : 3
582
+ PPC_ASAN_RUN : 1
583
+ ASAN_OPTIONS : abort_on_error=1
584
+ UBSAN_OPTIONS : halt_on_error=1
585
+ - name : Run tests (threads, num_threads=4)
586
+ run : python3 scripts/run_tests.py --running-type="threads"
587
+ env :
588
+ PPC_NUM_PROC : 1
589
+ PPC_NUM_THREADS : 4
590
+ PPC_ASAN_RUN : 1
591
+ ASAN_OPTIONS : abort_on_error=1
592
+ UBSAN_OPTIONS : halt_on_error=1
477
593
ubuntu-clang-sanitizer-test-extended :
478
594
needs :
479
595
- ubuntu-clang-sanitizer-test
0 commit comments