diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..fa03e1a3de4bc45483bcca49b09d04b2f78d4dab --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,67 @@ +stages: + - style + - tests + - quality + - build + +workflow: + rules: + - changes: + - node/**/* + - pallets/**/* + - runtime/**/* + - .gitlab-ci.yml + - Cargo.toml + - Cargo.lock + +.env: + image: paritytech/ci-linux:production + tags: + - elois-tauon + +rustfmt: + extends: .env + stage: style + rules: + - if: $CI_COMMIT_TAG + when: never + - if: $CI_MERGE_REQUEST_ID + script: + - cargo fmt -- --version + - cargo fmt -- --check + +tests: + extends: .env + rules: + - if: $CI_COMMIT_REF_NAME =~ /^wip*$/ + when: manual + - if: $CI_COMMIT_TAG + when: never + - if: '$CI_MERGE_REQUEST_ID ||$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH =~ /^release/' + - when: manual + stage: tests + script: + - cargo test + +clippy: + extends: .env + rules: + - if: $CI_COMMIT_TAG + when: never + - if: $CI_MERGE_REQUEST_ID + - when: on_success + stage: quality + script: + - cargo clippy -- -V + - cargo clippy --all --tests -- -D warnings + +build: + extends: .env + rules: + - if: $CI_COMMIT_REF_NAME =~ /^wip*$/ + when: manual + - if: '$CI_COMMIT_TAG || $CI_MERGE_REQUEST_ID ||$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH =~ /^release/' + - when: manual + stage: build + script: + - cargo build --release