Skip to content
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

Add infrastructure for automated cherry-picking #31590

Closed
DanielRosenwasser opened this issue May 25, 2019 · 3 comments
Closed

Add infrastructure for automated cherry-picking #31590

DanielRosenwasser opened this issue May 25, 2019 · 3 comments
Assignees
Labels
Fixed A PR has been merged for this issue Infrastructure Issue relates to TypeScript team infrastructure

Comments

@DanielRosenwasser
Copy link
Member

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!

@DanielRosenwasser DanielRosenwasser added the Infrastructure Issue relates to TypeScript team infrastructure label May 25, 2019
@weswigham
Copy link
Member

@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?).

@RyanCavanaugh
Copy link
Member

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.

@weswigham
Copy link
Member

weswigham commented May 31, 2019

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.

@weswigham weswigham self-assigned this May 31, 2019
@DanielRosenwasser DanielRosenwasser added this to the TypeScript 3.6.0 milestone Jun 10, 2019
@DanielRosenwasser DanielRosenwasser added the Fixed A PR has been merged for this issue label Jun 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Fixed A PR has been merged for this issue Infrastructure Issue relates to TypeScript team infrastructure
Projects
None yet
Development

No branches or pull requests

3 participants