File tree Expand file tree Collapse file tree 3 files changed +26
-11
lines changed Expand file tree Collapse file tree 3 files changed +26
-11
lines changed Original file line number Diff line number Diff line change @@ -529,13 +529,19 @@ jobs:
529
529
run : xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu"
530
530
531
531
build_tsan :
532
- name : ' Thread sanitizer'
532
+ name : >-
533
+ Thread sanitizer
534
+ ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
533
535
needs : check_source
534
536
if : needs.check_source.outputs.run_tests == 'true'
537
+ strategy :
538
+ matrix :
539
+ free-threading :
540
+ - false
535
541
uses : ./.github/workflows/reusable-tsan.yml
536
542
with :
537
543
config_hash : ${{ needs.check_source.outputs.config_hash }}
538
- options : ./configure --config-cache --with-thread-sanitizer --with-pydebug
544
+ free-threading : ${{ matrix.free-threading }}
539
545
540
546
all-required-green : # This job does nothing and is only used for the branch protection
541
547
name : All required checks pass
Original file line number Diff line number Diff line change 6
6
config_hash :
7
7
required : true
8
8
type : string
9
- options :
10
- required : true
11
- type : string
9
+ free-threading :
10
+ description : Whether to use free-threaded mode
11
+ required : false
12
+ type : boolean
13
+ default : false
12
14
13
15
env :
14
16
FORCE_COLOR : 1
18
20
name : ' Thread sanitizer'
19
21
runs-on : ubuntu-24.04
20
22
timeout-minutes : 60
21
- env :
22
- OPTIONS : ${{ inputs.options }}
23
23
steps :
24
24
- uses : actions/checkout@v4
25
25
with :
39
39
sudo sysctl -w vm.mmap_rnd_bits=28
40
40
- name : TSAN Option Setup
41
41
run : |
42
- echo "TSAN_OPTIONS=suppressions=${GITHUB_WORKSPACE}/Tools/tsan/supressions.txt" >> $GITHUB_ENV
43
- echo "CC=clang" >> $GITHUB_ENV
44
- echo "CXX=clang++" >> $GITHUB_ENV
42
+ echo "TSAN_OPTIONS=log_path=${GITHUB_WORKSPACE}/tsan_log suppressions=${GITHUB_WORKSPACE}/Tools/tsan/suppressions${{
43
+ fromJSON(inputs.free-threading)
44
+ && '_free_threading'
45
+ || ''
46
+ }}.txt" >> "$GITHUB_ENV"
47
+ echo "CC=clang" >> "$GITHUB_ENV"
48
+ echo "CXX=clang++" >> "$GITHUB_ENV"
45
49
- name : Add ccache to PATH
46
50
run : |
47
51
echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
51
55
save : ${{ github.event_name == 'push' }}
52
56
max-size : " 200M"
53
57
- name : Configure CPython
54
- run : " ${OPTIONS}"
58
+ run : >-
59
+ ./configure
60
+ --config-cache
61
+ --with-thread-sanitizer
62
+ --with-pydebug
63
+ ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
55
64
- name : Build CPython
56
65
run : make -j4
57
66
- name : Display build info
File renamed without changes.
You can’t perform that action at this time.
0 commit comments