job "dependencies" { image "docker.io/library/rust:latest" trigger { schedule "0 4 * * *" } cache "cargo-home" { path ".cargo-home" key { file "Cargo.lock" } } cache "target" { path "target" key { file "Cargo.lock" } } run "export CARGO_HOME=\"$PWD/.cargo-home\"" run "rustup toolchain install nightly --profile minimal --no-self-update" run "mkdir -p target/dependencies; set +e; cargo x audit > target/dependencies/audit.log 2>&1; audit_status=$?; cat target/dependencies/audit.log; printf '%s\\n' \"$audit_status\" > target/dependencies/audit.exit; echo audit_exit=$audit_status; cargo x deps > target/dependencies/report.txt 2>&1; deps_status=$?; cat target/dependencies/report.txt; printf '%s\\n' \"$deps_status\" > target/dependencies/deps.exit; echo deps_exit=$deps_status; cargo x deps --verify locked > target/dependencies/locked.log 2>&1; locked_status=$?; cat target/dependencies/locked.log; printf '%s\\n' \"$locked_status\" > target/dependencies/locked.exit; cargo x deps --verify fresh-compatible > target/dependencies/fresh-compatible.log 2>&1; fresh_status=$?; cat target/dependencies/fresh-compatible.log; printf '%s\\n' \"$fresh_status\" > target/dependencies/fresh-compatible.exit; cargo x deps --verify direct-minimum > target/dependencies/direct-minimum.log 2>&1; minimum_status=$?; cat target/dependencies/direct-minimum.log; printf '%s\\n' \"$minimum_status\" > target/dependencies/direct-minimum.exit; test \"$audit_status\" -eq 0 && test \"$deps_status\" -eq 0 && test \"$locked_status\" -eq 0 && test \"$fresh_status\" -eq 0 && test \"$minimum_status\" -eq 0" artifact "dependency-evidence" { path "target/dependencies" after-failure true } publish "site" { from "target/dependencies" to "smith/dependencies/${rev}" } }