aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 15:54:53 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 15:54:53 +0200
commit391fc97fca932a50557d8e0f07ea2dfa8135900a (patch)
tree3df2978f60be0cc6b0a5f108beb39a4850e98b20 /CHANGELOG.md
parent02503d2fd8b6c6c4e765f1f59661e7c337ebe971 (diff)
downloadprognosis-391fc97fca932a50557d8e0f07ea2dfa8135900a.tar.gz
prognosis-391fc97fca932a50557d8e0f07ea2dfa8135900a.zip
ci: fail the build when documentation falls behind
Adding a flag and forgetting the man page was the kind of thing only a reader would catch, and the README had already drifted: it documented seven of fifteen flags, claimed three cross-compilation targets where the Makefile builds six, and its example output predated the humidity column. Flag definitions move into defineFlags(), so the test enumerates the same set run() does rather than a hand-copied list that could drift in its own right. usage() gains a writer so its output can be captured. Tests then assert that every flag reaches -h, the README and the man page; that every key written into the generated config is documented; and that every column name is explained. The man page check normalises roff's \- hyphen escape first -- without that, every multi-word flag looks undocumented when it is not.
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md7
1 files changed, 5 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c797f5e..6806130 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,8 +15,11 @@ Terse, newest first. Versions are git tags.
- `-version`, and the version is stamped into the binary at build time.
- `-weather` (forecast only), `-no-warnings`, `-ascii` (GSM-7 safe output for
SMS).
-- `make lint` checks the man page renders without groff warnings; `make ci`
- now includes it. `make release`, `make install-hooks`, and cross-compilation
+- `make lint` checks the man page renders without groff warnings, and tests
+ assert that every flag appears in `-h`, the README and the man page, that
+ every config key the generated file contains is documented, and that every
+ column name is explained in both. Documentation drift now fails `make ci`
+ rather than reaching a release. `make release`, `make install-hooks`, and cross-compilation
for six platforms.
### Changed