check / check (push) Canceled after 0s
The lint step in Dockerfile.lint now passes --panicOnWarning alongside --printPathWarnings. Until now Hugo printed "Duplicate target paths" when two pages wrote the same output file and still exited 0, so the lint passed while one page was silently lost. The flag turns that warning, and every other Hugo warning, into a failed lint. script/test and the deploy build are unchanged. The comments in Dockerfile.lint, script/lint and script/check, the README entry for script/lint, and TODO.md now describe the stricter lint. Model: opus-5-5
25 lines
906 B
Bash
Executable File
25 lines
906 B
Bash
Executable File
#!/bin/sh
|
|
# script/check: run all checks. Our own extension to
|
|
# scripts-to-rule-them-all. Must not modify any tracked files. Runs the
|
|
# canonical order: the clean production build, then the lint build that
|
|
# fails on any Hugo warning, then the read-only formatting check.
|
|
#
|
|
# The lint - and only the lint - runs inside Docker: it is a build of
|
|
# Dockerfile.lint, so this script needs a working docker daemon and has
|
|
# no host fallback to drop back to. Budget for the cold case: the first
|
|
# lint on a machine with no cached script/bootstrap layer compiles the
|
|
# pinned Hugo from source, which takes minutes. That cost falls on the
|
|
# pre-commit hook too, since it runs this script. Every later run reuses
|
|
# that layer and only the lint step re-executes.
|
|
set -eu
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)"
|
|
|
|
main() {
|
|
"$SCRIPT_DIR/test"
|
|
"$SCRIPT_DIR/lint"
|
|
"$SCRIPT_DIR/fmt-check"
|
|
}
|
|
|
|
main "$@"
|