-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Release automation: try cherry-picking automation #62716
Conversation
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 If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.
To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Flaky tests detected in 37d701f. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/9609625039
|
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.
LGTM. I like the requirement of creating PRs to the wp/*
branch in order to merge changes that had caused conflicts.
aad4da1
to
cb40a43
Compare
This is really neat! Thanks for this, @ellatrix. I did make one small adjustment to the syntax for the versions of third-party actions to use in #62836. When possible we should use full commit SHAs as an extra level of hardening to be safe. The |
Sounds good, thanks! |
This is awesome! One question, who decides about adding |
It could also get extended to backporting to the Gutenberg plugin release branches when there is a bug fix to land during RC or after the final release. At that point, we could delete the old bin/cherry-pick.mjs script crafted by @adamziel long time ago 😀 |
Yes, anyone who can add labels can add it. Th Editor Tech Leads should double check the commits before publishing packages, revert if they disagree with something. They would have to do this previously as well, but before cherry-picking. Tbh, I don't think it's a big deal, we should put trust in people and correct/ping if needed. |
Agreed. I guess it was the experience in the WP 6.6 release cycle so it's best to repeat it in the future 👍🏻 |
What?
The idea is to have a designated label
Backport to WP 6.6 Beta/RC
and once a PR against trunk is merged with that label, it automatically cherry-picks that PR into the right release branch, removes the label, and comments on the PR. It should also work if the label is applied after merge. If there is a conflict, it will comment on the PR to make a PR against thewp/*
manually.Why?
Cherry-picking can be tedious, and it would be good to cherry-pick as soon as PRs are merged into trunk. That way conflicts can be detected and addressed early.
How?
See the workflow for details in logic.
To see it in action, this is the latest version: #62735 (comment)
Also, jobs will wait for the last one to finish so the checkout are always fresh.
Testing Instructions
I will attempt to create two branches that are based on this one:
wp/0.0
, to test if PRs get cherry-picked.try/cherry-pick-automation-trunk
to simulate trunk.Then I will create a few PRs against
try/cherry-pick-automation-trunk
to test if they get cherry-picked:Testing Instructions for Keyboard
Screenshots or screencast