# Automatically regenerates CHANGELOG.md when a version tag is pushed.
# Triggered by: cz bump → git push --follow-tags
name: changelog

on:
    push:
        tags:
            - "v[0-9]+.*"

permissions:
    contents: write

jobs:
    changelog:
        name: Generate Changelog
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
              with:
                  fetch-depth: 0 # full history needed for git-cliff

            - name: Generate changelog
              uses: orhun/git-cliff-action@v4
              with:
                  config: cliff.toml
                  args: --verbose
              env:
                  OUTPUT: CHANGELOG.md
                  GITHUB_REPO: ${{ github.repository }}

            - name: Commit changelog
              run: |
                  git config user.name "github-actions[bot]"
                  git config user.email "github-actions[bot]@users.noreply.github.com"
                  git add CHANGELOG.md
                  git diff --staged --quiet || git commit -m "docs: update changelog for ${{ github.ref_name }}"
                  git push origin HEAD:main
