Skip to content

Release check: refuse a tag without a dated CHANGELOG heading - #8

Merged
nc-intezra merged 1 commit into
mainfrom
release-check
Nov 9, 2026
Merged

nc-intezra merged 1 commit into
mainfrom
release-check

Conversation

@nc-intezra

Copy link
Copy Markdown
Owner

Adds tools/check_release.sh vX.Y.Z and runs it first in the release workflow on tags, so a release cannot ship with an undated changelog heading again (2.0.2 and 2.1.0 both shipped with "- unreleased").

It fails, before anything is built, unless:

  • Cargo.toml's version is the tag's;
  • CHANGELOG.md has ## [X.Y.Z] - YYYY-MM-DD with a real date;
  • that heading is the newest release (only ## [Unreleased] may come before it).

On pull requests it runs as a notice only. docs/OFFLINE.md gains the release steps.

Tested against history: the v2.0.2 and v2.1.0 tags fail (undated), PR #5's fixed changelog passes for 2.1.0, a wrong tag version, an impossible date (2026-02-30) and a newer release above the tagged one each fail with a message naming the fix.

Note: on main today it would fail for 2.1.0, because the 2.1.0 section was lost in the probe merge; merging #5 restores it.


Generated by Claude Code

tools/check_release.sh vX.Y.Z checks that Cargo.toml's version is the tag's
and that CHANGELOG.md's newest heading is '## [X.Y.Z] - YYYY-MM-DD' with a
real date.  The release workflow runs it first on tags (nothing is built if
it fails) and as a notice on pull requests.  2.0.2 and 2.1.0 both shipped
with '- unreleased'.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QXjQsiWnwLMndr5XU9g5LJ
@nc-intezra
nc-intezra merged commit 1610a95 into main Nov 9, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants