# https://taskfile.dev # These are the helper commands used for managing/testing the repo. version: "3" vars: BIN: "{{.ROOT_DIR}}/bin" tasks: default: cmd: task --list silent: true ci:full: desc: Run CI locally in containers cmd: act ci: desc: Run CI locally aliases: [ci:local] deps: [audit, fmt, test, clippy, build] nix:ci: desc: Run CI locally under nix aliases: [ci:local] deps: [nix:check, nix:fmt, nix:build] nix:check: desc: Run Nix CI checks cmds: - nix flake check nix:build: desc: Build with Nix cmds: - nix build clippy: desc: Run clippy cmd: cargo clippy clippy:fix: desc: Run clippy and fix errors cmd: cargo clippy --fix --allow-dirty --allow-staged nix:fmt: desc: Run all formatters using treefmt cmds: - nix fmt fmt: desc: Run all formatters cmds: - cargo fmt - alejandra . - prettier --write . test: desc: Run all tests aliases: [t] cmd: cargo nextest run --no-default-features audit: desc: Run cargo security audit sources: - Cargo.lock - flake.lock cmd: cargo audit build: desc: Build the project aliases: [b] cmd: cargo build commit: desc: Commit changes using custom script cmd: "{{.BIN}}/commit.sh" test:full: desc: Run comparisons against official tools cmd: "{{.BIN}}/test.sh {{.CLI_ARGS}}" coverage: desc: Run coverage aliases: [cov] # Many tools don't like the file references from `nix build .#coverage`, so we need to run this outside nix cmd: cargo tarpaulin --skip-clean --include-tests --output-dir coverage --out lcov --no-default-features nix:coverage: desc: Create coverage using nix cmds: - nix build .#coverage --out-link coverage