name: Update Changelog
on:
release:
types: [published]
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
update-changelog:
name: Update CHANGELOG with git-cliff
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate changelog with git-cliff
uses: orhun/git-cliff-action@v4
with:
config: cliff.toml
args: --verbose
env:
OUTPUT: CHANGELOG.md
- name: Commit and push changelog
run: |
git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com
git add CHANGELOG.md
if git diff --cached --quiet; then
echo "No changes to CHANGELOG.md"
else
git commit -m "docs: update CHANGELOG.md for ${{ github.event.release.tag_name }}"
git push
fi