Organize auto generated changelog using the GitHub API in order to allow merge commit (instead of squash). Use Conventional Commits, powered by changelogen.
We use
- Organize auto generated changelog using the GitHub API
- Allow merge commit
- List contributors
In GitHub Actions:
# .github/workflows/release.yml
name: Release
permissions:
contents: write
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: 16.x
- run: npx @aneoconsultingfr/order-github-release-notes
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
It will be trigged whenever you push a tag to GitHub that starts with v
.
You can put a configuration file in the project root, named as order-github-release-notes.config.{json,ts,js,mjs,cjs}
, .order-github-release-notesrc
or use the order-github-release-notes
field in package.json
.
export GITHUB_TOKEN=$(gh auth token)
npx @aneoconsultingfr/order-github-release-notes --dry
In order to avoid to use a GitHub token, you can use the --input
flag to provide data.
npx @aneoconsultingfr/order-github-release-notes --input '* feat: a new feature
* fix: a bug fix
* docs: documentation only changes
* @new-contributor: a new contributor
'
nci -D
Heavily inspired by changelogithub from Anthony Fu