Skip to content

Repository files navigation

release-notes

Release

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.

Usage

- 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

Inputs

NameRequiredDefaultDescription
tokenyesgithub.tokenToken with access to the repository.
from-tagnolatest tagTag to generate notes from (exclusive).
to-refnocurrent SHACommit or ref to generate notes up to (inclusive).
output-filenoRELEASE_NOTES.mdPath to write the release notes to.

Outputs

NameDescription
notesThe generated release notes.

How it works

  • Commit messages must follow Conventional Commits.
  • feat groups under Features, fix under Bug fixes, perf under 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.

Development

npm install
npm run lint
npm test

License

MIT

Releases

Packages

Contributors

Languages