diff --git a/README.md b/README.md index dff20fc..1d0610f 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,8 @@ provide: - `script/lint` — a clean build that surfaces broken links and path collisions - `script/fmt` — format the repo's own top-level markdown docs with prettier - `script/fmt-check` — check that formatting (read-only) -- `script/check` — run `script/fmt-check` then `script/test`; modifies nothing +- `script/check` — run `script/test`, `script/lint`, then `script/fmt-check`; + modifies no tracked files - `script/docker` — build the Docker image tagged with the project name - `script/cibuild` — the CI build (`docker build .`); the Dockerfile runs `make check` diff --git a/TODO.md b/TODO.md index 7936071..081abba 100644 --- a/TODO.md +++ b/TODO.md @@ -25,6 +25,13 @@ Update `README.md` accordingly. # Completed Steps +- 2026-08-09: made `script/check` run `script/lint` (closes #9). It previously + ran only `fmt-check` then `test`, so `script/lint` executed nowhere — not in + `make check`, not in the pre-commit hook, and not in CI, even though the + `Dockerfile` runs `make check` and `script/cibuild` builds it. It now runs + `test`, `lint`, `fmt-check` in the canonical order, so the + `hugo --printPathWarnings` render-target-collision signal is no longer + discarded. `README.md`'s Entrypoints line was corrected to match - 2026-08-09: hash-pinned every external reference in `.gitea/workflows/deploy.yml` (closes #7): both job container images are pinned by digest, all three `uses:` are pinned by 40-hex commit SHA, and the diff --git a/script/check b/script/check index 7f218e5..f06027f 100755 --- a/script/check +++ b/script/check @@ -1,14 +1,16 @@ #!/bin/sh # script/check: run all checks. Our own extension to -# scripts-to-rule-them-all. Must not modify any files. Runs the -# read-only formatting check first, then the clean production build. +# scripts-to-rule-them-all. Must not modify any tracked files. Runs the +# canonical order: the clean production build, then the lint build that +# reports path warnings, then the read-only formatting check. set -eu SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)" main() { - "$SCRIPT_DIR/fmt-check" "$SCRIPT_DIR/test" + "$SCRIPT_DIR/lint" + "$SCRIPT_DIR/fmt-check" } main "$@"