@@ -25,13 +25,15 @@ official release builds for Node.js, hosted on <https://nodejs.org/>.
2525 * [ 10. Test the Build] ( #10-test-the-build )
2626 * [ 11. Tag and Sign the Release Commit] ( #11-tag-and-sign-the-release-commit )
2727 * [ 12. Set Up For the Next Release] ( #12-set-up-for-the-next-release )
28- * [ 13. Promote and Sign the Release Builds] ( #13-promote-and-sign-the-release-builds )
29- * [ 14. Check the Release] ( #14-check-the-release )
30- * [ 15. Create a Blog Post] ( #15-create-a-blog-post )
31- * [ 16. Create the release on GitHub] ( #16-create-the-release-on-github )
32- * [ 17. Cleanup] ( #17-cleanup )
33- * [ 18. Announce] ( #18-announce )
34- * [ 19. Celebrate] ( #19-celebrate )
28+ * [ 13. Cherry-pick the Release Commit to ` master ` ] ( #13-cherry-pick-the-release-commit-to-master )
29+ * [ 14. Push the release tag] ( #14-push-the-release-tag )
30+ * [ 15. Promote and Sign the Release Builds] ( #15-promote-and-sign-the-release-builds )
31+ * [ 16. Check the Release] ( #16-check-the-release )
32+ * [ 17. Create a Blog Post] ( #17-create-a-blog-post )
33+ * [ 18. Create the release on GitHub] ( #18-create-the-release-on-github )
34+ * [ 19. Cleanup] ( #19-cleanup )
35+ * [ 20. Announce] ( #20-announce )
36+ * [ 21. Celebrate] ( #21-celebrate )
3537* [ LTS Releases] ( #lts-releases )
3638* [ Major Releases] ( #major-releases )
3739
@@ -528,15 +530,31 @@ $ git rebase v1.x
528530$ git push upstream v1.x-staging
529531```
530532
531- Cherry-pick the release commit to ` master ` . After cherry-picking, edit
532- ` src/node_version.h ` to ensure the version macros contain whatever values were
533- previously on ` master ` . ` NODE_VERSION_IS_RELEASE ` should be ` 0 ` . ** Do not**
534- cherry-pick the "Working on vx.y.z" commit to ` master ` .
533+ ### 13. Cherry-pick the Release Commit to ` master `
535534
536- Run ` make lint ` before pushing to ` master ` , to make sure the Changelog
537- formatting passes the lint rules on ` master ` .
535+ ``` console
536+ $ git checkout master
537+ $ git cherry-pick v1.x^
538+ ```
539+
540+ Git should stop to let you fix conflicts. Revert all changes that were made to
541+ ` src/node_version.h ` . If there are conflicts in ` doc ` due to updated ` REPLACEME `
542+ placeholders (that happens when a change previously landed on another release
543+ branch), keep both version numbers. Convert the YAML field to an array if it is
544+ not already one.
545+
546+ Then finish cherry-picking and push the commit upstream:
547+
548+ ``` console
549+ $ git add src/node_version.h doc
550+ $ git cherry-pick --continue
551+ $ make lint
552+ $ git push upstream master
553+ ```
554+
555+ ** Do not** cherry-pick the "Working on vx.y.z" commit to ` master ` .
538556
539- ### 13 . Push the release tag
557+ ### 14 . Push the release tag
540558
541559Push the tag to the repo before you promote the builds. If you haven't pushed
542560your tag first, then build promotion won't work properly. Push the tag using the
@@ -549,7 +567,7 @@ $ git push <remote> <vx.y.z>
549567* Note* : Please do not push the tag unless you are ready to complete the
550568remainder of the release steps.
551569
552- ### 14 . Promote and Sign the Release Builds
570+ ### 15 . Promote and Sign the Release Builds
553571
554572** The same individual who signed the release tag must be the one
555573to promote the builds as the ` SHASUMS256.txt ` file needs to be signed with the
@@ -622,7 +640,7 @@ be prompted to re-sign `SHASUMS256.txt`.
622640** It is possible to only sign a release by running `./tools/release.sh -s
623641vX.Y.Z`.**
624642
625- ### 15 . Check the Release
643+ ### 16 . Check the Release
626644
627645Your release should be available at ` https://nodejs.org/dist/vx.y.z/ ` and
628646< https://nodejs.org/dist/latest/ > . Check that the appropriate files are in
@@ -631,7 +649,7 @@ have the right internal version strings. Check that the API docs are available
631649at < https://nodejs.org/api/ > . Check that the release catalog files are correct
632650at < https://nodejs.org/dist/index.tab > and < https://nodejs.org/dist/index.json > .
633651
634- ### 16 . Create a Blog Post
652+ ### 17 . Create a Blog Post
635653
636654There is an automatic build that is kicked off when you promote new builds, so
637655within a few minutes nodejs.org will be listing your new version as the latest
@@ -664,19 +682,19 @@ This script will use the promoted builds and changelog to generate the post. Run
664682* Changes to ` master ` on the [ nodejs.org repository] [ ] will trigger a new build
665683 of nodejs.org so your changes should appear a few minutes after pushing.
666684
667- ### 17 . Create the release on GitHub
685+ ### 18 . Create the release on GitHub
668686
669687* Go to the [ New release page] ( https://github.com/nodejs/node/releases/new ) .
670688* Select the tag version you pushed earlier.
671689* For release title, copy the title from the changelog.
672690* For the description, copy the rest of the changelog entry.
673691* Click on the "Publish release" button.
674692
675- ### 18 . Cleanup
693+ ### 19 . Cleanup
676694
677695Close your release proposal PR and delete the proposal branch.
678696
679- ### 19 . Announce
697+ ### 20 . Announce
680698
681699The nodejs.org website will automatically rebuild and include the new version.
682700To announce the build on Twitter through the official @nodejs account, email
@@ -693,7 +711,7 @@ announcements.
693711
694712Ping the IRC ops and the other [ Partner Communities] [ ] liaisons.
695713
696- ### 20 . Celebrate
714+ ### 21 . Celebrate
697715
698716_ In whatever form you do this..._
699717
0 commit comments