97
97
- name : Get a list of the changed documentation-related files
98
98
if : github.event_name == 'pull_request'
99
99
id : changed-docs-files
100
- uses : Ana06/get-changed-files@v2.2 .0
100
+ uses : Ana06/get-changed-files@v2.3 .0
101
101
with :
102
102
filter : |
103
103
Doc/**
@@ -206,6 +206,8 @@ jobs:
206
206
uses : ./.github/workflows/reusable-macos.yml
207
207
with :
208
208
config_hash : ${{ needs.check_source.outputs.config_hash }}
209
+ # macos-14 is M1, macos-13 is Intel
210
+ os-matrix : ' ["macos-14", "macos-13"]'
209
211
210
212
build_macos_free_threading :
211
213
name : ' macOS (free-threading)'
@@ -215,6 +217,8 @@ jobs:
215
217
with :
216
218
config_hash : ${{ needs.check_source.outputs.config_hash }}
217
219
free-threading : true
220
+ # macos-14 is M1
221
+ os-matrix : ' ["macos-14"]'
218
222
219
223
build_ubuntu :
220
224
name : ' Ubuntu'
@@ -301,6 +305,14 @@ jobs:
301
305
- name : SSL tests
302
306
run : ./python Lib/test/ssltests.py
303
307
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
+
304
316
test_hypothesis :
305
317
name : " Hypothesis tests on Ubuntu"
306
318
runs-on : ubuntu-20.04
@@ -472,6 +484,24 @@ jobs:
472
484
- name : Tests
473
485
run : xvfb-run make test
474
486
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
+
475
505
# CIFuzz job based on https://google.github.io/oss-fuzz/getting-started/continuous-integration/
476
506
cifuzz :
477
507
name : CIFuzz
@@ -484,7 +514,8 @@ jobs:
484
514
strategy :
485
515
fail-fast : false
486
516
matrix :
487
- sanitizer : [address, undefined, memory]
517
+ # sanitizer: [address, undefined, memory] -- memory skipped temporarily until GH-116886 is solved.
518
+ sanitizer : [address, undefined]
488
519
steps :
489
520
- name : Build fuzzers (${{ matrix.sanitizer }})
490
521
id : build
@@ -525,10 +556,13 @@ jobs:
525
556
- build_ubuntu
526
557
- build_ubuntu_free_threading
527
558
- build_ubuntu_ssltests
559
+ - build_wasi
528
560
- build_windows
529
561
- build_windows_free_threading
530
562
- test_hypothesis
531
563
- build_asan
564
+ - build_tsan
565
+ - build_tsan_free_threading
532
566
- cifuzz
533
567
534
568
runs-on : ubuntu-latest
@@ -558,9 +592,12 @@ jobs:
558
592
build_ubuntu,
559
593
build_ubuntu_free_threading,
560
594
build_ubuntu_ssltests,
595
+ build_wasi,
561
596
build_windows,
562
597
build_windows_free_threading,
563
598
build_asan,
599
+ build_tsan,
600
+ build_tsan_free_threading,
564
601
'
565
602
|| ''
566
603
}}
0 commit comments