| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| 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,9 +6,11 @@ on: | |||
| 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,8 +20,6 @@ jobs: | |||
| 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,9 +39,13 @@ jobs: | |||
| 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,7 +55,12 @@ jobs: | |||
| 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 | |
| Back | FazBrowse Home | New Git URL |
0 commit comments