From 8043a72029341d94b297f280775392999355f169 Mon Sep 17 00:00:00 2001 From: Clement Tsang <34804052+ClementTsang@users.noreply.github.com> Date: Thu, 20 Oct 2022 03:19:29 -0400 Subject: [PATCH] ci: various Cirrus CI test fixes (#844) Some cache and conditional fixes for Cirrus CI testing. The test tasks should only run on the default branch and on PRs. --- .cirrus.yml | 61 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index fde8dee3..2ba04c7f 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,5 +1,5 @@ # Configuration for CirrusCI. This is primarily used for -# FreeBSD and macOS M1 testing and building. +# FreeBSD and macOS M1 tests and builds. env: CARGO_INCREMENTAL: 0 @@ -7,52 +7,75 @@ env: CARGO_HUSKY_DONT_INSTALL_HOOKS: true task: - name: FreeBSD 13 Test + name: "FreeBSD 13 Test" + only_if: $CIRRUS_BRANCH == "master" || $CIRRUS_PR != "" freebsd_instance: image_family: freebsd-13-1 + matrix: + - env: + FEATURES: "--all-features" + - env: + FEATURES: "--no-default-features" setup_script: - - pkg install -y curl - curl https://sh.rustup.rs -sSf --output rustup.sh - sh rustup.sh --default-toolchain stable -y - . $HOME/.cargo/env - rustc --version registry_cache: - folder: $CARGO_HOME/registry - fingerprint_script: cat Cargo.lock + folder: $HOME/.cargo/registry + reupload_on_changes: true + fingerprint_script: md5 Cargo.lock target_cache: folder: target + reupload_on_changes: true fingerprint_script: - . $HOME/.cargo/env && rustc --version - - cat Cargo.lock + - md5 Cargo.lock + - echo $FEATURES test_script: - . $HOME/.cargo/env - cargo fmt --all -- --check - - cargo test --no-run --locked - - cargo test --no-fail-fast -- --nocapture --quiet - - cargo clippy --all-targets --workspace -- -D warnings - before_cache_script: rm -rf $CARGO_HOME/registry/index + - cargo test --no-run --locked $FEATURES + - cargo test --no-fail-fast $FEATURES -- --nocapture --quiet + - cargo clippy --all-targets --workspace $FEATURES -- -D warnings + before_cache_script: + - rm -rf $HOME/.cargo/registry/index + - rm -f ./target/.rustc_info.json + - find ./target/debug -maxdepth 1 -type f -delete # Delete stray files task: - name: macOS M1 Test + name: "macOS M1 Test" + only_if: $CIRRUS_BRANCH == "master" || $CIRRUS_PR != "" macos_instance: image: ghcr.io/cirruslabs/macos-monterey-base:latest + matrix: + - env: + FEATURES: "--all-features" + - env: + FEATURES: "--no-default-features" setup_script: - curl https://sh.rustup.rs -sSf --output rustup.sh - sh rustup.sh --default-toolchain stable -y - source $HOME/.cargo/env - rustc --version registry_cache: - folder: $CARGO_HOME/registry - fingerprint_script: cat Cargo.lock + folder: $HOME/.cargo/registry + reupload_on_changes: true + fingerprint_script: md5 Cargo.lock target_cache: folder: target + reupload_on_changes: true fingerprint_script: - source $HOME/.cargo/env && rustc --version - - cat Cargo.lock + - md5 Cargo.lock + - echo $FEATURES test_script: - - source $HOME/.cargo/env + - . $HOME/.cargo/env - cargo fmt --all -- --check - - cargo test --no-run --locked - - cargo test --no-fail-fast -- --nocapture --quiet - - cargo clippy --all-targets --workspace -- -D warnings - before_cache_script: rm -rf $CARGO_HOME/registry/index + - cargo test --no-run --locked $FEATURES + - cargo test --no-fail-fast $FEATURES -- --nocapture --quiet + - cargo clippy --all-targets --workspace $FEATURES -- -D warnings + before_cache_script: + - rm -rf $HOME/.cargo/registry/index + - rm -f ./target/.rustc_info.json + - find ./target/debug -maxdepth 1 -type f -delete # Delete stray files