9797 - name : Get a list of the changed documentation-related files
9898 if : github.event_name == 'pull_request'
9999 id : changed-docs-files
100- uses : Ana06/get-changed-files@v2.2 .0
100+ uses : Ana06/get-changed-files@v2.3 .0
101101 with :
102102 filter : |
103103 Doc/**
@@ -206,6 +206,8 @@ jobs:
206206 uses : ./.github/workflows/reusable-macos.yml
207207 with :
208208 config_hash : ${{ needs.check_source.outputs.config_hash }}
209+ # macos-14 is M1, macos-13 is Intel
210+ os-matrix : ' ["macos-14", "macos-13"]'
209211
210212 build_macos_free_threading :
211213 name : ' macOS (free-threading)'
@@ -215,6 +217,8 @@ jobs:
215217 with :
216218 config_hash : ${{ needs.check_source.outputs.config_hash }}
217219 free-threading : true
220+ # macos-14 is M1
221+ os-matrix : ' ["macos-14"]'
218222
219223 build_ubuntu :
220224 name : ' Ubuntu'
@@ -301,6 +305,14 @@ jobs:
301305 - name : SSL tests
302306 run : ./python Lib/test/ssltests.py
303307
308+ build_wasi :
309+ name : ' WASI'
310+ needs : check_source
311+ if : needs.check_source.outputs.run_tests == 'true'
312+ uses : ./.github/workflows/reusable-wasi.yml
313+ with :
314+ config_hash : ${{ needs.check_source.outputs.config_hash }}
315+
304316 test_hypothesis :
305317 name : " Hypothesis tests on Ubuntu"
306318 runs-on : ubuntu-20.04
@@ -472,6 +484,24 @@ jobs:
472484 - name : Tests
473485 run : xvfb-run make test
474486
487+ build_tsan :
488+ name : ' Thread sanitizer'
489+ needs : check_source
490+ if : needs.check_source.outputs.run_tests == 'true'
491+ uses : ./.github/workflows/reusable-tsan.yml
492+ with :
493+ config_hash : ${{ needs.check_source.outputs.config_hash }}
494+ options : ./configure --config-cache --with-thread-sanitizer --with-pydebug
495+
496+ build_tsan_free_threading :
497+ name : ' Thread sanitizer (free-threading)'
498+ needs : check_source
499+ if : needs.check_source.outputs.run_tests == 'true'
500+ uses : ./.github/workflows/reusable-tsan.yml
501+ with :
502+ config_hash : ${{ needs.check_source.outputs.config_hash }}
503+ options : ./configure --config-cache --disable-gil --with-thread-sanitizer --with-pydebug
504+
475505 # CIFuzz job based on https://google.github.io/oss-fuzz/getting-started/continuous-integration/
476506 cifuzz :
477507 name : CIFuzz
@@ -484,7 +514,8 @@ jobs:
484514 strategy :
485515 fail-fast : false
486516 matrix :
487- sanitizer : [address, undefined, memory]
517+ # sanitizer: [address, undefined, memory] -- memory skipped temporarily until GH-116886 is solved.
518+ sanitizer : [address, undefined]
488519 steps :
489520 - name : Build fuzzers (${{ matrix.sanitizer }})
490521 id : build
@@ -525,10 +556,13 @@ jobs:
525556 - build_ubuntu
526557 - build_ubuntu_free_threading
527558 - build_ubuntu_ssltests
559+ - build_wasi
528560 - build_windows
529561 - build_windows_free_threading
530562 - test_hypothesis
531563 - build_asan
564+ - build_tsan
565+ - build_tsan_free_threading
532566 - cifuzz
533567
534568 runs-on : ubuntu-latest
@@ -558,9 +592,12 @@ jobs:
558592 build_ubuntu,
559593 build_ubuntu_free_threading,
560594 build_ubuntu_ssltests,
595+ build_wasi,
561596 build_windows,
562597 build_windows_free_threading,
563598 build_asan,
599+ build_tsan,
600+ build_tsan_free_threading,
564601 '
565602 || ''
566603 }}
0 commit comments