-
Notifications
You must be signed in to change notification settings - Fork 48
Implement automatic changelog generation for WordPress readme. txt #357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: trunk
Are you sure you want to change the base?
Implement automatic changelog generation for WordPress readme. txt #357
Conversation
This script generates a changelog entry from milestone PRs, categorizing them by labels and formatting the output for a specified release date.
This script updates the readme.txt file with a new changelog entry from a specified file. It checks for the existence of the readme and changelog entry files before proceeding with the update.
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the Unlinked AccountsThe following contributors have not linked their GitHub and WordPress.org accounts: @hrishikesh2810. Contributors, please read how to link your accounts to ensure your work is properly credited in WordPress releases. Core Committers: Use this line as a base for the props when committing in SVN: To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements automatic changelog generation for the WordPress plugin's readme.txt file. When milestones are closed or manually triggered, the system fetches associated merged PRs, categorizes them by labels, and generates properly formatted changelog entries.
Changes:
- Added GitHub Actions workflow to trigger changelog generation on milestone close or manual dispatch
- Created PHP scripts to generate changelog entries from milestone PR data and insert them into readme.txt
- Added Composer script entry for manual changelog generation
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated 8 comments.
| File | Description |
|---|---|
| .github/workflows/changelog-generator.yml | GitHub Actions workflow that orchestrates the changelog generation process |
| bin/generate-changelog.php | PHP script that fetches milestone PRs and formats them into WordPress changelog entries |
| bin/update-readme-changelog.php | PHP script that inserts generated changelog entries into readme.txt |
| composer.json | Adds composer script entry for manual changelog generation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Fixes #153
What
This PR adds automatic changelog generation that updates
readme.txtin WordPress plugin format when milestones are closed or manually triggered.Why
After #152 established proper milestone assignment for PRs, we needed automation to generate changelogs from those milestones. Manual changelog writing is time-consuming and error-prone. This automation:
How
Workflow Triggers
The changelog generator runs in two scenarios:
Process Flow
Categorization
PRs are automatically grouped by labels:
[Type] Feature[Type] Enhancement[Type] Bugdocumentation[Type] Project ManagementFiles Created
.github/workflows/changelog-generator.ymlbin/generate-changelog.phpbin/update-readme-changelog.phpFiles Changed
composer.json
Added script entry for manual changelog generation:
This allows developers to manually generate changelogs when needed.
Usage Examples
Automatic (Milestone Close)
Via GitHub UI:
Testing Checklist
Before merging, verify: