From 193c8de9db90bdd06220575f5b0e0d0cae3c3f81 Mon Sep 17 00:00:00 2001
From: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
Date: Wed, 14 Dec 2022 13:49:56 +0100
Subject: [PATCH] [ci] add job switcher (#6433)

* [ci] add job switcher

* add before_script to docker and k8s runners

* upd runners

* sccache :(
---
 polkadot/.gitlab-ci.yml                       | 14 ++++++++++++--
 polkadot/scripts/ci/gitlab/pipeline/build.yml |  1 -
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/polkadot/.gitlab-ci.yml b/polkadot/.gitlab-ci.yml
index 01763a13d9c..6d9300ba93a 100644
--- a/polkadot/.gitlab-ci.yml
+++ b/polkadot/.gitlab-ci.yml
@@ -68,6 +68,7 @@ default:
 # they will be used if the job fails
 .pipeline-stopper-vars:
   before_script:
+    - !reference [.job-switcher, before_script]
     - 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
@@ -78,18 +79,27 @@ default:
      reports:
        dotenv: pipeline-stopper.env
 
+.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:
   image:                           "${CI_IMAGE}"
+  before_script:
+    - !reference [.job-switcher, before_script]
   tags:
     - kubernetes-parity-build
 
 .docker-env:
   image:                           "${CI_IMAGE}"
+  before_script:
+    - !reference [.job-switcher, before_script]
   tags:
-    - linux-docker
+    - linux-docker-vm-c2
 
 .compiler-info:
   before_script:
+    - !reference [.job-switcher, before_script]
     - rustup show
     - cargo --version
 
@@ -144,6 +154,7 @@ default:
 
 .build-push-image:
   before_script:
+    - !reference [.job-switcher, before_script]
     - test -s ./artifacts/VERSION || exit 1
     - test -s ./artifacts/EXTRATAG || exit 1
     - VERSION="$(cat ./artifacts/VERSION)"
@@ -230,7 +241,6 @@ remove-cancel-pipeline-message:
     PR_NUM:                        "${CI_COMMIT_REF_NAME}"
   trigger:
     project:                       "parity/infrastructure/ci_cd/pipeline-stopper"
-    branch:                        "as-improve"
 
 cancel-pipeline-test-linux-stable:
   extends:                         .cancel-pipeline-template
diff --git a/polkadot/scripts/ci/gitlab/pipeline/build.yml b/polkadot/scripts/ci/gitlab/pipeline/build.yml
index 454e6289aa4..c1ec964e96b 100644
--- a/polkadot/scripts/ci/gitlab/pipeline/build.yml
+++ b/polkadot/scripts/ci/gitlab/pipeline/build.yml
@@ -74,7 +74,6 @@ build-test-collators:
   script:
     - time cargo build --profile testnet --verbose -p test-parachain-adder-collator
     - time cargo build --profile testnet --verbose -p test-parachain-undying-collator
-    - sccache -s
     # pack artifacts
     - mkdir -p ./artifacts
     - mv ./target/testnet/adder-collator ./artifacts/.
-- 
GitLab