# Bacon — https://dystroy.org/bacon/
#
# Project-local jobs for the `runner` crate. Bacon merges these on top of
# its own built-ins (`check`, `check-all`, `clippy`, `clippy-all`, `doc`,
# `doc-open`, `nextest`, `pedantic`, `run`, `test`, …); only the overrides
# and additions live here. List the merged set with `bacon --list-jobs`
# (or `runner list`, which delegates to that under the hood).

default_job = "lint"

# Strict clippy across all targets and features, warnings-as-errors.
# Mirrors the `cargo l` alias in `.cargo/config.toml` so local watch mode
# fails on the same lints CI does.
[jobs.lint]
command     = [
  "cargo",
  "clippy",
  "--all-targets",
  "--all-features",
  "--color=always",
  "--",
  "-D",
  "warnings",
  "-D",
  "clippy::all",
]
need_stdout = false

# Unit + integration tests across the whole crate.
# Mirrors the `cargo t` alias.
[jobs.test-all]
command     = [
  "cargo",
  "test",
  "--all-features",
  "--all-targets",
  "--color=always",
]
need_stdout = true

# Build both shipped binaries (`runner` + `run`) — catches breakage in
# the alias binary's argument plumbing that a library-only `cargo check`
# would miss.
[jobs.bins]
command     = [
  "cargo",
  "build",
  "--bin",
  "runner",
  "--bin",
  "run",
  "--color=always",
]
need_stdout = false
