@@ -13,11 +13,19 @@ on: # yamllint disable-line rule:truthy
1313 description : A custom name for the Checks API-reported status
1414 required : false
1515 type : string
16- qemu :
17- description : Emulated QEMU architecture
18- default : ' '
16+ environment-variables :
17+ description : >-
18+ A newline-delimited blob of text with environment variables
19+ to be set using `${GITHUB_ENV}`
1920 required : false
2021 type : string
22+ qemu :
23+ default : false
24+ description : >-
25+ Whether this job needs to configure QEMU to emulate a foreign
26+ architecture before running `cibuildwheel`. Defaults to "false".
27+ required : false
28+ type : boolean
2129 runner-vm-os :
2230 description : VM OS to use
2331 default : ubuntu-latest
@@ -31,11 +39,6 @@ on: # yamllint disable-line rule:truthy
3139 description : Deadline for the job to complete
3240 required : true
3341 type : number
34- wheel-tags-to-skip :
35- description : Wheel tags to skip building
36- default : ' '
37- required : false
38- type : string
3942
4043env :
4144 FORCE_COLOR : " 1" # Make tools pretty.
@@ -50,14 +53,21 @@ jobs:
5053 inputs.check-name
5154 && inputs.check-name
5255 || format(
53- 'Build wheels on {0} {1}',
56+ 'Build wheels on {0}{1}',
5457 inputs.runner-vm-os,
55- inputs.qemu
58+ inputs.qemu && ' under QEMU' || ''
5659 )
5760 }}
5861 runs-on : ${{ inputs.runner-vm-os }}
5962 timeout-minutes : ${{ fromJSON(inputs.timeout-minutes) }}
6063 steps :
64+ - name : Export requested job-global environment variables
65+ if : inputs.environment-variables != ''
66+ env :
67+ INPUT_ENVIRONMENT_VARIABLES : ${{ inputs.environment-variables }}
68+ run : echo "${INPUT_ENVIRONMENT_VARIABLES}" >> "${GITHUB_ENV}"
69+ shell : bash
70+
6171 - name : Compute GHA artifact name ending
6272 id : gha-artifact-name
6373 run : |
@@ -88,32 +98,16 @@ jobs:
8898 uses : docker/setup-qemu-action@v3
8999 with :
90100 platforms : all
91- id : qemu
92- - name : Prepare emulation
93- if : inputs.qemu
94- run : |
95- # Build emulated architectures only if QEMU is set,
96- # use default "auto" otherwise
97- echo "CIBW_ARCHS_LINUX=${{ inputs.qemu }}" >> "${GITHUB_ENV}"
98- shell : bash
99-
100- - name : Skip building some wheel tags
101- if : inputs.wheel-tags-to-skip
102- run : |
103- echo "CIBW_SKIP=${{ inputs.wheel-tags-to-skip }}" >> "${GITHUB_ENV}"
104- shell : bash
105101
106102 - name : Build wheels
107103 uses : pypa/cibuildwheel@v3.0.0
108- env :
109- CIBW_ARCHS_MACOS : x86_64 arm64 universal2
110104
111105 - name : Upload built artifacts for testing and publishing
112106 uses : actions/upload-artifact@v4
113107 with :
114108 name : ${{ inputs.dists-artifact-name }}-
115109 ${{ inputs.runner-vm-os }}-
116- ${{ inputs.qemu }}-
110+ ${{ inputs.qemu && 'qemu-' || '' }}
117111 ${{ steps.gha-artifact-name.outputs.hash }}
118112 path : ./wheelhouse/*.whl
119113
0 commit comments