@@ -13,11 +13,19 @@ on: # yamllint disable-line rule:truthy
13
13
description : A custom name for the Checks API-reported status
14
14
required : false
15
15
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}`
19
20
required : false
20
21
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
21
29
runner-vm-os :
22
30
description : VM OS to use
23
31
default : ubuntu-latest
@@ -31,11 +39,6 @@ on: # yamllint disable-line rule:truthy
31
39
description : Deadline for the job to complete
32
40
required : true
33
41
type : number
34
- wheel-tags-to-skip :
35
- description : Wheel tags to skip building
36
- default : ' '
37
- required : false
38
- type : string
39
42
40
43
env :
41
44
FORCE_COLOR : " 1" # Make tools pretty.
@@ -50,14 +53,21 @@ jobs:
50
53
inputs.check-name
51
54
&& inputs.check-name
52
55
|| format(
53
- 'Build wheels on {0} {1}',
56
+ 'Build wheels on {0}{1}',
54
57
inputs.runner-vm-os,
55
- inputs.qemu
58
+ inputs.qemu && ' under QEMU' || ''
56
59
)
57
60
}}
58
61
runs-on : ${{ inputs.runner-vm-os }}
59
62
timeout-minutes : ${{ fromJSON(inputs.timeout-minutes) }}
60
63
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
+
61
71
- name : Compute GHA artifact name ending
62
72
id : gha-artifact-name
63
73
run : |
@@ -88,32 +98,16 @@ jobs:
88
98
uses : docker/setup-qemu-action@v3
89
99
with :
90
100
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
105
101
106
102
- name : Build wheels
107
103
108
- env :
109
- CIBW_ARCHS_MACOS : x86_64 arm64 universal2
110
104
111
105
- name : Upload built artifacts for testing and publishing
112
106
uses : actions/upload-artifact@v4
113
107
with :
114
108
name : ${{ inputs.dists-artifact-name }}-
115
109
${{ inputs.runner-vm-os }}-
116
- ${{ inputs.qemu }}-
110
+ ${{ inputs.qemu && 'qemu-' || '' }}
117
111
${{ steps.gha-artifact-name.outputs.hash }}
118
112
path : ./wheelhouse/*.whl
119
113
0 commit comments