From 489d294ea38fbe4e6ca672b0f18b0e12718e6690 Mon Sep 17 00:00:00 2001 From: RAprogramm Date: Tue, 28 Oct 2025 11:21:45 +0700 Subject: [PATCH] #324 ci: auto-update CHANGELOG.md on release Add automatic CHANGELOG.md update step after GitHub release creation. Changes: - Generate full CHANGELOG.md using git-cliff after release - Commit updated changelog back to main branch - Use [skip ci] flag to avoid triggering CI recursively This ensures CHANGELOG.md in repository stays synchronized with GitHub release notes and always reflects the latest version history. --- .github/workflows/auto-release.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index d2fcc7b..a80172f 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -203,6 +203,27 @@ jobs: draft: false prerelease: false + - name: Update CHANGELOG.md + if: steps.version_check.outputs.should_release == 'true' && steps.check_existing.outputs.release_exists == 'false' + shell: bash + run: | + VERSION="${{ steps.local_version.outputs.version }}" + + echo "Generating full CHANGELOG.md..." + git cliff --config cliff.toml --output CHANGELOG.md + + if git diff --quiet CHANGELOG.md; then + echo "No changes to CHANGELOG.md, skipping commit" + exit 0 + fi + + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + git add CHANGELOG.md + git commit -m "chore: update CHANGELOG.md for v${VERSION} [skip ci]" + git push origin main + - name: Install Rust toolchain for publish if: steps.version_check.outputs.should_release == 'true' uses: dtolnay/rust-toolchain@v1