Task #5795
closedAutomatically cherry pick bug fixes to the latest release branch
100%
Description
Have Travis check for issues tagged with "Needs Cherry Pick" and create a PR with these issues against the latest release branch.
Design¶
When Travis runs its cron job, have it check for any merged PR labeled with "Needs Cherry Pick". It should create a PR with these changes if the cherry picks all succeed. Travis should also remove the label from PRs.
If any of cherry picks fail, the job should fail. PRs in this case don't get updated and the release lead should create the PR manually and remove the "Needs Cherry Pick" label.
The job should be controlled by a plugin_template variable (perhaps perform_cherry_pick?). I imagine we'll also need to have a variable to store the latest release branch name.
The Github user credentials, which are needed to open a PR and update PR labels, should be stored/encrypted in Travis settings. I think we might be able to leverage the @pulpbot account on Github.
Related issues
Updated by bmbouter almost 5 years ago
This looks great. As a cherry picking person, I could really use this because it would let me cherry pick at the PR level.
Updated by daviddavis almost 5 years ago
- Related to Task #5808: Have travis email us when a build fails added
Updated by fao89 almost 5 years ago
- Tracker changed from Issue to Task
- % Done set to 0
- Sprint set to Sprint 62
Updated by daviddavis almost 5 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to daviddavis
Updated by daviddavis almost 5 years ago
- Status changed from ASSIGNED to POST
Added by daviddavis almost 5 years ago
Updated by daviddavis almost 5 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset plugin_template|84d63defa6bd245a0e95e9682ee590f01b5cce40.
Added by daviddavis almost 5 years ago
Revision 2d150c79 | View on GitHub
Adding automated cherry picking
ref #5795
Updated by daviddavis almost 5 years ago
- Status changed from MODIFIED to ASSIGNED
The cherry pick process failed:
https://travis-ci.com/pulp/pulpcore/jobs/269037561
The issue is that there are three ways to "merge" PRs in github. The first is by merging and the other two are rebasing and squashing. In the merge case, the SHAs in the PR match the commits in the repository. The cherry pick code uses these SHAs to cherry pick the changes from the PR.
In the other cases however, the SHAs are different because the changes have been rebased or squashed. The cherry pick code doesn't handle this possibility and will need to.
Updated by daviddavis almost 5 years ago
- Status changed from ASSIGNED to POST
Here is the fix to handle squashes and rebases. Warning, it's ugly.
Added by daviddavis almost 5 years ago
Revision 79144250 | View on GitHub
Update cherry pick processor to handle rebases and squashes
fixes #5795
Updated by daviddavis almost 5 years ago
- Status changed from POST to MODIFIED
Applied in changeset plugin_template|7914425052c37b60d96696cc07e0b5748cf825c5.
Added by daviddavis almost 5 years ago
Revision c1b43b91 | View on GitHub
Updating the cherry pick script.
ref #5795
Updated by bmbouter almost 5 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Adding an automated cherry pick job
fixes #5795 https://pulp.plan.io/issues/5795