stages: - build variables: # We don't need Husky to install the Git hooks for CI. CARGO_HUSKY_DONT_INSTALL_HOOKS: "true" rust-latest: stage: build image: rust:latest script: - cargo build --verbose --target x86_64-unknown-linux-gnu - cargo test --verbose - rustup component add clippy rustfmt - cargo clippy --all-features --tests -- -D warnings - cargo fmt -- --check - cargo install cargo-audit - cargo audit -D warnings tags: - amd64 rust-latest-async-std: stage: build image: rust:latest script: - cd crates/tor-client && cargo check --no-default-features --features=async-std tags: - amd64 rust-nightly: stage: build image: rustlang/rust:nightly allow_failure: true script: - cargo build --verbose --target x86_64-unknown-linux-gnu --all-features - cargo test --verbose --all-features - rustup component add clippy - cargo clippy --all-features - RUSTDOCFLAGS="-Dwarnings" cargo doc --all-features --document-private-items tags: - amd64 build-repro: rules: - if: $CI_PIPELINE_SOURCE == "schedule" - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_TAG != null stage: build image: rust:1.54.0-alpine3.14 script: - ./maint/reproducible_build.sh linux windows macos artifacts: paths: - arti-linux - arti-windows.exe - arti-macos expire_in: 1 day cache: paths: - osxcross/target tags: - TPA - amd64