[ci] add job switcher (#12922)

This commit is contained in:
Alexander Samusev
2022-12-14 12:36:33 +01:00
committed by GitHub
parent 68096de80c
commit 3e0a1904b7
4 changed files with 14 additions and 1 deletions
+8 -1
View File
@@ -81,8 +81,14 @@ default:
paths: paths:
- artifacts/ - artifacts/
.job-switcher:
before_script:
- if echo "$CI_DISABLED_JOBS" | grep -xF "$CI_JOB_NAME"; then echo "The job has been cancelled in CI settings"; exit 0; fi
.kubernetes-env: .kubernetes-env:
image: "${CI_IMAGE}" image: "${CI_IMAGE}"
before_script:
- !reference [.job-switcher, before_script]
tags: tags:
- kubernetes-parity-build - kubernetes-parity-build
@@ -95,6 +101,7 @@ default:
.pipeline-stopper-vars: .pipeline-stopper-vars:
script: script:
- !reference [.job-switcher, before_script]
- echo "Collecting env variables for the cancel-pipeline job" - echo "Collecting env variables for the cancel-pipeline job"
- echo "FAILED_JOB_URL=${CI_JOB_URL}" > pipeline-stopper.env - echo "FAILED_JOB_URL=${CI_JOB_URL}" > pipeline-stopper.env
- echo "FAILED_JOB_NAME=${CI_JOB_NAME}" >> pipeline-stopper.env - echo "FAILED_JOB_NAME=${CI_JOB_NAME}" >> pipeline-stopper.env
@@ -110,6 +117,7 @@ default:
before_script: before_script:
# TODO: remove unset invocation when we'll be free from 'ENV RUSTC_WRAPPER=sccache' & sccache itself in all images # TODO: remove unset invocation when we'll be free from 'ENV RUSTC_WRAPPER=sccache' & sccache itself in all images
- unset RUSTC_WRAPPER - unset RUSTC_WRAPPER
- !reference [.job-switcher, before_script]
- !reference [.rust-info-script, script] - !reference [.rust-info-script, script]
- !reference [.rusty-cachier, before_script] - !reference [.rusty-cachier, before_script]
- !reference [.pipeline-stopper-vars, script] - !reference [.pipeline-stopper-vars, script]
@@ -300,7 +308,6 @@ rusty-cachier-notify:
PR_NUM: "${PR_NUM}" PR_NUM: "${PR_NUM}"
trigger: trigger:
project: "parity/infrastructure/ci_cd/pipeline-stopper" project: "parity/infrastructure/ci_cd/pipeline-stopper"
branch: "as-improve"
remove-cancel-pipeline-message: remove-cancel-pipeline-message:
stage: .post stage: .post
@@ -62,6 +62,7 @@ build-linux-substrate:
- job: test-linux-stable - job: test-linux-stable
artifacts: false artifacts: false
before_script: before_script:
- !reference [.job-switcher, before_script]
- mkdir -p ./artifacts/substrate/ - mkdir -p ./artifacts/substrate/
- !reference [.rusty-cachier, before_script] - !reference [.rusty-cachier, before_script]
# tldr: we need to checkout the branch HEAD explicitly because of our dynamic versioning approach while building the substrate binary # tldr: we need to checkout the branch HEAD explicitly because of our dynamic versioning approach while building the substrate binary
@@ -94,6 +95,7 @@ build-linux-substrate:
# this variable gets overriden by "rusty-cachier environment inject", use the value as default # this variable gets overriden by "rusty-cachier environment inject", use the value as default
CARGO_TARGET_DIR: "$CI_PROJECT_DIR/target" CARGO_TARGET_DIR: "$CI_PROJECT_DIR/target"
before_script: before_script:
- !reference [.job-switcher, before_script]
- mkdir -p ./artifacts/subkey - mkdir -p ./artifacts/subkey
- !reference [.rusty-cachier, before_script] - !reference [.rusty-cachier, before_script]
script: script:
@@ -118,6 +120,7 @@ build-subkey-macos:
# duplicating before_script & script sections from .build-subkey hidden job # duplicating before_script & script sections from .build-subkey hidden job
# to overwrite rusty-cachier integration as it doesn't work on macos # to overwrite rusty-cachier integration as it doesn't work on macos
before_script: before_script:
- !reference [.job-switcher, before_script]
- mkdir -p ./artifacts/subkey - mkdir -p ./artifacts/subkey
script: script:
- cd ./bin/utils/subkey - cd ./bin/utils/subkey
@@ -12,6 +12,7 @@
DOCKERFILE: $PRODUCT.Dockerfile DOCKERFILE: $PRODUCT.Dockerfile
IMAGE_NAME: docker.io/$IMAGE_PATH IMAGE_NAME: docker.io/$IMAGE_PATH
before_script: before_script:
- !reference [.job-switcher, before_script]
- cd ./artifacts/$PRODUCT/ - cd ./artifacts/$PRODUCT/
- VERSION="$(cat ./VERSION)" - VERSION="$(cat ./VERSION)"
- echo "${PRODUCT} version = ${VERSION}" - echo "${PRODUCT} version = ${VERSION}"
@@ -65,6 +65,7 @@ cargo-check-benches:
before_script: before_script:
# perform rusty-cachier operations before any further modifications to the git repo to make cargo feel cheated not so much # perform rusty-cachier operations before any further modifications to the git repo to make cargo feel cheated not so much
- !reference [.rust-info-script, script] - !reference [.rust-info-script, script]
- !reference [.job-switcher, before_script]
- !reference [.rusty-cachier, before_script] - !reference [.rusty-cachier, before_script]
- !reference [.pipeline-stopper-vars, script] - !reference [.pipeline-stopper-vars, script]
# merges in the master branch on PRs # merges in the master branch on PRs
@@ -414,6 +415,7 @@ cargo-check-each-crate-macos:
- .collect-artifacts - .collect-artifacts
- .pipeline-stopper-artifacts - .pipeline-stopper-artifacts
before_script: before_script:
- !reference [.job-switcher, before_script]
- !reference [.rust-info-script, script] - !reference [.rust-info-script, script]
- !reference [.pipeline-stopper-vars, script] - !reference [.pipeline-stopper-vars, script]
variables: variables: