@@ -512,26 +512,20 @@ jobs:
512512      run : xvfb-run make ci 
513513
514514  build_tsan :
515-     name : ' Thread sanitizer' 
516-     needs : check_source 
517-     if : needs.check_source.outputs.run_tests == 'true' 
518-     uses : ./.github/workflows/reusable-tsan.yml 
519-     with :
520-       config_hash : ${{ needs.check_source.outputs.config_hash }} 
521-       options : ./configure --config-cache --with-thread-sanitizer --with-pydebug 
522-       suppressions_path : Tools/tsan/supressions.txt 
523-       tsan_logs_artifact_name : tsan-logs-default 
524- 
525-   build_tsan_free_threading :
526-     name : ' Thread sanitizer (free-threading)' 
515+     name : >- 
516+       Thread sanitizer 
517+       ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }} 
527518needs : check_source 
528519    if : needs.check_source.outputs.run_tests == 'true' 
520+     strategy :
521+       matrix :
522+         free-threading :
523+         - false 
524+         - true 
529525    uses : ./.github/workflows/reusable-tsan.yml 
530526    with :
531527      config_hash : ${{ needs.check_source.outputs.config_hash }} 
532-       options : ./configure --config-cache --disable-gil --with-thread-sanitizer --with-pydebug 
533-       suppressions_path : Tools/tsan/suppressions_free_threading.txt 
534-       tsan_logs_artifact_name : tsan-logs-free-threading 
528+       free-threading : ${{ matrix.free-threading }} 
535529
536530  #  CIFuzz job based on https://google.github.io/oss-fuzz/getting-started/continuous-integration/
537531  cifuzz :
@@ -591,7 +585,6 @@ jobs:
591585    - test_hypothesis 
592586    - build_asan 
593587    - build_tsan 
594-     - build_tsan_free_threading 
595588    - cifuzz 
596589
597590    runs-on : ubuntu-latest 
@@ -625,7 +618,6 @@ jobs:
625618            build_windows, 
626619            build_asan, 
627620            build_tsan, 
628-             build_tsan_free_threading, 
629621            ' 
630622            || '' 
631623          }} 
0 commit comments