[env]
_.path = ["test/bats/bin", "{{ env.CARGO_TARGET_DIR | default(value='target') }}/debug", "node_modules/.bin"]

[tools]
actionlint                      = "latest"
aube                            = "latest"
cargo-binstall                  = "latest"
"cargo:cargo-edit"              = "latest"
communique                      = "latest"
git-cliff                       = "latest"
"github:crate-ci/cargo-release" = "latest"
"github:foresterre/cargo-msrv"  = "latest"
# Pinned rather than "latest" because tak is the measuring instrument: an
# upgrade that changes how it samples would land in the series as a step change
# in hk's numbers, indistinguishable from a real regression. Bump deliberately.
"github:jdx/tak" = "v0.0.5"
node             = "latest"
"npm:prettier"   = "latest"
pkl              = "latest"
ripgrep          = "latest"
taplo            = "latest"
usage            = "latest"
uv               = "latest"
vhs              = "latest"

# Instruction-counted benchmarks (see tak.toml). Needs valgrind for the counts;
# without it tak reports wall clock only and says so, so this still works on
# macOS where there is no usable cachegrind.
[tasks.perf]
dir = "{{config_root}}"
run = ["cargo build --release", "tak run"]

# Same measurement, appended to refs/notes/tak for this commit. Run by the
# `perf` workflow on every push to main; the notes are the history. Safe to run
# locally — nothing leaves the machine until `tak push`.
[tasks."perf:record"]
dir = "{{config_root}}"
run = ["cargo build --release", "tak run --record"]
