@@ -26,17 +26,10 @@ jobs:
2626 && ' (free-threading)'
2727 || ''
2828 }}
29- strategy :
30- fail-fast : false
31- matrix :
32- os : [ubuntu-26.04]
33- openssl_ver : [3.5.4]
34- runs-on : ${{ matrix.os }}
29+ runs-on : ubuntu-26.04
3530 timeout-minutes : 60
3631 env :
37- OPENSSL_VER : ${{ matrix.openssl_ver }}
38- MULTISSL_DIR : ${{ github.workspace }}/multissl
39- OPENSSL_DIR : ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}
32+ OPENSSL_VER : 3.5.4
4033 steps :
4134 - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
4235 with :
@@ -47,38 +40,38 @@ jobs:
4740 run : |
4841 sudo ./.github/workflows/posix-deps-apt.sh
4942 # On ubuntu-26.04 image, clang is clang-21 by default
50-
51- if [ "${SANITIZER}" = "TSan" ]; then
52- # Reduce ASLR to avoid TSan crashing
53- sudo sysctl -w vm.mmap_rnd_bits=28
54- fi
55-
56- - name : Sanitizer option setup
57- run : |
58- if [ "${SANITIZER}" = "TSan" ]; then
59- echo "TSAN_OPTIONS=${SAN_LOG_OPTION} suppressions=${GITHUB_WORKSPACE}/Tools/tsan/suppressions${{
60- fromJSON(inputs.free-threading)
61- && '_free_threading'
62- || ''
63- }}.txt handle_segv=0" >> "$GITHUB_ENV"
64- else
65- echo "UBSAN_OPTIONS=${SAN_LOG_OPTION} halt_on_error=1 suppressions=${GITHUB_WORKSPACE}/Tools/ubsan/suppressions.txt" >> "$GITHUB_ENV"
66- fi
6743 echo "CC=clang" >> "$GITHUB_ENV"
6844 echo "CXX=clang++" >> "$GITHUB_ENV"
45+ - name : TSan option setup
46+ if : inputs.sanitizer == 'TSan'
47+ run : |
48+ # Reduce ASLR to avoid TSan crashing
49+ sudo sysctl -w vm.mmap_rnd_bits=28
50+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
51+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> "$GITHUB_ENV"
52+ echo "TSAN_OPTIONS=${SAN_LOG_OPTION} suppressions=${GITHUB_WORKSPACE}/Tools/tsan/suppressions${{
53+ fromJSON(inputs.free-threading)
54+ && '_free_threading'
55+ || ''
56+ }}.txt handle_segv=0" >> "$GITHUB_ENV"
57+ env :
58+ SAN_LOG_OPTION : log_path=${{ github.workspace }}/san_log
59+ - name : UBSan option setup
60+ 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"
6963 env :
70- SANITIZER : ${{ inputs.sanitizer }}
7164 SAN_LOG_OPTION : log_path=${{ github.workspace }}/san_log
7265 - name : Add ccache to PATH
7366 run : |
7467 echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
7568 - name : ' Restore OpenSSL build (TSan)'
7669 id : cache-openssl
77- uses : actions/cache@v4
7870 if : inputs.sanitizer == 'TSan'
71+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
7972 with :
8073 path : ./multissl/openssl/${{ env.OPENSSL_VER }}
81- key : ${{ matrix.os }}-multissl-openssl-tsan-${{ env.OPENSSL_VER }}
74+ key : ${{ env.IMAGE_OS_VERSION }}-multissl-openssl-tsan-${{ env.OPENSSL_VER }}
8275 - name : Install OpenSSL (TSan)
8376 if : steps.cache-openssl.outputs.cache-hit != 'true' && inputs.sanitizer == 'TSan'
8477 run : python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux --tsan
0 commit comments