@@ -14,10 +14,14 @@ jobs:
1414  build_ubuntu_reusable :
1515    name : ' build and test' 
1616    timeout-minutes : 60 
17-     runs-on : ubuntu-22.04 
17+     runs-on : ${{ matrix.os }} 
18+     strategy :
19+       fail-fast : false 
20+       matrix :
21+         os : [ubuntu-22.04] 
1822    env :
1923      FORCE_COLOR : 1 
20-       OPENSSL_VER : 3.0.13  
24+       OPENSSL_VER : 3.0.15  
2125      PYTHONSTRICTEXTENSIONBUILD : 1 
2226      TERM : linux 
2327    steps :
3640      uses : actions/cache@v4 
3741      with :
3842        path : ./multissl/openssl/${{ env.OPENSSL_VER }} 
39-         key : ${{ runner .os }}-multissl-openssl-${{ env.OPENSSL_VER }} 
43+         key : ${{ matrix .os }}-multissl-openssl-${{ env.OPENSSL_VER }} 
4044    - name : Install OpenSSL 
4145      if : steps.cache-openssl.outputs.cache-hit != 'true' 
4246      run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux 
@@ -67,20 +71,33 @@ jobs:
6771      working-directory : ${{ env.CPYTHON_BUILDDIR }} 
6872      run : >- 
6973        ../cpython-ro-srcdir/configure 
70-         CFLAGS="-fdiagnostics-format=json" 
7174        --config-cache 
7275        --with-pydebug 
7376        --enable-slower-safety 
77+         --enable-safety 
7478        --with-openssl=$OPENSSL_DIR 
7579        ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }} 
7680name : Build CPython out-of-tree 
81+       if : ${{ inputs.free-threading }} 
7782      working-directory : ${{ env.CPYTHON_BUILDDIR }} 
78-       run : set -o pipefail; make -j4 2>&1 | tee compiler_output.txt 
83+       run : make -j4 
84+     - name : Build CPython out-of-tree (for compiler warning check) 
85+       if : ${{ !inputs.free-threading}} 
86+       working-directory : ${{ env.CPYTHON_BUILDDIR }} 
87+       run : set -o pipefail; make -j4 --output-sync 2>&1 | tee compiler_output_ubuntu.txt 
7988    - name : Display build info 
8089      working-directory : ${{ env.CPYTHON_BUILDDIR }} 
8190      run : make pythoninfo 
8291    - name : Check compiler warnings 
83-       run : python Tools/build/check_warnings.py --compiler-output-file-path=${{ env.CPYTHON_BUILDDIR }}/compiler_output.txt --warning-ignore-file-path ${GITHUB_WORKSPACE}/Tools/build/.warningignore_ubuntu --compiler-output-type=json 
92+       if : ${{ !inputs.free-threading }} 
93+       run : >- 
94+         python Tools/build/check_warnings.py 
95+         --compiler-output-file-path=${{ env.CPYTHON_BUILDDIR }}/compiler_output_ubuntu.txt 
96+         --warning-ignore-file-path ${GITHUB_WORKSPACE}/Tools/build/.warningignore_ubuntu 
97+         --compiler-output-type=gcc 
98+         --fail-on-regression 
99+         --fail-on-improvement 
100+         --path-prefix="../cpython-ro-srcdir/" 
84101name : Remount sources writable for tests 
85102      #  some tests write to srcdir, lack of pyc files slows down testing
86103      run : sudo mount $CPYTHON_RO_SRCDIR -oremount,rw 
0 commit comments