##// END OF EJS Templates
ci: for branches, use a single trigger...
marmoute -
r53151:b65f11f4 stable
parent child Browse files
Show More
@@ -20,6 +20,7 b' workflow:'
20 when: always
20 when: always
21
21
22 stages:
22 stages:
23 - nightly-trigger
23 - build
24 - build
24 - checks
25 - checks
25 - tests
26 - tests
@@ -79,6 +80,17 b' variables:'
79 - .dummy
80 - .dummy
80 when: manual
81 when: manual
81
82
83
84 trigger-nightly-build:
85 extends: .trigger
86 stage: nightly-trigger
87 rules:
88 - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH
89 when: manual
90 allow_failure: true
91 - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC
92 when: never
93
82 .build-wheel:
94 .build-wheel:
83 extends: .all
95 extends: .all
84 image: "registry.heptapod.net/mercurial/ci-images/core-wheel-x86_64-c:v3.0"
96 image: "registry.heptapod.net/mercurial/ci-images/core-wheel-x86_64-c:v3.0"
@@ -100,6 +112,7 b' variables:'
100 - wheels/
112 - wheels/
101 expire_in: 1 week
113 expire_in: 1 week
102
114
115
103 build-c-wheel:
116 build-c-wheel:
104 extends: .build-wheel
117 extends: .build-wheel
105 variables:
118 variables:
@@ -239,12 +252,18 b' test-chg:'
239 trigger-pycompat:
252 trigger-pycompat:
240 extends: .trigger
253 extends: .trigger
241 stage: py-version-compat
254 stage: py-version-compat
255 rules:
256 - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH
257 when: on_success
258 needs:
259 - trigger-nightly-build
260 - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC
261 when: manual
262 allow_failure: true
242
263
243 .test-c-pycompat:
264 .test-c-pycompat:
244 extends: .test-c
265 extends: .test-c
245 stage: py-version-compat
266 stage: py-version-compat
246 needs:
247 - trigger-pycompat
248 variables:
267 variables:
249 WHEEL_TYPE: "c"
268 WHEEL_TYPE: "c"
250
269
@@ -256,6 +275,7 b' test-3.8-c:'
256 variables:
275 variables:
257 PYTHON: python3.8
276 PYTHON: python3.8
258 needs:
277 needs:
278 - job: trigger-pycompat
259 - job: build-c-wheel
279 - job: build-c-wheel
260 parallel:
280 parallel:
261 matrix:
281 matrix:
@@ -266,6 +286,7 b' test-3.12-c:'
266 variables:
286 variables:
267 PYTHON: python3.12
287 PYTHON: python3.12
268 needs:
288 needs:
289 - job: trigger-pycompat
269 - job: build-c-wheel
290 - job: build-c-wheel
270 parallel:
291 parallel:
271 matrix:
292 matrix:
@@ -284,6 +305,7 b' test-3.13-c:'
284 variables:
305 variables:
285 PYTHON: python3.13
306 PYTHON: python3.13
286 needs:
307 needs:
308 - job: trigger-pycompat
287 - job: build-c-wheel
309 - job: build-c-wheel
288 parallel:
310 parallel:
289 matrix:
311 matrix:
@@ -333,6 +355,12 b' check-pytype:'
333 trigger-wheel-windows:
355 trigger-wheel-windows:
334 extends: .trigger
356 extends: .trigger
335 stage: build
357 stage: build
358 rules:
359 - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH
360 when: never
361 - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC
362 when: manual
363 allow_failure: true
336
364
337 build-c-wheel-windows:
365 build-c-wheel-windows:
338 extends: .windows
366 extends: .windows
@@ -340,7 +368,13 b' build-c-wheel-windows:'
340 # wait for someone to click on "trigger-wheel-windows"
368 # wait for someone to click on "trigger-wheel-windows"
341 when: on_success
369 when: on_success
342 needs:
370 needs:
343 - "trigger-wheel-windows"
371 rules:
372 - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH
373 needs:
374 - trigger-nightly-build
375 - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC
376 needs:
377 - "trigger-wheel-windows"
344 variables:
378 variables:
345 MERCURIAL_SETUP_FORCE_TRANSLATIONS: "1"
379 MERCURIAL_SETUP_FORCE_TRANSLATIONS: "1"
346 script:
380 script:
@@ -458,7 +492,13 b' macos:'
458 # The weird directory structure match the one we use for Linux to deal with the
492 # The weird directory structure match the one we use for Linux to deal with the
459 # multiple jobs. (all this might be unnecessary)
493 # multiple jobs. (all this might be unnecessary)
460 build-c-wheel-macos:
494 build-c-wheel-macos:
461 when: manual # avoid overloading the CI by default
495 rules:
496 - if: $CI_COMMIT_BRANCH =~ $RE_BRANCH
497 needs:
498 - trigger-nightly-build
499 - if: $CI_COMMIT_BRANCH =~ $RE_TOPIC
500 when: manual # avoid overloading the CI by default
501 allow_failure: true
462 stage: build
502 stage: build
463 tags:
503 tags:
464 - macos
504 - macos
@@ -494,9 +534,6 b' build-c-wheel-macos:'
494 when: on_success
534 when: on_success
495 - if: '$CI_COMMIT_BRANCH =~ $RE_TOPIC'
535 - if: '$CI_COMMIT_BRANCH =~ $RE_TOPIC'
496 when: never
536 when: never
497 # if you need to test this, make it
498 # when: manual
499 # allow_failure: true
500
537
501 # a dummy job that gather greatly parallel object into one.
538 # a dummy job that gather greatly parallel object into one.
502 #
539 #
@@ -505,10 +542,10 b' build-c-wheel-macos:'
505 #
542 #
506 .sink:
543 .sink:
507 extends:
544 extends:
508 - .nightly_build_sink
545 - .nightly_build_step
509 - .dummy
546 - .dummy
510
547
511 linux-test-result:
548 test-result-linux:
512 extends: .sink
549 extends: .sink
513 needs:
550 needs:
514 - test-c
551 - test-c
@@ -516,12 +553,12 b' linux-test-result:'
516 - test-3.12-c
553 - test-3.12-c
517 - test-3.13-c
554 - test-3.13-c
518
555
519 macos-test-result:
556 test-result-macos:
520 extends: .sink
557 extends: .sink
521 needs:
558 needs:
522 - macos
559 - macos
523
560
524 windows-test-result:
561 test-result-windows:
525 extends: .sink
562 extends: .sink
526 needs:
563 needs:
527 - windows
564 - windows
@@ -544,9 +581,9 b' upload-wheel-nightly:'
544 - build-c-wheel
581 - build-c-wheel
545 - build-c-wheel-macos
582 - build-c-wheel-macos
546 - build-c-wheel-windows
583 - build-c-wheel-windows
547 - linux-test-result
584 - test-result-linux
548 - macos-test-result
585 - test-result-macos
549 - windows-test-result
586 - test-result-windows
550 # It would be nice to be able to restrict that a bit to protected branch only
587 # It would be nice to be able to restrict that a bit to protected branch only
551 variables:
588 variables:
552 TWINE_USERNAME: gitlab-ci-token
589 TWINE_USERNAME: gitlab-ci-token
General Comments 0
You need to be logged in to leave comments. Login now