@@ -17,6 +17,7 @@ permissions:
1717
1818env :
1919 FORCE_COLOR : 1
20+ OPENSSL_VER : 3.5.7
2021
2122jobs :
2223 build-san-reusable :
2829 }}
2930 runs-on : ubuntu-26.04
3031 timeout-minutes : 60
31- env :
32- OPENSSL_VER : 3.5.4
3332 steps :
3433 - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
3534 with :
@@ -45,21 +44,27 @@ jobs:
4544 - name : TSan option setup
4645 if : inputs.sanitizer == 'TSan'
4746 run : |
48- # Reduce ASLR to avoid TSan crashing
49- sudo sysctl -w vm.mmap_rnd_bits=28
47+ sudo sysctl -w vm.mmap_rnd_bits=28 # Reduce ASLR to avoid TSan crashing
48+
5049 echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
5150 echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> "$GITHUB_ENV"
52- echo "TSAN_OPTIONS=${SAN_LOG_OPTION} suppressions=${GITHUB_WORKSPACE}/Tools/tsan/suppressions${{
51+ echo "TSAN_OPTIONS=${SAN_LOG_OPTION} suppressions=${GITHUB_WORKSPACE}/Tools/tsan/suppressions${SUPPRESSIONS_SUFFIX}.txt handle_segv=0" >> "$GITHUB_ENV"
52+ env :
53+ SAN_LOG_OPTION : log_path=${{ github.workspace }}/san_log
54+ SUPPRESSIONS_SUFFIX : >-
55+ ${{
5356 fromJSON(inputs.free-threading)
5457 && '_free_threading'
5558 || ''
56- }}.txt handle_segv=0" >> "$GITHUB_ENV"
57- env :
58- SAN_LOG_OPTION : log_path=${{ github.workspace }}/san_log
59+ }}
5960 - name : UBSan option setup
6061 if : inputs.sanitizer != 'TSan'
61- run : |
62- echo "UBSAN_OPTIONS=${SAN_LOG_OPTION} halt_on_error=1 suppressions=${GITHUB_WORKSPACE}/Tools/ubsan/suppressions.txt" >> "$GITHUB_ENV"
62+ run : >-
63+ echo
64+ "UBSAN_OPTIONS=${SAN_LOG_OPTION}
65+ halt_on_error=1
66+ suppressions=${GITHUB_WORKSPACE}/Tools/ubsan/suppressions.txt"
67+ >> "$GITHUB_ENV"
6368 env :
6469 SAN_LOG_OPTION : log_path=${{ github.workspace }}/san_log
6570 - name : Add ccache to PATH
7378 path : ./multissl/openssl/${{ env.OPENSSL_VER }}
7479 key : ${{ env.IMAGE_OS_VERSION }}-multissl-openssl-tsan-${{ env.OPENSSL_VER }}
7580 - name : Install OpenSSL (TSan)
76- if : steps.cache-openssl.outputs.cache-hit != 'true' && inputs.sanitizer == 'TSan'
77- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux --tsan
81+ if : >-
82+ inputs.sanitizer == 'TSan'
83+ && steps.cache-openssl.outputs.cache-hit != 'true'
84+ run : >-
85+ python3 Tools/ssl/multissltests.py
86+ --steps=library
87+ --base-directory="${MULTISSL_DIR}"
88+ --openssl="${OPENSSL_VER}"
89+ --system=Linux
90+ --tsan
7891 - name : Configure CPython
7992 run : >-
8093 ./configure
0 commit comments