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