Learned the hard way on the v1.0.0 release — this repo inherits
tag.gpgsign=true from global config, so `git tag v1.0.0` fails
with "no tag message?" rather than creating a lightweight tag.
Update the release recipe to use -m explicitly.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Documents the v<major> + v<major.minor.patch> dual-tag pattern so
any future Claude session (or human) can make a release without
re-deriving the conventions. Includes a local dry-run recipe and
lists known consumers.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Generates an rpm %changelog entry from git history and prepends it
to the target spec file. Runs in release CI so every tag push gets
a fresh dated entry covering the commits since the previous matching
tag. Avoids stale dates, forgotten bumps, and bogus-weekday warnings.
Inputs: spec path, version, optional release suffix, author,
tag-pattern, exclude-patterns. The last two make the defaults (v*
tags, filter bump-version chores and merges) tweakable for projects
with different conventions.
Migrated from inline logic in helexa/cortex so any project can
adopt the same pattern with a single uses: reference.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>