Automating cherry-picks between OSS and private forks
Jan 14, 2025Manan Gupta

Summary
This post details the development and implementation of a Vitess cherry-pick bot to automate the process of synchronizing private Vitess forks with open-source changes. It describes the evolution from a manual approach to using `git-replay` and finally to a stateful bot leveraging GitHub Actions and a PlanetScale database. The bot's core functionalities include identifying and executing cherry-picks from OSS `main` to the private `upstream` branch, and backporting changes to private `latest` branches based on labels. It also outlines the conflict resolution strategy, PR assignment, and the implementation of weekly integrity checks for reconciliation and alerting.