summaryrefslogtreecommitdiffstats
path: root/.cirrus.yml
diff options
context:
space:
mode:
authorClement Tsang <34804052+ClementTsang@users.noreply.github.com>2022-10-20 03:19:29 -0400
committerGitHub <noreply@github.com>2022-10-20 03:19:29 -0400
commit8043a72029341d94b297f280775392999355f169 (patch)
tree7afe7bc0e709e485a3687a832b3468cf6d1ef478 /.cirrus.yml
parent530f6bf3b322343a107297e3b2fff9a9d4004b95 (diff)
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.
Diffstat (limited to '.cirrus.yml')
-rw-r--r--.cirrus.yml61
1 files 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