diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-25 15:54:53 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-25 15:54:53 +0200 |
| commit | 391fc97fca932a50557d8e0f07ea2dfa8135900a (patch) | |
| tree | 3df2978f60be0cc6b0a5f108beb39a4850e98b20 /CHANGELOG.md | |
| parent | 02503d2fd8b6c6c4e765f1f59661e7c337ebe971 (diff) | |
| download | prognosis-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.md | 7 |
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 |
