name: Generate changelog

on:
    workflow_dispatch:
        
permissions:
    contents: write

jobs:
    changelog:
      name: Generate changelog
      runs-on: ubuntu-latest
      steps:
        - name: Checkout
          uses: actions/checkout@v6
          with:
            fetch-depth: 0
  
        - name: Generate a changelog
          uses: orhun/git-cliff-action@v4
          id: git-cliff
          with:
            config: cliff.toml
            args: --verbose
          env:
            OUTPUT: CHANGELOG.md
  
        - name: Commit 
          run: |
            git config user.name 'github-actions[bot]'
            git config user.email 'github-actions[bot]@users.noreply.github.com'
            set +e
            git add CHANGELOG.md
            git commit -m "docs(changelog): update changelog"
            git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git master