##// END OF EJS Templates
ci: add "sink" for parallel tests...
marmoute -
r53150:3f7c7a85 stable
parent child Browse files
Show More
@@ -56,6 +56,17 b' variables:'
56 # starting.
56 # starting.
57 needs: []
57 needs: []
58
58
59 # dummy job that serve dependencies purpose
60 .dummy:
61 # smallest I know of
62 image: busybox
63 variables:
64 GIT_STRATEGY: none
65 CI_CLEVER_CLOUD_FLAVOR: "XS"
66 script:
67 - echo 'nothing to see here'
68
69
59 # a dummy job that only serve to trigger others
70 # a dummy job that only serve to trigger others
60 #
71 #
61 # This is useful for two reasons:
72 # This is useful for two reasons:
@@ -63,15 +74,10 b' variables:'
63 # - manual starting job cannot make the pipeline "fails" and block a merge,
74 # - manual starting job cannot make the pipeline "fails" and block a merge,
64 # while "on_success" job depending on manual trigger works fine in that regard.
75 # while "on_success" job depending on manual trigger works fine in that regard.
65 .trigger:
76 .trigger:
66 extends: .all
77 extends:
67 # smallest I know of
78 - .all
68 image: busybox
79 - .dummy
69 when: manual
80 when: manual
70 variables:
71 GIT_STRATEGY: none
72 CI_CLEVER_CLOUD_FLAVOR: "XS"
73 script:
74 - echo 'nothing to see here'
75
81
76 .build-wheel:
82 .build-wheel:
77 extends: .all
83 extends: .all
@@ -472,21 +478,10 b' build-c-wheel-macos:'
472 - wheels
478 - wheels
473 expire_in: 1 week
479 expire_in: 1 week
474
480
475 # Upload nightly build wheel on the heptapod registry on test success
481
476 #
482 .nightly_build_step:
477 # At the time this task is added, since the mac wheels are built on shell
478 # runner, those nightly are not be considered fully secured.
479 #
480 # In addition, since any job can upload package, pretty much anyone with CI
481 # access can upload anything pretending to be any version. To fix it we would
482 # have to prevent the CI token to upload to the registry and have dedicated
483 # credential accessible only from protected branches.
484 upload-wheel-nightly:
485 extends: .all
483 extends: .all
486 image: "registry.heptapod.net/mercurial/ci-images/twine:v3.0"
487 stage: upload
484 stage: upload
488 # because we don't want to upload only half of a wheel
489 interruptible: false
490 rules:
485 rules:
491 - if: '$CI_COMMIT_BRANCH =~ $RE_BRANCH'
486 - if: '$CI_COMMIT_BRANCH =~ $RE_BRANCH'
492 # note that at the time of writing this, this job depends on multiple
487 # note that at the time of writing this, this job depends on multiple
@@ -502,18 +497,56 b' upload-wheel-nightly:'
502 # if you need to test this, make it
497 # if you need to test this, make it
503 # when: manual
498 # when: manual
504 # allow_failure: true
499 # allow_failure: true
500
501 # a dummy job that gather greatly parallel object into one.
502 #
503 # It exists because gitlab-ci has a "50 jobs" limit on "needs" entries.
504 # (yes, this is sad)
505 #
506 .sink:
507 extends:
508 - .nightly_build_sink
509 - .dummy
510
511 linux-test-result:
512 extends: .sink
513 needs:
514 - test-c
515 - test-3.8-c
516 - test-3.12-c
517 - test-3.13-c
518
519 macos-test-result:
520 extends: .sink
521 needs:
522 - macos
523
524 windows-test-result:
525 extends: .sink
526 needs:
527 - windows
528
529 # Upload nightly build wheel on the heptapod registry on test success
530 #
531 # At the time this task is added, since the mac wheels are built on shell
532 # runner, those nightly are not be considered fully secured.
533 #
534 # In addition, since any job can upload package, pretty much anyone with CI
535 # access can upload anything pretending to be any version. To fix it we would
536 # have to prevent the CI token to upload to the registry and have dedicated
537 # credential accessible only from protected branches.
538 upload-wheel-nightly:
539 extends: .nightly_build_step
540 image: "registry.heptapod.net/mercurial/ci-images/twine:v3.0"
541 # because we don't want to upload only half of a wheel
542 interruptible: false
505 needs:
543 needs:
506 - build-c-wheel
544 - build-c-wheel
507 - build-c-wheel-macos
545 - build-c-wheel-macos
508 - build-c-wheel-windows
546 - build-c-wheel-windows
509 - test-c
547 - linux-test-result
510 - macos
548 - macos-test-result
511 # if we also requires windows to be happy, reach the "50 needed jobs" limit.
549 - windows-test-result
512 # So we need some intermediate job to reduce the number.
513 # - windows
514 - test-3.8-c
515 - test-3.12-c
516 - test-3.13-c
517 # It would be nice to be able to restrict that a bit to protected branch only
550 # It would be nice to be able to restrict that a bit to protected branch only
518 variables:
551 variables:
519 TWINE_USERNAME: gitlab-ci-token
552 TWINE_USERNAME: gitlab-ci-token
General Comments 0
You need to be logged in to leave comments. Login now