.gitlab-ci.yml 1.28 KB
Newer Older
Alexander Færøy's avatar
Alexander Færøy committed
1
2
3
stages:
  - build

4
5
6
7
variables:
  # We don't need Husky to install the Git hooks for CI.
  CARGO_HUSKY_DONT_INSTALL_HOOKS: "true"

Alexander Færøy's avatar
Alexander Færøy committed
8
9
10
11
rust-latest:
  stage: build
  image: rust:latest
  script:
12
13
    - cargo build --verbose --target x86_64-unknown-linux-gnu
    - cargo test --verbose
14
    - rustup component add clippy rustfmt
daniel.eades's avatar
daniel.eades committed
15
    - cargo clippy --all-features --tests -- -D warnings
16
    - cargo fmt -- --check
17
    - cargo install cargo-audit
18
    - cargo audit -D warnings
Alexander Færøy's avatar
Alexander Færøy committed
19

20
21
22
23
rust-latest-async-std:
  stage: build
  image: rust:latest
  script:
Nick Mathewson's avatar
Nick Mathewson committed
24
    - cd crates/tor-client && cargo check --no-default-features --features=async-std
25

Alexander Færøy's avatar
Alexander Færøy committed
26
27
28
29
30
rust-nightly:
  stage: build
  image: rustlang/rust:nightly
  allow_failure: true
  script:
31
32
    - cargo build --verbose --target x86_64-unknown-linux-gnu --all-features
    - cargo test --verbose --all-features
33
    - rustup component add clippy
34
35
    - cargo clippy --all-features
    - RUSTDOCFLAGS="-Dwarnings" cargo doc --all-features --document-private-items
36

37
build-repro:
trinity-1686a's avatar
trinity-1686a committed
38
39
40
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule"
    - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_TAG != null
41
42
43
44
45
46
  stage: build
  image: rust:1.54.0-alpine3.14
  script:
    - ./maint/reproducible_build.sh
  artifacts:
    paths:
47
48
      - arti-linux
      - arti-windows.exe
49
    expire_in: 1 day
50
51
  tags:
    - TPA