Skip to content

ci: generate CHANGELOG.md and release notes with git-cliff on release - #166

Merged
otnc merged 3 commits into
mainfrom
feat/changelog-generation
Oct 14, 2026
Merged

otnc merged 3 commits into
mainfrom
feat/changelog-generation

Conversation

@otnc

@otnc otnc commented Oct 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix bug(s)
  • New feature(s)
  • Others

Generate CHANGELOG.md automatically with git-cliff:

  • cliff.toml builds the changelog from Conventional Commits. feat, fix, perf, refactor and docs are listed in that order; release, test, ci, chore, merge commits and non-conventional commits are left out.
  • The release workflow regenerates CHANGELOG.md (with the new version as the latest release) before publishing, commits it together with the version bump, and uses the new section as the GitHub Release notes. If a re-release has no new commits, it falls back to --generate-notes.
  • CHANGELOG.md already covers v0.1.0 through v1.1.0, generated from the existing tags. v1.2.0 will be added by the first release run.
  • CONTRIBUTING (en/ja, through base/CONTRIBUTING.base.md) documents the commit format and that the file is not edited by hand.

Why?

Release notes were GitHub's auto-generated list of merge commits, and there was no changelog in the repository. The commit history is already in Conventional Commits form, so the changelog can come from it without a new dependency in package.json (the workflow uses orhun/git-cliff-action; locally npx git-cliff -o CHANGELOG.md works).

I could not run the workflow itself here; I ran the same git-cliff commands locally (--tag v1.2.0 for the changelog and --unreleased --strip all --tag v1.2.0 for the notes) and checked the YAML parses. The first real run is the first full test.

Related issue(s)

closes

Check

  • Check if duplicate PR(s) already exist.
  • Read CONTRIBUTING.md (rules)
  • Run pnpm check (lint & format)
  • Run pnpm test (functions test)
  • Run pnpm build (dist/)
  • (optional) Run pnpm test:coverage and check nothing new went uncovered

otnc added 2 commits October 14, 2026 16:19
cliff.toml builds the changelog from Conventional Commits (feat, fix, perf, refactor and docs). The release workflow regenerates CHANGELOG.md with the new version as the latest release, commits it with the version bump, and uses the new section as the GitHub Release notes.
Generated with git-cliff from the existing tags. v1.2.0 is added by the release workflow.
@github-actions github-actions Bot added enhancement New feature or request to main for Pull Request to main labels Oct 14, 2026
@otnc
otnc merged commit ac273aa into main Oct 14, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request to main for Pull Request to main

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant