Skip to content

Add a read-only release plan - #86

Merged
schlessera merged 2 commits into
mainfrom
release-plan
Oct 30, 2026
Merged

schlessera merged 2 commits into
mainfrom
release-plan

Conversation

@schlessera

Copy link
Copy Markdown
Member

Tagging the bundled packages showed that release generate only looks at open milestones, so it misses the cases that need a maintainer's decision. I had to find them by hand:

  • pull requests merged after their milestone was already tagged (ai-command)
  • an open milestone whose tag already existed, where generate would have put the notes on the old tag (block-command)
  • merged pull requests on no milestone, which the release notes leave out
  • milestones that still had open items

wp maintenance release plan makes that check repeatable. For each repository it compares the default branch against the latest version tag and looks at the pull requests merged since. It reports up_to_date, ready (everything sits on one open milestone that generate can release), or needs_human with the blockers that explain why. The output is JSON when piped, so an agent can act on it.

The plan never picks a version or creates a milestone. Versions are a maintainer's decision, so anything that needs one is reported as a blocker rather than resolved. Routine Dependabot and GitHub Actions pull requests only count when a maintainer has put them on a milestone; otherwise every repository would always look unreleased.

The unit tests are built from the cases above.

The bundle currently comes out up_to_date throughout. Across the org, the plan also finds six packages outside the bundle whose milestones are ready (doctor, find, profile, scaffold-package, restful and google-sitemap-generator).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@schlessera
schlessera requested a review from a team as a code owner October 30, 2026 17:45
@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 46 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: dc88b7cc-becc-491d-b84d-ff1e7a033e8a
Commits

Reviewing files that changed from the base of the PR and between 1476f8a and 4c71dca.

Files selected for processing: 6
  • .maintenance/src/GitHub.php
  • .maintenance/src/Release_Command.php
  • .maintenance/src/Release_Plan.php
  • .readme-partials/DEVELOPMENT.md
  • composer.json
  • tests/ReleasePlanTest.php
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added command:maintenance-release Related to 'maintenance release' command enhancement New feature or request labels Oct 30, 2026
@codecov

codecov Bot commented Oct 30, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 57.30994% with 73 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
.maintenance/src/GitHub.php 0.00% 31 Missing ⚠️
.maintenance/src/Release_Command.php 0.00% 30 Missing ⚠️
.maintenance/src/Release_Plan.php 89.09% 12 Missing ⚠️

📢 Thoughts on this report? Let us know!

@schlessera
schlessera merged commit a6f91dd into main Oct 30, 2026
18 checks passed
@schlessera
schlessera deleted the release-plan branch October 30, 2026 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

command:maintenance-release Related to 'maintenance release' command enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant