Skip to content

Replace the changelog action with a maintained one - #22

Open
shuo-zhou wants to merge 2 commits into
mainfrom
ci/changelog-automation
Open

shuo-zhou wants to merge 2 commits into
mainfrom
ci/changelog-automation

Conversation

@shuo-zhou

@shuo-zhou shuo-zhou commented Sep 20, 2026 •

Copy link
Copy Markdown
Member

Description

saadmk11/changelog-ci@v1.2.0 builds FROM python:3.12-slim-bullseye. Bullseye is end-of-life and Debian is draining its package pool, so apt-get install git fails with exit code 100 and the workflow cannot build at all. Switch to mikepenz/release-changelog-builder-action, which builds no Docker image and is actively maintained, keep the same label groups, and grant the workflow the permissions the changelog commit and the pull request comment need.

Re-runs are idempotent: a section that already exists for the version is replaced in place, and identical content produces no commit.

Status

Ready

Types of changes

  • Non-breaking change (fix or new feature that would not break existing functionality).
  • Breaking change (fix or new feature that would cause existing functionality to change).
  • New tests added to cover the changes.
  • In-line docstrings updated and documentation docs updated.

saadmk11/changelog-ci@v1.2.0 builds FROM python:3.12-slim-bullseye. Bullseye is end-of-life and Debian is draining its package pool, so apt-get install git fails with exit code 100 and the workflow cannot build at all. Switch to mikepenz/release-changelog-builder-action, which builds no Docker image and is actively maintained, keep the same label groups, and grant the workflow the permissions the changelog commit and the pull request comment need.

Re-runs are idempotent: a section that already exists for the version is replaced in place, and identical content produces no commit.
@codecov

codecov Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.16%. Comparing base (5b9ef29) to head (222c0fb).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #22   +/-   ##
=======================================
  Coverage   90.16%   90.16%           
=======================================
  Files          24       24           
  Lines        1922     1922           
=======================================
  Hits         1733     1733           
  Misses        189      189           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Version-less release titles fail, and the workflow executes PR-controlled Python with write credentials.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 High severity · 1 Medium severity

Open (2)
What changed in this PR

Replaces the obsolete changelog action with maintained release automation.

Changes:

  • Generates grouped release notes with a pinned action.
  • Adds idempotent changelog insertion and PR commenting.
  • Documents the updated release process.
File Description
CONTRIBUTING.md Documents automated changelog generation.
.gitignore Updates generated/config file rules.
.github/​workflows/​changelog.yml Implements the new workflow.
.github/​scripts/​update_changelog.py Inserts or replaces release sections.
.github/​changelog-config.json Defines changelog grouping and formatting.
.github/​changelog-ci-config.json Removes the obsolete configuration.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/changelog.yml Outdated
Comment thread .github/workflows/changelog.yml Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The write-scoped PR workflow that commits and pushes changes warrants final human validation.

Review effort: Balanced
Findings: None

Resolved since last review (2)

@shuo-zhou
shuo-zhou requested a review from cmanjah September 22, 2026 08:15

@cmanjah cmanjah left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we add a few small tests for replace_section and drop_empty_groups? The update_changelog.py script has no tests.

Comment thread .github/workflows/changelog.yml
Comment on lines +113 to +119
- name: Comment changelog on pull request
if: steps.version.outputs.version != '' && steps.commit.outputs.changed == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: gh pr comment "$PR_NUMBER" --body-file .github/changelog.generated.md

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the push succeeds but commenting fails or the run is cancelled between them, the next run finds identical changelog content, sets changed=false, and skips commenting again.
Could we make comment creation independent of changed?

Comment thread .github/workflows/changelog.yml
Comment thread .github/workflows/changelog.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants