Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.23 KiB
Newer Older
include:
  - project: "picodata/devops/ci-templates"
    file: "all.yml"
    ref: 0.1.1
stages:
  - test
  - lint
  - utility

variables:
  GIT_STRATEGY: clone
  CI_IMAGE_REPOSITORY: docker-public.binary.picodata.io
  CI_IMAGE: "${CI_IMAGE_REPOSITORY}/${CI_PROJECT_NAME}:0.1.0"
  DOCKER_AUTH_CONFIG: $DOCKER_AUTH_RO
  CARGO_NET_GIT_FETCH_WITH_CLI: "true"

default:
  image: $CI_IMAGE

.base:
  extends: .base_rust_cache
  variables:
    # variables for rust cache
    CARGO_HOME: $CI_PROJECT_DIR/.cargo
    SCCACHE_DIR: $CI_PROJECT_DIR/.cache/sccache
    RUSTC_WRAPPER: sccache
  image:
    name: $CI_IMAGE
    pull_policy: [always, if-not-present]
  tags:
    - docker
  needs: []
  interruptible: true

int-test:
  stage: "test"
  extends: .base
  script:
    - make int-test

rust-lint:
  extends: .base
  stage: lint
  script:
    - make rust-lint

rust-fmt:
  stage: lint
  extends: .base
  script:
    - cargo fmt --check

publish-dry-run:
  stage: utility
  extends: .base
  script:
    - make publish-dry-run

publish:
  stage: utility
  extends: .base
  when: manual
  script:
    - make publish
  needs: [publish-dry-run]

build_ci:
  stage: utility
  extends: .build_ci_template
    DOCKER_REPOSITORY: "docker-public.binary.picodata.io"