##// END OF EJS Templates
ci: move some variables closer to their usage...
marmoute -
r53102:74a9fbc1 stable
parent child Browse files
Show More
@@ -1,326 +1,327
1 # Don't run pipelines on branch "merge", since we're fast-forward only.
1 # Don't run pipelines on branch "merge", since we're fast-forward only.
2 # Gitlab sees a new branch (since e.g. `topic/stable/my-topic` becomes
2 # Gitlab sees a new branch (since e.g. `topic/stable/my-topic` becomes
3 # `branch/stable`), but the hash hasn't changed. There is no reason to
3 # `branch/stable`), but the hash hasn't changed. There is no reason to
4 # re-run the CI in our case, since we haven't built up any specific automation.
4 # re-run the CI in our case, since we haven't built up any specific automation.
5 # Right now it's just wasted CI and developer time.
5 # Right now it's just wasted CI and developer time.
6 # One can still run the pipeline manually via the web interface,
6 # One can still run the pipeline manually via the web interface,
7 # like in the case of releases, to make *extra* sure that the actual branch
7 # like in the case of releases, to make *extra* sure that the actual branch
8 # has succeeded.
8 # has succeeded.
9 workflow:
9 workflow:
10 rules:
10 rules:
11 - if: $CI_COMMIT_BRANCH =~ /^branch\/.*/ && $CI_PIPELINE_SOURCE != "web"
11 - if: $CI_COMMIT_BRANCH =~ /^branch\/.*/ && $CI_PIPELINE_SOURCE != "web"
12 when: never
12 when: never
13 - if: $CI_PIPELINE_SOURCE == "merge_request_event"
13 - if: $CI_PIPELINE_SOURCE == "merge_request_event"
14 when: never
14 when: never
15 - if: $CI_PIPELINE_SOURCE == "push"
15 - if: $CI_PIPELINE_SOURCE == "push"
16 when: always
16 when: always
17 - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
17 - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
18 when: never
18 when: never
19 - if: $CI_COMMIT_BRANCH
19 - if: $CI_COMMIT_BRANCH
20 when: always
20 when: always
21
21
22 stages:
22 stages:
23 - build
23 - build
24 - checks
24 - checks
25 - tests
25 - tests
26 - platform-compat
26 - platform-compat
27 - py-version-compat
27 - py-version-compat
28
28
29
29
30 image: registry.heptapod.net/mercurial/ci-images/mercurial-core:$HG_CI_IMAGE_TAG
30 image: registry.heptapod.net/mercurial/ci-images/mercurial-core:$HG_CI_IMAGE_TAG
31
31
32 variables:
32 variables:
33 PYTHON: python
33 PYTHON: python
34 HG_CI_IMAGE_TAG: "v2.1"
34 HG_CI_IMAGE_TAG: "v2.1"
35 TEST_HGTESTS_ALLOW_NETIO: "0"
36 SHOW_VERSION_OF: "$PYTHON"
37
35
38 .all:
36 .all:
39 # help changing all job at once when debugging
37 # help changing all job at once when debugging
40 when: on_success
38 when: on_success
41 # make sure jobs from later steps does not wait for anything implicit before
39 # make sure jobs from later steps does not wait for anything implicit before
42 # starting.
40 # starting.
43 needs: []
41 needs: []
44
42
45 .build-wheel:
43 .build-wheel:
46 extends: .all
44 extends: .all
47 image: "registry.heptapod.net/mercurial/ci-images/core-wheel-x86_64-c:v3.0"
45 image: "registry.heptapod.net/mercurial/ci-images/core-wheel-x86_64-c:v3.0"
48 stage: build
46 stage: build
49 variables:
47 variables:
50 WHEEL_TYPE: ""
48 WHEEL_TYPE: ""
51 FLAVOR: ""
49 FLAVOR: ""
52 MERCURIAL_SETUP_FORCE_TRANSLATIONS: "1"
50 MERCURIAL_SETUP_FORCE_TRANSLATIONS: "1"
53 CI_CLEVER_CLOUD_FLAVOR: "XS"
51 CI_CLEVER_CLOUD_FLAVOR: "XS"
54 before_script:
52 before_script:
55 - echo $WHEEL_TYPE
53 - echo $WHEEL_TYPE
56 - test -n "$WHEEL_TYPE"
54 - test -n "$WHEEL_TYPE"
57 - echo $FLAVOR
55 - echo $FLAVOR
58 - mkdir -p wheels/$WHEEL_TYPE/$BUILD_PY_ID
56 - mkdir -p wheels/$WHEEL_TYPE/$BUILD_PY_ID
59 script:
57 script:
60 - /opt/python/$BUILD_PY_ID/bin/python setup.py bdist_wheel --dist-dir tmp-wheelhouse
58 - /opt/python/$BUILD_PY_ID/bin/python setup.py bdist_wheel --dist-dir tmp-wheelhouse
61 - auditwheel repair tmp-wheelhouse/*.whl -w wheels/$WHEEL_TYPE/$BUILD_PY_ID
59 - auditwheel repair tmp-wheelhouse/*.whl -w wheels/$WHEEL_TYPE/$BUILD_PY_ID
62 artifacts:
60 artifacts:
63 paths:
61 paths:
64 - wheels/$WHEEL_TYPE/$BUILD_PY_ID
62 - wheels/$WHEEL_TYPE/$BUILD_PY_ID
65 expire_in: 1 week
63 expire_in: 1 week
66
64
67 build-c-wheel:
65 build-c-wheel:
68 extends: .build-wheel
66 extends: .build-wheel
69 variables:
67 variables:
70 WHEEL_TYPE: "c"
68 WHEEL_TYPE: "c"
71 parallel:
69 parallel:
72 matrix:
70 matrix:
73 - BUILD_PY_ID:
71 - BUILD_PY_ID:
74 - cp38-cp38
72 - cp38-cp38
75 - cp39-cp39
73 - cp39-cp39
76 - cp310-cp310
74 - cp310-cp310
77 - cp311-cp311
75 - cp311-cp311
78 - cp312-cp312
76 - cp312-cp312
79 - cp313-cp313
77 - cp313-cp313
80
78
81 .runtests:
79 .runtests:
82 extends: .all
80 extends: .all
83 stage: tests
81 stage: tests
82 variables:
83 SHOW_VERSION_OF: "$PYTHON"
84 TEST_HGTESTS_ALLOW_NETIO: "0"
84 # The runner made a clone as root.
85 # The runner made a clone as root.
85 # We make a new clone owned by user used to run the step.
86 # We make a new clone owned by user used to run the step.
86 before_script:
87 before_script:
87 - echo "python used, $PYTHON"
88 - echo "python used, $PYTHON"
88 - for tool in $SHOW_VERSION_OF ; do echo '#' version of $tool; $tool --version; done
89 - for tool in $SHOW_VERSION_OF ; do echo '#' version of $tool; $tool --version; done
89 - rm -rf /tmp/mercurial-ci/ # Clean slate if not using containers
90 - rm -rf /tmp/mercurial-ci/ # Clean slate if not using containers
90 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
91 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
91 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
92 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
92 - cd /tmp/mercurial-ci/
93 - cd /tmp/mercurial-ci/
93 - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
94 - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
94 script:
95 script:
95 - echo "$RUNTEST_ARGS"
96 - echo "$RUNTEST_ARGS"
96 - echo "$WHEEL_TYPE"
97 - echo "$WHEEL_TYPE"
97 - WHEEL=""
98 - WHEEL=""
98 - if test -n "$WHEEL_TYPE"; then
99 - if test -n "$WHEEL_TYPE"; then
99 PY_TAG=`$PYTHON -c 'import sys; v=sys.version_info; t=f"cp{v.major}{v.minor}"; print(f"{t}-{t}")'`;
100 PY_TAG=`$PYTHON -c 'import sys; v=sys.version_info; t=f"cp{v.major}{v.minor}"; print(f"{t}-{t}")'`;
100 echo "$PY_TAG";
101 echo "$PY_TAG";
101 test -n "PY_TAG";
102 test -n "PY_TAG";
102 WHEEL="`ls -1 $CI_PROJECT_DIR/wheels/$WHEEL_TYPE/$PY_TAG/*.whl`";
103 WHEEL="`ls -1 $CI_PROJECT_DIR/wheels/$WHEEL_TYPE/$PY_TAG/*.whl`";
103 test -n "$WHEEL";
104 test -n "$WHEEL";
104 fi
105 fi
105 - if test -n "$WHEEL"; then
106 - if test -n "$WHEEL"; then
106 echo installing from $WHEEL;
107 echo installing from $WHEEL;
107 HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" "$PYTHON" tests/run-tests.py --hg-wheel $WHEEL --color=always $RUNTEST_ARGS;
108 HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" "$PYTHON" tests/run-tests.py --hg-wheel $WHEEL --color=always $RUNTEST_ARGS;
108 else
109 else
109 echo installing from source;
110 echo installing from source;
110 HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS;
111 HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS;
111 fi
112 fi
112
113
113 checks:
114 checks:
114 extends: .runtests
115 extends: .runtests
115 stage: checks
116 stage: checks
116 variables:
117 variables:
117 SHOW_VERSION_OF: "$PYTHON black clang-format"
118 SHOW_VERSION_OF: "$PYTHON black clang-format"
118 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
119 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
119 CI_CLEVER_CLOUD_FLAVOR: S
120 CI_CLEVER_CLOUD_FLAVOR: S
120
121
121 rust-cargo-test:
122 rust-cargo-test:
122 extends: .all
123 extends: .all
123 stage: checks
124 stage: checks
124 script:
125 script:
125 - make rust-tests
126 - make rust-tests
126 - make cargo-clippy
127 - make cargo-clippy
127 variables:
128 variables:
128 CI_CLEVER_CLOUD_FLAVOR: S
129 CI_CLEVER_CLOUD_FLAVOR: S
129
130
130 .test-c:
131 .test-c:
131 extends: .runtests
132 extends: .runtests
132 variables:
133 variables:
133 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
134 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
134 TEST_HGTESTS_ALLOW_NETIO: "1"
135 TEST_HGTESTS_ALLOW_NETIO: "1"
135
136
136 test-c:
137 test-c:
137 extends: .test-c
138 extends: .test-c
138 needs:
139 needs:
139 - job: build-c-wheel
140 - job: build-c-wheel
140 parallel:
141 parallel:
141 matrix:
142 matrix:
142 - BUILD_PY_ID: "cp311-cp311"
143 - BUILD_PY_ID: "cp311-cp311"
143
144
144 variables:
145 variables:
145 WHEEL_TYPE: "c"
146 WHEEL_TYPE: "c"
146 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt"
147 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt"
147 TEST_HGTESTS_ALLOW_NETIO: "1"
148 TEST_HGTESTS_ALLOW_NETIO: "1"
148
149
149 test-pure:
150 test-pure:
150 extends: .runtests
151 extends: .runtests
151 variables:
152 variables:
152 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
153 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
153
154
154 test-rust:
155 test-rust:
155 extends: .runtests
156 extends: .runtests
156 variables:
157 variables:
157 HGWITHRUSTEXT: cpython
158 HGWITHRUSTEXT: cpython
158 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
159 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
159
160
160 test-rhg:
161 test-rhg:
161 extends: .runtests
162 extends: .runtests
162 variables:
163 variables:
163 HGWITHRUSTEXT: cpython
164 HGWITHRUSTEXT: cpython
164 RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt"
165 RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt"
165
166
166 test-chg:
167 test-chg:
167 extends: .runtests
168 extends: .runtests
168 variables:
169 variables:
169 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
170 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
170
171
171 # note: we should probably get a full matrix for flavor Γ— py-version, but this
172 # note: we should probably get a full matrix for flavor Γ— py-version, but this
172 # is a simple start to be able to check if we break the lowest supported
173 # is a simple start to be able to check if we break the lowest supported
173 # version (and 3.12 have been giving us various troubles)
174 # version (and 3.12 have been giving us various troubles)
174 test-3.8-c:
175 test-3.8-c:
175 extends: .test-c
176 extends: .test-c
176 stage: py-version-compat
177 stage: py-version-compat
177 when: manual # avoid overloading the CI by default
178 when: manual # avoid overloading the CI by default
178 variables:
179 variables:
179 PYTHON: python3.8
180 PYTHON: python3.8
180 WHEEL_TYPE: "c"
181 WHEEL_TYPE: "c"
181 RUNTEST_ARGS: " --blacklist /tmp/check-tests.txt"
182 RUNTEST_ARGS: " --blacklist /tmp/check-tests.txt"
182 TEST_HGTESTS_ALLOW_NETIO: "1"
183 TEST_HGTESTS_ALLOW_NETIO: "1"
183 needs:
184 needs:
184 - job: build-c-wheel
185 - job: build-c-wheel
185 parallel:
186 parallel:
186 matrix:
187 matrix:
187 - BUILD_PY_ID: "cp38-cp38"
188 - BUILD_PY_ID: "cp38-cp38"
188
189
189 test-3.12-c:
190 test-3.12-c:
190 extends: .test-c
191 extends: .test-c
191 stage: py-version-compat
192 stage: py-version-compat
192 when: manual # avoid overloading the CI by default
193 when: manual # avoid overloading the CI by default
193 variables:
194 variables:
194 PYTHON: python3.12
195 PYTHON: python3.12
195 WHEEL_TYPE: "c"
196 WHEEL_TYPE: "c"
196 RUNTEST_ARGS: " --blacklist /tmp/check-tests.txt"
197 RUNTEST_ARGS: " --blacklist /tmp/check-tests.txt"
197 TEST_HGTESTS_ALLOW_NETIO: "1"
198 TEST_HGTESTS_ALLOW_NETIO: "1"
198 needs:
199 needs:
199 - job: build-c-wheel
200 - job: build-c-wheel
200 parallel:
201 parallel:
201 matrix:
202 matrix:
202 - BUILD_PY_ID: "cp312-cp312"
203 - BUILD_PY_ID: "cp312-cp312"
203
204
204 test-3.12-rust:
205 test-3.12-rust:
205 extends: test-rust
206 extends: test-rust
206 stage: py-version-compat
207 stage: py-version-compat
207 when: manual # avoid overloading the CI by default
208 when: manual # avoid overloading the CI by default
208 variables:
209 variables:
209 PYTHON: python3.12
210 PYTHON: python3.12
210
211
211 test-3.13-c:
212 test-3.13-c:
212 extends: .test-c
213 extends: .test-c
213 stage: py-version-compat
214 stage: py-version-compat
214 when: manual # avoid overloading the CI by default
215 when: manual # avoid overloading the CI by default
215 variables:
216 variables:
216 PYTHON: python3.13
217 PYTHON: python3.13
217 WHEEL_TYPE: "c"
218 WHEEL_TYPE: "c"
218 RUNTEST_ARGS: " --blacklist /tmp/check-tests.txt"
219 RUNTEST_ARGS: " --blacklist /tmp/check-tests.txt"
219 TEST_HGTESTS_ALLOW_NETIO: "1"
220 TEST_HGTESTS_ALLOW_NETIO: "1"
220 needs:
221 needs:
221 - job: build-c-wheel
222 - job: build-c-wheel
222 parallel:
223 parallel:
223 matrix:
224 matrix:
224 - BUILD_PY_ID: "cp313-cp313"
225 - BUILD_PY_ID: "cp313-cp313"
225
226
226 test-3.13-rust:
227 test-3.13-rust:
227 extends: test-rust
228 extends: test-rust
228 stage: py-version-compat
229 stage: py-version-compat
229 when: manual # avoid overloading the CI by default
230 when: manual # avoid overloading the CI by default
230 variables:
231 variables:
231 PYTHON: python3.13
232 PYTHON: python3.13
232
233
233 check-pytype:
234 check-pytype:
234 extends: test-rust
235 extends: test-rust
235 stage: checks
236 stage: checks
236 before_script:
237 before_script:
237 - export PATH="/home/ci-runner/vendor/pyenv/pyenv-2.4.7-adf3c2bccf09cdb81febcfd15b186711a33ac7a8/shims:/home/ci-runner/vendor/pyenv/pyenv-2.4.7-adf3c2bccf09cdb81febcfd15b186711a33ac7a8/bin:$PATH"
238 - export PATH="/home/ci-runner/vendor/pyenv/pyenv-2.4.7-adf3c2bccf09cdb81febcfd15b186711a33ac7a8/shims:/home/ci-runner/vendor/pyenv/pyenv-2.4.7-adf3c2bccf09cdb81febcfd15b186711a33ac7a8/bin:$PATH"
238 - echo "PATH, $PATH"
239 - echo "PATH, $PATH"
239 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
240 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
240 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
241 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
241 - cd /tmp/mercurial-ci/
242 - cd /tmp/mercurial-ci/
242 - make local PYTHON=$PYTHON
243 - make local PYTHON=$PYTHON
243 - ./contrib/setup-pytype.sh
244 - ./contrib/setup-pytype.sh
244 script:
245 script:
245 - echo "Entering script section"
246 - echo "Entering script section"
246 - sh contrib/check-pytype.sh
247 - sh contrib/check-pytype.sh
247
248
248 # `sh.exe --login` sets a couple of extra environment variables that are defined
249 # `sh.exe --login` sets a couple of extra environment variables that are defined
249 # in the MinGW shell, but switches CWD to /home/$username. The previous value
250 # in the MinGW shell, but switches CWD to /home/$username. The previous value
250 # is stored in OLDPWD. Of the added variables, MSYSTEM is crucial to running
251 # is stored in OLDPWD. Of the added variables, MSYSTEM is crucial to running
251 # run-tests.py- it is needed to make run-tests.py generate a `python3` script
252 # run-tests.py- it is needed to make run-tests.py generate a `python3` script
252 # that satisfies the various shebang lines and delegates to `py -3`.
253 # that satisfies the various shebang lines and delegates to `py -3`.
253 .windows-runtests:
254 .windows-runtests:
254 extends: .all
255 extends: .all
255 when: manual # we don't have any Windows runners anymore at the moment
256 when: manual # we don't have any Windows runners anymore at the moment
256 stage: platform-compat
257 stage: platform-compat
257 before_script:
258 before_script:
258 - C:/hgdev/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.* > C:/hgdev/tmp/check-tests.txt'
259 - C:/hgdev/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.* > C:/hgdev/tmp/check-tests.txt'
259 # TODO: find/install cvs, bzr, perforce, gpg, sqlite3
260 # TODO: find/install cvs, bzr, perforce, gpg, sqlite3
260
261
261 script:
262 script:
262 - echo "Entering script section"
263 - echo "Entering script section"
263 - echo "python used, $Env:PYTHON"
264 - echo "python used, $Env:PYTHON"
264 - Invoke-Expression "$Env:PYTHON -V"
265 - Invoke-Expression "$Env:PYTHON -V"
265 - echo "$Env:RUNTEST_ARGS"
266 - echo "$Env:RUNTEST_ARGS"
266 - echo "$Env:TMP"
267 - echo "$Env:TMP"
267 - echo "$Env:TEMP"
268 - echo "$Env:TEMP"
268
269
269 - C:/hgdev/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" $PYTHON tests/run-tests.py --color=always $RUNTEST_ARGS'
270 - C:/hgdev/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" $PYTHON tests/run-tests.py --color=always $RUNTEST_ARGS'
270
271
271 windows:
272 windows:
272 extends: .windows-runtests
273 extends: .windows-runtests
273 when: manual
274 when: manual
274 tags:
275 tags:
275 - windows
276 - windows
276 variables:
277 variables:
277 RUNTEST_ARGS: "-j 8 --blacklist C:/hgdev/tmp/check-tests.txt"
278 RUNTEST_ARGS: "-j 8 --blacklist C:/hgdev/tmp/check-tests.txt"
278 PYTHON: C:/hgdev/venvs/python39-x64/Scripts/python.exe
279 PYTHON: C:/hgdev/venvs/python39-x64/Scripts/python.exe
279
280
280 windows-pyox:
281 windows-pyox:
281 extends: .windows-runtests
282 extends: .windows-runtests
282 when: manual # pyoxidizer builds seem broken with --no-use-pep517
283 when: manual # pyoxidizer builds seem broken with --no-use-pep517
283 tags:
284 tags:
284 - windows
285 - windows
285 variables:
286 variables:
286 RUNTEST_ARGS: "--blacklist C:/hgdev/tmp/check-tests.txt --pyoxidized"
287 RUNTEST_ARGS: "--blacklist C:/hgdev/tmp/check-tests.txt --pyoxidized"
287 PYTHON: C:/hgdev/venvs/python39-x64/Scripts/python.exe
288 PYTHON: C:/hgdev/venvs/python39-x64/Scripts/python.exe
288
289
289 macos:
290 macos:
290 extends: .test-c
291 extends: .test-c
291 stage: platform-compat
292 stage: platform-compat
292 when: manual # avoid overloading the CI by default
293 when: manual # avoid overloading the CI by default
293 tags:
294 tags:
294 - macos
295 - macos
295 variables:
296 variables:
296 WHEEL_TYPE: "c"
297 WHEEL_TYPE: "c"
297 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt"
298 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt"
298 TEST_HGTESTS_ALLOW_NETIO: "1"
299 TEST_HGTESTS_ALLOW_NETIO: "1"
299 needs:
300 needs:
300 - build-c-wheel-macos
301 - build-c-wheel-macos
301
302
302 # we use CIBW_SKIP="pp*" to prevent the building of pypy wheel that are neither
303 # we use CIBW_SKIP="pp*" to prevent the building of pypy wheel that are neither
303 # needed nor working.
304 # needed nor working.
304 #
305 #
305 # We could use CIBW_BUILD="cp310-*" to only build the Python 3.10 wheel for now as
306 # We could use CIBW_BUILD="cp310-*" to only build the Python 3.10 wheel for now as
306 # this is the only one we need to test. However testing that build work on all version is useful and match what we do with Linux.
307 # this is the only one we need to test. However testing that build work on all version is useful and match what we do with Linux.
307 #
308 #
308 # The weird directory structure match the one we use for Linux to deal with the
309 # The weird directory structure match the one we use for Linux to deal with the
309 # multiple jobs. (all this might be unnecessary)
310 # multiple jobs. (all this might be unnecessary)
310 build-c-wheel-macos:
311 build-c-wheel-macos:
311 when: manual # avoid overloading the CI by default
312 when: manual # avoid overloading the CI by default
312 stage: build
313 stage: build
313 tags:
314 tags:
314 - macos
315 - macos
315 script:
316 script:
316 - rm -rf tmp-wheels
317 - rm -rf tmp-wheels
317 - CIBW_SKIP="pp*" cibuildwheel --output-dir tmp-wheels/
318 - CIBW_SKIP="pp*" cibuildwheel --output-dir tmp-wheels/
318 - for py_version in cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312 cp313-cp313; do
319 - for py_version in cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312 cp313-cp313; do
319 mkdir -p wheels/c/$py_version/;
320 mkdir -p wheels/c/$py_version/;
320 mv tmp-wheels/*$py_version*.whl wheels/c/$py_version/;
321 mv tmp-wheels/*$py_version*.whl wheels/c/$py_version/;
321 done
322 done
322 - rm -rf tmp-wheels
323 - rm -rf tmp-wheels
323 artifacts:
324 artifacts:
324 paths:
325 paths:
325 - wheels
326 - wheels
326 expire_in: 1 week
327 expire_in: 1 week
General Comments 0
You need to be logged in to leave comments. Login now