Repository navigation
MNT: Automate CHANGELOG.md updates via GitHub Actions #905
Description
Activity
- addedC.I.Continuous Integration (Workflows and actions)Continuous Integration (Workflows and actions)ReleasesRelated with new releasesRelated with new releasesGit housekeepingClean and organize our githubClean and organize our github
on Dec 4, 2025 @Gui-FernandesBR please assign!
POC: changelog.yml, CHANGELOG.md. To implement, change the branch from
changelog-updatetodevelop.I merged some PRs from other fork branches and it worked as intended.
Comments:
Default -> Enhancement, otherwise Label (case-sentive) should correspond to either Fixed, Added, or Changed. Also, "Docs" & "Git housekeeping" labels are included under Changed. "Docs" by itself is included under Added.
Overall the concept works relying solely on labels so no need to be abiding by PR title naming conventions or such.
Not all labels mentioned (e.g. Maintenance, Feature) above exist for some reason. I just need a correct list of current/updated labels and their respective sections. Also, does
secrets.GITHUB_TOKENhave write access to allow the workflow to editCHANGELOG.mdondevelopbranch? Further, REL (release) PRs ought to be excluded from the process therefore added manually.@Malmahrouqi3 here you can find our official list: https://docs.rocketpy.org/en/latest/development/style_guide.html#pull-requests
these are our labels: https://github.com/RocketPy-Team/RocketPy/issues/labels
does secrets.GITHUB_TOKEN have write access to allow the workflow to edit CHANGELOG.md on develop branch?
Yes! Or at least it should...
@Malmahrouqi3 thx for your help, please submit a PR so we can review it
- linked a pull request that will close this issueENH: Auto Populate Changelog #919
on Dec 11, 2025 - linked a pull request that will close this issueCI: run the changelog job for pull requests from forks #1112
on Aug 8, 2026 - linked a pull request that will close this issueCI: make changelog automation LLM-based (Gemini) and race-safe #1082
on Aug 8, 2026
Is your feature request related to a problem? Please describe.
Currently, the
CHANGELOG.mdfile is manually updated by contributors in every Pull Request. This process has several downsides:[Unreleased]section of the changelog, it is a frequent source of merge conflicts that require manual resolution.Describe the solution you'd like
I would like to implement a GitHub Action (or a bot) that automatically updates the
CHANGELOG.mdfile when a PR is merged.The automation should:
Enhancement,Bug,Refactor,Documentation) to decide which section of the Changelog the entry belongs to.ENH,BUG,DOC) and append the PR link[#123](url).[Unreleased]section ofCHANGELOG.md.Proposed Logic for Categorization
The automation should map GitHub Labels to "Keep a Changelog" sections:
EnhancementorFeature### AddedBug### FixedRefactororMaintenance### ChangedDocumentation### Addedor### Changed(depending on configuration)Potential Tools
We should investigate tools such as:
Additional context
The current format of
CHANGELOG.mdadheres to Keep a Changelog. The automation must respect this format.Example of a desired entry generation:
- ENH: Add new drag model [#895](https://github.com/RocketPy-Team/RocketPy/pull/895)under### Added.