You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Replace the changelog action with a maintained one - #22
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.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
Category matching can duplicate entries, and releases containing only ignored changes currently fail.
Review effort: Balanced Findings: None
Previously missed (2)
In code that hasn't changed since last review
Prevent PR duplication across multiple matching changelog categories
.github/changelog-config.json:26
The replacement action does not stop after the first matching category by default, so a PR carrying multiple configured labels is emitted once in every matching section. The previous builder explicitly removed a PR after its first match; add consume: true to each category to preserve that behavior and avoid duplicated changelog entries.
Handle releases containing only ignored changes without empty-body failure
.github/scripts/update_changelog.py:114
When the range contains PRs but every one has an ignore_labels label, the action renders only the empty Other Changes heading (its empty_template is used only when zero PRs were fetched). drop_empty_groups removes that heading, making body empty and failing every release containing only ignored changes. Handle the no-eligible-entry case as either a clean no-op or an explicit placeholder instead of treating it as a generation failure.
if [ -z "$version" ] && printf '%s' "$PR_TITLE" | grep -qE '[0-9]+\.[0-9]+\.[0-9]+'; then
echo "::error::Pull request title mentions a release and a version, but the version isn't a plain release or an a/b pre-release (e.g. 0.4.0 or 0.4.0b1): $PR_TITLE"
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this fixes the rc1 example and case normalization. However, \b allows a boundary before punctuation, so 0.2.0.post1, 0.2.0-rc1, and Bump... 0.2.0 to 0.3.0 ... still get truncated to 0.2.0 and bypass the error check. Could we validate the complete version token before accepting it?
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The updater currently reformats unrelated historical changelog sections.
0 open findings
Previously missed (1)
In code that hasn't changed since last review
Avoid normalizing existing changelog sections during updates
.github/scripts/update_changelog.py:100
tidy(merged) normalizes the entire changelog, so updating one release also strips Markdown hard-break spaces and collapses blank lines in every older, manually edited section. The prepend path on line 91 has the same side effect, which contradicts the documented replace/prepend-in-place behavior; preserve the existing prefix and suffix verbatim and tidy only the generated section.
The reason will be displayed to describe this comment to others. Learn more.
The changes look good for now. We may want to strengthen the PR title validation before the next RC, especially for incomplete versions or titles with multiple version candidates, and add regression tests for these cases.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
docsupdated.