.github/workflows/changelog.yaml
name: Generate CHANGELOG.md
on:
workflow_run: # only runs on default branch
workflows: [CI]
types: [completed]
branches: [main]
workflow_dispatch:
schedule:
- cron: 0 12 * * 5
concurrency:
group: generate-changelog
cancel-in-progress: true
jobs:
changelog:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }}
permissions:
contents: write
timeout-minutes: 3
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: orhun/git-cliff-action@v4
with:
config: cliff.toml
args: v1.0.0..HEAD
env:
OUTPUT: CHANGELOG.md
GITHUB_REPO: ${{ github.repository }}
- uses: ryancyq/github-signed-commit@v1
env:
GH_TOKEN: ${{ github.token }}
with:
files: |
CHANGELOG.md
commit-message: "ci: update CHANGELOG.md"