Skip to content
This repository has been archived by the owner on Nov 1, 2023. It is now read-only.

Commit

Permalink
[ci] Adjust job order in pipeline test stage with Gitlab DAG (parityt…
Browse files Browse the repository at this point in the history
…ech#11442)

* [Do Not Merge] Test gitlab DAG in pipeline

* add jobs for pipeline cancel

* add check-tracing to cancel-pipeline
  • Loading branch information
alvicsam authored and DaviRain-Su committed Aug 23, 2022
1 parent 85d8e80 commit 1ab9bb6
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -201,3 +201,29 @@ deploy-prometheus-alerting-rules:
changes:
- .gitlab-ci.yml
- ./scripts/ci/monitoring/**/*

#### stage: .post

# This job cancels the whole pipeline if any of provided jobs fail.
# In a DAG, every jobs chain is executed independently of others. The `fail_fast` principle suggests
# to fail the pipeline as soon as possible to shorten the feedback loop.
cancel-pipeline:
stage: .post
needs:
- job: test-linux-stable
artifacts: false
- job: test-linux-stable-int
artifacts: false
- job: cargo-check-subkey
artifacts: false
- job: cargo-check-benches
artifacts: false
- job: check-tracing
artifacts: false
rules:
- if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
when: on_failure
variables:
PROJECT_ID: "${CI_PROJECT_ID}"
PIPELINE_ID: "${CI_PIPELINE_ID}"
trigger: "parity/infrastructure/ci_cd/pipeline-stopper"
28 changes: 28 additions & 0 deletions scripts/ci/gitlab/pipeline/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ cargo-fmt:

cargo-clippy:
stage: test
# this is an artificial job dependency, for pipeline optimization using GitLab's DAGs
needs:
- job: cargo-fmt
artifacts: false
extends:
- .docker-env
- .test-refs
Expand All @@ -38,6 +42,10 @@ cargo-clippy:

cargo-check-nixos:
stage: test
# this is an artificial job dependency, for pipeline optimization using GitLab's DAGs
needs:
- job: cargo-clippy
artifacts: false
extends:
- .docker-env
- .test-refs
Expand Down Expand Up @@ -117,6 +125,10 @@ cargo-check-subkey:

cargo-check-try-runtime:
stage: test
# this is an artificial job dependency, for pipeline optimization using GitLab's DAGs
needs:
- job: cargo-check-subkey
artifacts: false
extends:
- .docker-env
- .test-refs
Expand All @@ -125,6 +137,10 @@ cargo-check-try-runtime:

cargo-check-wasmer-sandbox:
stage: test
# this is an artificial job dependency, for pipeline optimization using GitLab's DAGs
needs:
- job: cargo-check-try-runtime
artifacts: false
extends:
- .docker-env
- .test-refs
Expand All @@ -133,6 +149,10 @@ cargo-check-wasmer-sandbox:

test-deterministic-wasm:
stage: test
# this is an artificial job dependency, for pipeline optimization using GitLab's DAGs
needs:
- job: cargo-check-wasmer-sandbox
artifacts: false
extends:
- .docker-env
- .test-refs
Expand Down Expand Up @@ -217,6 +237,10 @@ test-linux-stable-int:

check-tracing:
stage: test
# this is an artificial job dependency, for pipeline optimization using GitLab's DAGs
needs:
- job: test-linux-stable-int
artifacts: false
extends:
- .docker-env
- .test-refs
Expand All @@ -227,6 +251,10 @@ check-tracing:

test-full-crypto-feature:
stage: test
# this is an artificial job dependency, for pipeline optimization using GitLab's DAGs
needs:
- job: check-tracing
artifacts: false
extends:
- .docker-env
- .test-refs
Expand Down

0 comments on commit 1ab9bb6

Please sign in to comment.