From ddaf8f63bc0e77930da4762fc31afa1c9d439b05 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 29 Jul 2026 21:46:26 +0200 Subject: build: add ci + release targets, a pre-push hook, and a CHANGELOG Process hygiene so the version never silently drifts again and the two build-tag test sets stay green. - `make ci`: gofmt-clean + go vet + `go test ./...` (default tags) AND `make test` (-tags fullbible + corpus checks). The default-tag suite is easy to forget (only fullbible embeds the corpora), so ci runs both. - scripts/hooks/pre-push + `make install-hooks`: run `make ci` before any push (bypass with --no-verify). - `make release VERSION=x.y.z`: refuse a dirty tree or a missing CHANGELOG entry, bump const Version, run ci, commit, and tag vX.Y.Z (prints the push command -- publishing stays a manual choice). - CHANGELOG.md: terse, one line per release, starting at the first tags. --- scripts/hooks/pre-push | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 scripts/hooks/pre-push (limited to 'scripts/hooks/pre-push') diff --git a/scripts/hooks/pre-push b/scripts/hooks/pre-push new file mode 100644 index 0000000..c4fbcaf --- /dev/null +++ b/scripts/hooks/pre-push @@ -0,0 +1,5 @@ +#!/bin/sh +# lectio pre-push hook: refuse to push if the CI gate fails (gofmt, vet, both +# build-tag test sets, corpora). Install with `make install-hooks`. +# Bypass in a pinch with `git push --no-verify`. +exec make -C "$(git rev-parse --show-toplevel)" ci -- cgit v1.3