| 
62 | 62 |         with:  | 
63 | 63 |           fetch-depth: 1  | 
64 | 64 |           persist-credentials: false  | 
65 |  | -      - name: Runner image version  | 
66 |  | -        run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"  | 
67 | 65 |       - name: Check Autoconf and aclocal versions  | 
68 | 66 |         run: |  | 
69 | 67 |           grep "Generated by GNU Autoconf 2.72" configure  | 
@@ -104,14 +102,14 @@ jobs:  | 
104 | 102 |         with:  | 
105 | 103 |           python-version: '3.x'  | 
106 | 104 |       - name: Runner image version  | 
107 |  | -        run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"  | 
 | 105 | +        run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"  | 
108 | 106 |       - name: Restore config.cache  | 
109 | 107 |         uses: actions/cache@v4  | 
110 | 108 |         with:  | 
111 | 109 |           path: config.cache  | 
112 | 110 |           # Include env.pythonLocation in key to avoid changes in environment when setup-python updates Python  | 
113 |  | -          key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.build-context.outputs.config-hash }}-${{ env.pythonLocation }}  | 
114 |  | -      - name: Install Dependencies  | 
 | 111 | +          key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}-${{ env.pythonLocation }}  | 
 | 112 | +      - name: Install dependencies  | 
115 | 113 |         run: sudo ./.github/workflows/posix-deps-apt.sh  | 
116 | 114 |       - name: Add ccache to PATH  | 
117 | 115 |         run: echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"  | 
@@ -154,7 +152,7 @@ jobs:  | 
154 | 152 |       Windows  | 
155 | 153 |       ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}  | 
156 | 154 |     needs: build-context  | 
157 |  | -    if: fromJSON(needs.build-context.outputs.run-tests)  | 
 | 155 | +    if: fromJSON(needs.build-context.outputs.run-windows-tests)  | 
158 | 156 |     strategy:  | 
159 | 157 |       fail-fast: false  | 
160 | 158 |       matrix:  | 
@@ -247,13 +245,13 @@ jobs:  | 
247 | 245 |         - true  | 
248 | 246 |         os:  | 
249 | 247 |         - ubuntu-24.04  | 
250 |  | -        - ubuntu-22.04-arm  | 
 | 248 | +        - ubuntu-24.04-arm  | 
251 | 249 |         exclude:  | 
252 | 250 |         # Do not test BOLT with free-threading, to conserve resources  | 
253 | 251 |         - bolt: true  | 
254 | 252 |           free-threading: true  | 
255 | 253 |         # BOLT currently crashes during instrumentation on aarch64  | 
256 |  | -        - os: ubuntu-22.04-arm  | 
 | 254 | +        - os: ubuntu-24.04-arm  | 
257 | 255 |           bolt: true  | 
258 | 256 |     uses: ./.github/workflows/reusable-ubuntu.yml  | 
259 | 257 |     with:  | 
@@ -284,15 +282,15 @@ jobs:  | 
284 | 282 |       with:  | 
285 | 283 |         persist-credentials: false  | 
286 | 284 |     - name: Runner image version  | 
287 |  | -      run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"  | 
 | 285 | +      run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"  | 
288 | 286 |     - name: Restore config.cache  | 
289 | 287 |       uses: actions/cache@v4  | 
290 | 288 |       with:  | 
291 | 289 |         path: config.cache  | 
292 |  | -        key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.build-context.outputs.config-hash }}  | 
 | 290 | +        key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}  | 
293 | 291 |     - name: Register gcc problem matcher  | 
294 | 292 |       run: echo "::add-matcher::.github/problem-matchers/gcc.json"  | 
295 |  | -    - name: Install Dependencies  | 
 | 293 | +    - name: Install dependencies  | 
296 | 294 |       run: sudo ./.github/workflows/posix-deps-apt.sh  | 
297 | 295 |     - name: Configure OpenSSL env vars  | 
298 | 296 |       run: |  | 
@@ -347,7 +345,7 @@ jobs:  | 
347 | 345 |         persist-credentials: false  | 
348 | 346 |     - name: Register gcc problem matcher  | 
349 | 347 |       run: echo "::add-matcher::.github/problem-matchers/gcc.json"  | 
350 |  | -    - name: Install Dependencies  | 
 | 348 | +    - name: Install dependencies  | 
351 | 349 |       run: sudo ./.github/workflows/posix-deps-apt.sh  | 
352 | 350 |     - name: Configure OpenSSL env vars  | 
353 | 351 |       run: |  | 
@@ -379,12 +377,12 @@ jobs:  | 
379 | 377 |     - name: Bind mount sources read-only  | 
380 | 378 |       run: sudo mount --bind -o ro "$GITHUB_WORKSPACE" "$CPYTHON_RO_SRCDIR"  | 
381 | 379 |     - name: Runner image version  | 
382 |  | -      run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"  | 
 | 380 | +      run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"  | 
383 | 381 |     - name: Restore config.cache  | 
384 | 382 |       uses: actions/cache@v4  | 
385 | 383 |       with:  | 
386 | 384 |         path: ${{ env.CPYTHON_BUILDDIR }}/config.cache  | 
387 |  | -        key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.build-context.outputs.config-hash }}  | 
 | 385 | +        key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}  | 
388 | 386 |     - name: Configure CPython out-of-tree  | 
389 | 387 |       working-directory: ${{ env.CPYTHON_BUILDDIR }}  | 
390 | 388 |       run: |  | 
@@ -466,15 +464,15 @@ jobs:  | 
466 | 464 |       with:  | 
467 | 465 |         persist-credentials: false  | 
468 | 466 |     - name: Runner image version  | 
469 |  | -      run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"  | 
 | 467 | +      run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"  | 
470 | 468 |     - name: Restore config.cache  | 
471 | 469 |       uses: actions/cache@v4  | 
472 | 470 |       with:  | 
473 | 471 |         path: config.cache  | 
474 |  | -        key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.build-context.outputs.config-hash }}  | 
 | 472 | +        key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}  | 
475 | 473 |     - name: Register gcc problem matcher  | 
476 | 474 |       run: echo "::add-matcher::.github/problem-matchers/gcc.json"  | 
477 |  | -    - name: Install Dependencies  | 
 | 475 | +    - name: Install dependencies  | 
478 | 476 |       run: sudo ./.github/workflows/posix-deps-apt.sh  | 
479 | 477 |     - name: Set up GCC-10 for ASAN  | 
480 | 478 |       uses: egor-tensin/setup-gcc@v1  | 
@@ -537,19 +535,19 @@ jobs:  | 
537 | 535 |         with:  | 
538 | 536 |           persist-credentials: false  | 
539 | 537 |       - name: Runner image version  | 
540 |  | -        run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"  | 
 | 538 | +        run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"  | 
541 | 539 |       - name: Restore config.cache  | 
542 | 540 |         uses: actions/cache@v4  | 
543 | 541 |         with:  | 
544 | 542 |           path: config.cache  | 
545 |  | -          key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.build-context.outputs.config-hash }}  | 
 | 543 | +          key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}  | 
546 | 544 |       - name: Register gcc problem matcher  | 
547 | 545 |         run: echo "::add-matcher::.github/problem-matchers/gcc.json"  | 
548 | 546 |       - name: Set build dir  | 
549 | 547 |         run:  | 
550 | 548 |           # an absolute path outside of the working directoy  | 
551 | 549 |           echo "BUILD_DIR=$(realpath ${{ github.workspace }}/../build)" >> "$GITHUB_ENV"  | 
552 |  | -      - name: Install Dependencies  | 
 | 550 | +      - name: Install dependencies  | 
553 | 551 |         run: sudo ./.github/workflows/posix-deps-apt.sh  | 
554 | 552 |       - name: Configure host build  | 
555 | 553 |         run: ./configure --prefix="$BUILD_DIR/host-python"  | 
@@ -621,6 +619,7 @@ jobs:  | 
621 | 619 |     - build_wasi  | 
622 | 620 |     - build_windows  | 
623 | 621 |     - build_windows_msi  | 
 | 622 | +    - cross-build-linux  | 
624 | 623 |     - test_hypothesis  | 
625 | 624 |     - build_asan  | 
626 | 625 |     - build_tsan  | 
@@ -654,10 +653,17 @@ jobs:  | 
654 | 653 |             build_ubuntu,  | 
655 | 654 |             build_ubuntu_ssltests,  | 
656 | 655 |             build_wasi,  | 
657 |  | -            build_windows,  | 
658 | 656 |             build_asan,  | 
659 | 657 |             build_tsan,  | 
660 | 658 |             test_hypothesis,  | 
 | 659 | +            cross-build-linux,  | 
 | 660 | +            '  | 
 | 661 | +            || ''  | 
 | 662 | +          }}  | 
 | 663 | +          ${{  | 
 | 664 | +            !fromJSON(needs.build-context.outputs.run-windows-tests)  | 
 | 665 | +            && '  | 
 | 666 | +            build_windows,  | 
661 | 667 |             '  | 
662 | 668 |             || ''  | 
663 | 669 |           }}  | 
 | 
0 commit comments