when:
- event: ["push"]
branch: master
paths:
- bobbin/crates/**
- shuttle/**
- crates/trusted-proxies/**
- lexicons/**
- Cargo.toml
- Cargo.lock
- rust-toolchain.toml
- .tangled/workflows/rust-test-bobbin.yml
engine: microvm
image: nixos-large
dependencies:
- gcc
- gnumake
- cmake
- perl
- gawk
- gnused
- gnugrep
- findutils
- protobuf
- git
- "github:nix-community/fenix/f6670530f53e69cc284f7aef818eb0f08fe81905#stable.minimalToolchain"
environment:
CARGO_HOME: /workspace/repo/.cache/cargo
CARGO_INCREMENTAL: "0"
# cargo's built-in git client takes 10 minutes to clone jacquard here
CARGO_NET_GIT_FETCH_WITH_CLI: "true"
CARGO_PROFILE_DEV_DEBUG: "0"
CARGO_PROFILE_TEST_DEBUG: "0"
RUST_BACKTRACE: "1"
cache:
- key: cargo-bobbin
hash:
- Cargo.lock
fallback: true
when: always
paths:
- .cache/cargo/registry/index
- .cache/cargo/registry/cache
- target
steps:
- name: bobbin, shuttle and trusted-proxies tests
command: |
cargo test --locked -p 'bobbin*' -p shuttle -p trusted-proxies
- name: drop test executables before caching
command: |
find target/debug/deps -maxdepth 1 -type f -perm -u+x ! -name '*.so' -delete