version: "3"
tasks:
default:
cmds:
- task: check
build:
desc: "build in debug mode"
cmds:
- cargo build --all-targets {{.CLI_ARGS}}
build:release:
desc: "build all targets in release mode"
cmds:
- cargo build --all-targets --release {{.CLI_ARGS}}
typos:
desc: "check repository for typos"
aliases: [spellcheck]
cmds:
- typos
check:
desc: "check cargo workspace"
dir: "{{.ROOT_DIR}}"
cmds:
- cargo check --workspace --all-targets {{.CLI_ARGS}}
check:fc:
desc: "check cargo workspace for all combinations of features"
dir: "{{.ROOT_DIR}}"
cmds:
- cargo fc check --all-targets {{.CLI_ARGS}}
clean:
cmds:
- cargo clean {{.CLI_ARGS}}
bench:
desc: "run benchmark suite"
cmds:
- cargo bench --bench benches --features full {{.CLI_ARGS}}
docs:
desc: "open documentation preview"
env:
RUSTDOCFLAGS: "--cfg docsrs"
cmds:
- cargo +nightly doc --all-features {{.CLI_ARGS}}
unused:
desc: "check for unused cargo workspace dependencies"
aliases: [unused-dependencies]
cmds:
- cargo +nightly fc udeps --maximal-features --all-targets {{.CLI_ARGS}}
outdated:
desc: "list outdated deps (incl. new majors): adoptable now vs still in cooldown"
cmds:
- cooldown outdated --sync {{.CLI_ARGS}}
outdated:minor:
desc: "list outdated deps within the current major only"
cmds:
- cooldown outdated --no-major --sync {{.CLI_ARGS}}
upgrade:
desc: "upgrade all deps incl. cross-major bumps, within the cooldown"
aliases: [update]
cmds:
- cooldown upgrade --major --sync {{.CLI_ARGS}}
upgrade:minor:
desc: "upgrade all deps within their current major, within the cooldown"
cmds:
- cooldown upgrade --no-major --sync {{.CLI_ARGS}}
upgrade:latest:
desc: "upgrade ignoring the cooldown window — use deliberately"
prompt:
- >-
DANGER: this bypasses the supply-chain cooldown and adopts brand-new
(possibly compromised) releases. Prefer 'task upgrade' / 'task
upgrade:minor'. Continue?
cmds:
- cooldown upgrade --latest {{.CLI_ARGS}}
audit:
desc: "audit cargo workspace dependencies"
cmds:
- cargo audit {{.CLI_ARGS}}
format:
desc: "format cargo workspace"
cmds:
- cargo fmt --all {{.CLI_ARGS}}
test:
desc: "test cargo workspace"
cmds:
- cargo nextest run -P default --workspace --all-targets --no-tests warn {{.CLI_ARGS}}
test:fc:
desc: "test cargo workspace for all combinations of features"
cmds:
- cargo fc nextest run -P default --all-targets --no-tests warn {{.CLI_ARGS}}
test:doc:
desc: "test cargo workspace documentation"
cmds:
- cargo test --doc --workspace {{.CLI_ARGS}}
lint:
desc: "lint cargo workspace"
cmds:
- cargo lint --workspace --all-features {{.CLI_ARGS}}
lint:fc:
desc: "lint cargo workspace for all combinations of features"
cmds:
- cargo fc lint {{.CLI_ARGS}}
lint:fix:
desc: "lint and fix cargo workspace"
aliases: [fix]
cmds:
- cargo fixit --workspace --all-features {{.CLI_ARGS}}
lint:actions:
desc: "lint github actions"
aliases: ["actions:lint"]
cmds:
- actionlint