Release Workflow
Follow this workflow for the current repository.
Prepare changelog draft
- •Run
./scripts/get-changes-since-tag.sh. - •Categorize changes into these sections as needed:
Added,Changed,Deprecated,Removed,Fixed,Security,Thanks. - •Use script output rules:
- •Use GitHub username from script output.
- •Exclude
yoshiko-pgandrenovate[bot]fromThanks. - •Include PR numbers when available.
- •Use commit subject and body for categorization.
- •Write the categorized content into
CHANGELOG.mdunder## [Unreleased]. - •Ask for user confirmation in Japanese.
Release after explicit OK
Treat the Unreleased section at OK time as the single source of truth. Do not regenerate or overwrite that content.
- •Run
npm version --no-git-tag-version patch. - •Move current
Unreleasedcontent into a new version section with today's date. - •Update bottom links:
- •Update
Unreleasedcompare link to new version tag. - •Add compare link for the new version.
- •Update
- •Commit
CHANGELOG.mdandpackage.jsonwith an English message:chore: release vX.Y.Z. - •Create tag
vX.Y.Z. - •Push
mainand tags:git push origin main --tags. - •If push is rejected by non-fast-forward:
- •Run
git pull --rebase origin main. - •Retry
git push origin main --tags.
- •Run
- •Build release notes from the new version section text in
CHANGELOG.md. - •Create GitHub release on origin:
- •
gh release create vX.Y.Z --title "vX.Y.Z" --notes-file <notes-file>
- •
Output to user
- •Respond in Japanese.
- •Report updated files, created tag, and GitHub release URL.
- •Mention if any recovery step was required (for example, rebase due to non-fast-forward).