Skip to content

chore(release): auto-create GitHub Release on tag publish#46

Merged
pacphi merged 1 commit into
mainfrom
chore/auto-github-release
Jul 24, 2026
Merged

chore(release): auto-create GitHub Release on tag publish#46
pacphi merged 1 commit into
mainfrom
chore/auto-github-release

Conversation

@pacphi

@pacphi pacphi commented Jul 24, 2026

Copy link
Copy Markdown
Owner

What

Adds a github-release job to release.yml that runs after a successful npm publish and creates the matching GitHub Release with --generate-notes:

  • prerelease versions (*-*, e.g. -alpha.N) → --prerelease (excluded from releases/latest)
  • stable versions → --latest

Same version-shape case split the publish step already uses for npm dist-tags, so the two channels can never disagree. Job-scoped permissions: contents: write; top-level permissions unchanged.

Why

Release objects were previously created ad-hoc by hand — 16 of 22 tags had none, and gaps corrupt --generate-notes windows (it diffs against the previous Release object, not tag). History was backfilled and repaired 2026-07-24; this makes the ledger self-maintaining going forward.

Docs

MAINTAINER.md §7/§8/§9 updated: automation documented, checklist gains a verify step, manual gh release create demoted to backfill/repair only.

🤖 Generated with Claude Code

Adds a github-release job to release.yml that runs after a successful npm
publish and creates the matching GitHub Release with generated notes —
prerelease-flagged for -suffixed versions, --latest for stable, mirroring
the npm dist-tag split. Documents the automation in MAINTAINER.md and
demotes manual gh release create to backfill/repair use only.
@pacphi
pacphi merged commit a928cc4 into main Jul 24, 2026
11 checks passed
@pacphi
pacphi deleted the chore/auto-github-release branch July 24, 2026 16:03
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