Skip to content

ci(release): enforce changelog entries before publish - #441

Merged
tcballard merged 2 commits into
mainfrom
codex/changelog-release-gate
Aug 4, 2026
Merged

ci(release): enforce changelog entries before publish#441
tcballard merged 2 commits into
mainfrom
codex/changelog-release-gate

Conversation

@tcballard

Copy link
Copy Markdown
Collaborator

Summary

Closes DEP-20 from the enterprise deployability review.

  • backfill v0.24.0, v0.24.1, v0.25.0, v0.25.1, and v0.26.0 from their published GitHub release notes
  • remove the duplicate v0.23.0 heading by folding the previously untagged warm-by-default notes into the v0.23.0 release that ultimately contained them
  • add one fail-closed SemVer/changelog verifier shared by pull-request and release workflows
  • require the verifier before native artifacts, crates.io packages, or MCP Registry metadata can publish
  • reject malformed CalVer-style inputs and duplicate version headings

Validation

  • bash -n scripts/verify-release-changelog.sh
  • shellcheck scripts/verify-release-changelog.sh
  • ./scripts/verify-release-changelog.sh v0.26.2
  • confirmed 2026.06.5 is rejected
  • actionlint .github/workflows/pr-checks.yml .github/workflows/native-publish.yml .github/workflows/crates-publish.yml .github/workflows/mcp-registry-publish.yml
  • git diff --check

Decision alignment

This restores ADR-111's existing requirement that no release publish with a malformed version or missing changelog entry; it does not introduce a new release policy.

@tcballard
tcballard merged commit 17cb014 into main Aug 4, 2026
8 checks passed
@tcballard
tcballard deleted the codex/changelog-release-gate branch August 4, 2026 21:43
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.

1 participant