diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-17 16:19:02 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-17 16:19:02 +0200 |
| commit | cc6655134e155dd0879ecb8eb009271e17488834 (patch) | |
| tree | 31dc6c6be64f03d02a1067644e04e904d7312167 /lib/kernel/lectionary.ml | |
| parent | 7055723f8b79240ab2df1353eaaf3761f65414a9 (diff) | |
| download | colitur-cc6655134e155dd0879ecb8eb009271e17488834.tar.gz colitur-cc6655134e155dd0879ecb8eb009271e17488834.zip | |
feat(cli): --version, a CHANGELOG, and a release target
Groundwork for tagging. The project had no version anywhere: not in
dune-project, not in the binary, no CHANGELOG, no tags.
The version lives in two places -- dune-project, which generates
colitur.opam, and a constant in bin/main.ml, which is what --version
prints. Two rather than one because dune's watermarking only substitutes
in a release tarball, so a binary built the ordinary way from a checkout
would report a placeholder. The release target rewrites both and then
re-checks both, and finally requires the freshly built binary to report
the version it just wrote: a release that bumped one and not the other
would ship a binary disagreeing with its own package metadata.
--version is deliberately not embedded in the help text. cli.t pins
help's first line, and a version there would mean editing a test
expectation every release for no gain.
The release target mirrors lectio's, refusals included: no release from a
dirty tree, none without a CHANGELOG entry for that version, none whose
version bump silently failed to apply, and `make check` -- the full
1583-9999 sweep, not the sampling suite -- must pass before the tag is
created.
Diffstat (limited to 'lib/kernel/lectionary.ml')
0 files changed, 0 insertions, 0 deletions
