-
-
Notifications
You must be signed in to change notification settings - Fork 716
github: add actions to automate backporting fixes #4162
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
base: master
Are you sure you want to change the base?
Conversation
Example: |
I had a quick look to see if any existing Actions might do something similar, but they all appear to merge/rebase an entire PR rather than allow control over specific commits. (Introducing the use of milestones would be a good improvement regardless.) |
FWIW, I just found a small issue in this script, which I reported upstream at llvm/llvm-project#109429. |
f296898
to
cd6b8d5
Compare
Another point worth discussing is the process for updating changelog notes for patch versions. Should this be done gradually (e.g. as part of the backport or as a separate commit)? Or all at once as part of the patch release? FWIW, GLib does the latter (see e.g. commit GNOME/glib@bd40fbb). However, these changes do not seem to be reflected in the main branch (see e.g. https://github.com/GNOME/glib/blob/main/NEWS). |
This adds support for automatically cherry-picking fixes for the release branch using a special 'command' in comments: /cherry-pick <commit1> <commit2> ... This command attempts to cherry-pick the specified commit(s) to the release branch based on the milestone linked to the issue or pull request. If the commit(s) fail to apply cleanly, then a comment with a link to the failing job will be added to the issue/pull request. If the commit(s) do apply cleanly, the changes will be pushed to a new branch on GitHub, from which a pull request will be created.
cd6b8d5
to
efb51d8
Compare
This is ready for review now. To summarize:
Release branches are still created (i.e "branched") after a minor version is released and before new features are merged into the master branch. We could consider branching earlier (similar to LLVM's approach), but for now, the benefits of doing so appear minimal. @jcupitt I can help with the releases for the 8.18 cycle (and potentially for any remaining 8.17.x releases) if that would be helpful.
I opened PR llvm/llvm-project#149653 for this upstream. The script in this PR already contains that change.
I think the best approach is to update the ChangeLog notes at once in the patch release, since we need to update the date anyway (see e.g. PR #3663). The only caveat is that the ChangeLog on the master branch lists changes only for minor releases, not patch releases (which is probally fine as most users refer to the release notes at https://github.com/libvips/libvips/releases). |
This adds support for automatically cherry-picking fixes for the release branch using a special 'command' in comments:
This command attempts to cherry-pick the specified commit(s) to the release branch based on the milestone linked to the issue or pull request. If the commit(s) fail to apply cleanly, then a comment with a link to the failing job will be added to the issue/pull request. If the commit(s) do apply cleanly, the changes will be pushed to a new branch on GitHub, from which a pull request will be created.
Context: #4158 (comment).