We are trying to smooth out our release process. As part of it, we would love to find a way to have @typescript-bot automatically create a companion PR that cherry-picks commits from PRs into master into another branch.
If there are existing tools to do this, we'd love to know about them!
@typescript-bot already learned how to open PRs on github for the user suite baselines, so this shouldn't be too big an addition to the bot - technically it's moreso a question of what kind of UX do you want (automatic based on some criteria? on demand?), how do you want the pick to proceed (squash and pick the PR like a patch? literally just git cherry-pick the merge commit from master?), and against what target (a release branch? an experiment branch? does it need to continuously sync after being invoked once?).
I think my ideal workflow would be (in a PR):
@typescript-bot cherry-pick this to release-5.7
Responses would be either
Sorry @RyanCavanaugh, there's a merge conflict in diagnosticMessages.json
or
@RyanCavanaugh I've opened PR #58713 to port this change
with the branch name for the PR being e.g. automated/port-41324-to-release-5.7
My personal preference is squashed commits but I'm open to other options.
Done. Invocation description is added to the wiki.
@typescript-bot cherry-pick this to branchname
No idea how reliable it is in the context of merge commits yet, tho, but it'll reply back on failure if something goes wrong.
The command invocation is also little flexible - the - in cherry-pick is optional, as is this, and to can be into as well, if that's your preference.
Most helpful comment
Done. Invocation description is added to the wiki.
No idea how reliable it is in the context of merge commits yet, tho, but it'll reply back on failure if something goes wrong.
The command invocation is also little flexible - the
-incherry-pickis optional, as isthis, andtocan beintoas well, if that's your preference.