Typescript: Add infrastructure for automated cherry-picking

Created on 25 May 2019  路  3Comments  路  Source: microsoft/TypeScript

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!

Fixed Infrastructure

Most helpful comment

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.

All 3 comments

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

uber5001 picture uber5001  路  3Comments

remojansen picture remojansen  路  3Comments

dlaberge picture dlaberge  路  3Comments

bgrieder picture bgrieder  路  3Comments

siddjain picture siddjain  路  3Comments