A GitHub Action that turns merged pull requests into clean, grouped release notes.
release-notes reads the commits merged between two tags, groups them by conventional-commit type, and writes a markdown file you can attach to a GitHub release.
- uses: libnudget/release-notes@mainwith:
token: ${{ secrets.GITHUB_TOKEN }}This compares against the latest tag and writes RELEASE_NOTES.md.
To control the range explicitly:
- uses: libnudget/release-notes@mainwith:
token: ${{ secrets.GITHUB_TOKEN }}from-tag: v0.1.0to-ref: v0.2.0output-file: release-notes.md| Name | Required | Default | Description |
|---|---|---|---|
token | yes | github.token | Token with access to the repository. |
from-tag | no | latest tag | Tag to generate notes from (exclusive). |
to-ref | no | current SHA | Commit or ref to generate notes up to (inclusive). |
output-file | no | RELEASE_NOTES.md | Path to write the release notes to. |
| Name | Description |
|---|---|
notes | The generated release notes. |
- Commit messages must follow Conventional Commits.
featgroups under Features,fixunder Bug fixes,perfunder Performance, breaking changes (the!marker) under Breaking changes, and everything else under Maintenance.- Scope (for example
feat(cli):) is kept inline:cli: message. - Non-conventional messages, including merge commits, are skipped.
npm install
npm run lint
npm testMIT