-
Notifications
You must be signed in to change notification settings - Fork 114
feat(git-node): add support for promoting several releases at once #935
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
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #935 +/- ##
=======================================
Coverage 79.76% 79.76%
=======================================
Files 39 39
Lines 4630 4630
=======================================
Hits 3693 3693
Misses 937 937 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, it assumes a single releaser for the entire security release process. Although it might be the current situation, it wasn't like that in the past - I'm doing it because I'm paid to do this work, but in normal circumstances, it is expected to have one releaser per release proposal. So either the documentation must be clarified, or we should add an opt-in flag to promote several releases at once.
It is opt-in, you have to provide the URLs of the release proposal PR(s) you want to promote
It does not, what it does is simplifying the workflow of promoting several releases at once, and the workflow of promoting one (or more) proposal that's hosted on a different repo (not related to this PR, but maybe worth discussing: IMO we should aim on having all the security releases being promoted at once, it's less work overall for the team, and it makes the time window between the time the fix is disclosed and the time it is available smaller, which is good to have). |
what we do normally (when more than one releaser) is to push all the proposals to private branch first, so we merge the proposal to vN.x and vN.x-staging, and once all releasers complete that, we push it to public. It reduces even more the "risk-time". |
IIUC this PR does exactly that, using the local clone as the private repo, so the releaser can push all proposals at once. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just make sure to update the https://github.com/nodejs/node/blob/main/doc/contributing/releases.md#11-tag-and-sign-the-release-commit to mention it accepts a list of PRs to we won't forget that.
LGTM.
And from a different remote. Currently, the
git node release --promote
workflow doesn't work well for security releases as it assumes the release proposal exists on the same repo as where we want to make the release, and releases are to be released one-by-one.This PR aims at addressing all this shortcomings.
The process is now roughly:
Working on …
commit.git push
command to push everything at once to the public repo.I've tested this with 24.1.0 and 22.16.0, seems to work fine!