← Back to team overview

mimblewimble team mailing list archive

Cherrypick automation in Github


Hi folks,

github.com/mimblewimble-robot is our new friend, capable of cherry-picking Github PRs across branches and we (Igno and I) recently configured it to work for mimblewimble/grin.

You can use it by commenting on a PR, like so:

/cherrypick <target-branch>

eg. on a PR targetting master you can comment "/cherrypick milestone/testnet1" and assuming no conflicts exist, the bot will open a new PR against milestone/testnet1 that cherry-picks the originating PR. Some of you may have already noticed its inagural PR[1]. It works both for merged PRs (new PR is opened instantly) and open PRs (new PR is opened as soon as the canonical PR merges).

If conflicts exist, you should see a nicely formatted message informing you of the conflict. If a PR opens (so no conflict) but tests are broken for some reason, eg. compilation is broken due to differences in other parts of the code, folks with push access to mimblewimble/grin can push updates in the PR[2].

The bot is deployed in the free tier of Openshfit Online and its source code can be found here[3]. If you have any issues, drop me a word on Github (@kargakis) or open an issue at the bot's repo (kubernetes/test-infra).

Happy cherrypicking!


[1] https://github.com/mimblewimble/grin/pull/608#issuecomment-357463412
[2] https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/
[3] https://github.com/kubernetes/test-infra/tree/master/experiment/cherrypicker