Skip to content
Snippets Groups Projects
.gitlab-ci.yml 7.08 KiB
stages:
  - schedule
  - labels
  - quality
  - build
  - tests
  - deploy
  - deploy_readme

workflow:
  rules:
    - changes:
      - docker/Dockerfile
      - end2end-tests/**/*
      - node/**/*
      - pallets/**/*
      - runtime/**/*
      - .gitlab-ci.yml
      - Cargo.toml
      - Cargo.lock

sanity_tests:
  extends: .env
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TOPIC=="sanity-tests"'
    - when: never
  stage: schedule
  script:
    - cargo sanity-${CURRENCY}

check_labels:
  extends: .env
  stage: labels
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - when: never
  script:
    - ./scripts/check_labels.sh $CI_MERGE_REQUEST_LABELS $CI_MERGE_REQUEST_MILESTONE

.env:
  image: paritytech/ci-linux:1.68.2-buster
  tags:
    - dind

fmt_and_clippy:
  extends: .env
  rules:
    - if: $CI_COMMIT_REF_NAME =~ /^wip*$/
      when: manual
    - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH == "master"'
      when: never
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - when: manual
  stage: quality
  script:
    - cargo fmt -- --version
    - cargo fmt -- --check
    - cargo clippy -- -V
    - cargo clippy --all --tests -- -D warnings

build_debug:
  extends: .env
  rules:
    - if: $CI_COMMIT_TAG
      when: never
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "master"'
      changes:
      - Cargo.lock
    - when: never
  stage: build