@@ -307,111 +307,3 @@ jobs:
307307 env :
308308 MATRIX_RUN : ${{ matrix.run }}
309309 MATRIX_LIBC : ${{ matrix.libc }}
310-
311- build-1 :
312- needs :
313- - generate-matrix
314- - crate-build
315- - image
316- # Permissions used for actions/attest-build-provenance
317- permissions :
318- id-token : write
319- attestations : write
320- runs-on : ${{ matrix.runner }}
321- strategy :
322- matrix : ${{ fromJson(needs.generate-matrix.outputs.python-build-matrix-1) }}
323- fail-fast : false
324- name : ${{ matrix.target_triple }} / ${{ matrix.python }} / ${{ matrix.build_options }}
325- steps :
326- - uses : actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
327- with :
328- fetch-depth : 0
329- persist-credentials : false
330-
331- - name : Install Python
332- uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
333- with :
334- python-version : " 3.11"
335-
336- - name : Download pythonbuild
337- uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
338- with :
339- name : ${{ matrix.crate_artifact_name }}
340- path : build
341-
342- - name : Download images
343- uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
344- with :
345- pattern : image-*
346- path : build
347- merge-multiple : true
348-
349- - name : Cache downloads
350- uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
351- with :
352- path : build/downloads
353- key : ${{ matrix.target_triple }}-${{ hashFiles('pythonbuild/downloads.py')}}
354- restore-keys : |
355- ${{ matrix.target_triple }}-${{ hashFiles('pythonbuild/downloads.py')}}
356- ${{ matrix.target_triple }}-
357-
358- - name : Load Docker Images
359- run : |
360- for f in build/image-*.tar.zst; do
361- echo "decompressing $f"
362- zstd -d --rm ${f}
363- done
364-
365- for f in build/image-*.tar; do
366- echo "loading $f"
367- docker load --input $f
368- done
369-
370- - name : Build
371- if : ${{ ! matrix.dry-run }}
372- run : |
373- # Do empty target so all generated files are touched.
374- ./build-linux.py --make-target empty
375-
376- # Touch mtimes of all images so they are newer than autogenerated files above.
377- touch build/image-*
378-
379- ./build-linux.py --target-triple ${MATRIX_TARGET_TRIPLE} --python cpython-${MATRIX_PYTHON} --options ${MATRIX_BUILD_OPTIONS}
380- env :
381- MATRIX_TARGET_TRIPLE : ${{ matrix.target_triple }}
382- MATRIX_PYTHON : ${{ matrix.python }}
383- MATRIX_BUILD_OPTIONS : ${{ matrix.build_options }}
384-
385- - name : Generate attestations
386- uses : actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2.4.0
387- if : ${{ github.ref == 'refs/heads/main' }}
388- with :
389- subject-path : dist/*
390-
391- - name : Upload Distribution
392- if : ${{ ! matrix.dry-run }}
393- uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
394- with :
395- name : cpython-${{ matrix.python }}-${{ matrix.target_triple }}-${{ matrix.build_options }}
396- path : dist/*
397-
398- - name : Validate Distribution
399- if : ${{ ! matrix.dry-run }}
400- run : |
401- chmod +x build/pythonbuild
402-
403- if [ "${MATRIX_RUN}" == "true" ]; then
404- if [ "${MATRIX_LIBC}" == "musl" ]; then
405- sudo apt install musl-dev
406-
407- # GitHub's setup-python action sets `LD_LIBRARY_PATH` which overrides `RPATH`
408- # as used in the musl builds.
409- unset LD_LIBRARY_PATH
410- fi
411- EXTRA_ARGS="--run"
412- fi
413-
414- build/pythonbuild validate-distribution ${EXTRA_ARGS} dist/*.tar.zst
415- env :
416- MATRIX_RUN : ${{ matrix.run }}
417- MATRIX_LIBC : ${{ matrix.libc }}
0 commit comments