# https://taskfile.dev # These are the helper commands used for managing/testing the repo. # TODO: These are an odd mix of nix and non-nix commands, which should probably be separated somehow. version: "3" vars: BIN: "{{.ROOT_DIR}}/bin" tasks: default: cmd: task --list silent: true ci:full: desc: Run CI locally in containers cmd: act sources: - ./**/* ci: desc: Run CI locally aliases: [ci:local] deps: [audit, fmt, test, nix:check, nix:build, clippy, pre-commit, build] nix:check: desc: Run Nix CI checks sources: - ./**/* cmds: - nix flake check nix:build: desc: Run Nix Build cmds: - nix build clippy: desc: Run clippy sources: - ./**/*.rs cmd: cargo clippy pre-commit: desc: Run pre-commit cmd: nix flake check fmt: desc: Run all formatters cmds: - nix fmt test: desc: Run all tests aliases: [t] sources: - ./**/*.rs 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] sources: - ./**/*.rs - ./Cargo* 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