From ccf5d81b60b840bfa28227da996c434011874db1 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Sun, 21 Dec 2025 12:51:17 +0400 Subject: [PATCH] chore(ci): add changelog.yml workflow --- .github/workflows/changelog.yml | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/changelog.yml diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 0000000..d95c33d --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,46 @@ +name: update-changelog +on: + push: + branches: + - main +permissions: + contents: write +jobs: + changelog: + name: Update CHANGELOG + runs-on: ubuntu-latest + timeout-minutes: 15 + if: | + !startsWith(github.event.head_commit.message, '[Release]') && + !startsWith(github.event.head_commit.message, 'chore(changelog): update CHANGELOG.md') && + github.event.head_commit.author.name != 'github-actions[bot]' + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - uses: jdx/mise-action@v3 + with: + experimental: true + - name: Generate CHANGELOG.md + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: git cliff --config ./cliff.toml -o ./CHANGELOG.md + - name: Check for CHANGELOG changes + id: changelog-changes + run: | + if git diff --quiet CHANGELOG.md; then + echo "No changes in CHANGELOG.md" + echo "has-changes=false" >> $GITHUB_OUTPUT + else + echo "CHANGELOG.md has changes" + echo "has-changes=true" >> $GITHUB_OUTPUT + fi + - name: Commit CHANGELOG + uses: stefanzweifel/git-auto-commit-action@v7 + if: steps.changelog-changes.outputs.has-changes == 'true' + with: + commit_message: "chore(changelog): update CHANGELOG.md" + commit_options: '--no-verify' + file_pattern: CHANGELOG.md + commit_user_name: github-actions[bot] + commit_user_email: github-actions[bot]@users.noreply.github.com \ No newline at end of file