doc: various updates to RELEASING.md - #64198

Closed
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates
Closed

doc: various updates to RELEASING.md#64198
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates

Conversation

@sxa

@sxasxa commented Jun 29, 2026

Copy link
Copy Markdown
Member

List of updates based on my recent experience preparing 24.18.0.

If anyone thinks that something in this list shouldn't be here let me know, or if any of the list of things I haven't included should be added (or are not actually correct) then let me know.

  • Clarify permissions needed to be able to prepare a release
  • Add CitGM to the "relevant jenkins jobs" section
  • Clarify GPG key creation process and algorithms
  • Also suggest that GPG keys can be published to ubuntu's keyservers
  • Clarify that signed commits on release branches are required
  • Add note about branch-diff using significant github API credits
  • Explicit note to each section which can be skipped with the new automation

On the last point here, I did consider making those things which can now be done via automation into collapsed sections but since there are already collapsed sections in several of them for security releases I decided against it. Thoughts welcome...

Things I haven't included

A few things from my notes from preparing 24.18.0 that I considered adding but left out:

  • An example of using git bisect to track down a problem after doing the initial large set of cherry-picks. I suspect I'm not the only person with scripts they use, but perhaps we could have something for people to use (or do we already?). I've left anything like this out as it should perhaps be somewhere more generic like the collaborator guide.
for example here is the script I use with `git bisect` script

Not that the taskset is something I add to stop the build taking over my machine by limiting which cores it uses:

 echo -n SXAEC: `date +%T` ': '
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short | head -1
rm -rf out
make clean ./configure
time taskset -c 0-12 make -j12 V= || exit 1
time taskset -c 0-12 make test-ci V= CI_JS_SUITES=parallel CI_NATIVE_SUITES=
# time taskset -c 0-12 make test-ci V=
exit $?
  • A note about the automated workflow chosing a new semver major .0.0 version if it detects a commit with a PR-URL: that was originall semver-major even if it has been patched for the backported such that it isn't semver-major. This will mean having to skip use of the automation.
  • The final commit with the version should NOT have Signed-off by at the end (i.e. don't use -s) otherwise it will fail the lint-release-commit check because the PR-URL is not the last line of the commit.
  • I was tempted to give an example of an awk script to convert the initial branch diff output to the "SHA only" version for feeding to git cherry-pick but it felt safer to just suggest running it again.

Also related: #64070 which was something spotted during my release prep :-)

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-botnodejs-github-bot added the doc Issues and PRs related to Node.js documentation. label Jun 29, 2026
@sxa
sxaforce-pushed the releasesMDupdates branch from 80078b3 to ab638b5CompareJune 29, 2026 16:36
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxaforce-pushed the releasesMDupdates branch from ab638b5 to 41ac2ccCompareJune 29, 2026 16:40
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 2 commits June 29, 2026 18:28
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment on lines 541 to 552

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is weird, we either need to roll it back, or edit further

@sxasxaJun 29, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated - let me know whether it alleviates your concerns.

I wanted to make sure the note about the v prefix was before the examples so it would be less likely to be missed and to clarify before the examples that either sed or perl could be used. I'd be tempted to just leave in the perl example for the selfish reason that it's what I always use although not all UNIX-like systems have perl. sed -i also isn't guaranteed to be there on all OSs (it's not a standard POSIX option) and we can see here we've already had to make the examples OS-specific in once case. Although the chances of any collaborators running on an OS which doesn't have sed -i is prety near zero I'd have thought ;-)

@aduh95aduh95Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue I have is that and substitute this node version with stands alone awkwardly, when it was integrated in the sentence in the main version.

@sxasxaJun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep - agreed. I've split it a little so that some of the description is now after the initial grep which I think works better and stops that partial sentence sitting there.

Comment threaddoc/contributing/releases.md Outdated
sxaand others added 4 commits June 29, 2026 18:39
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@sxasxa self-assigned this Jun 29, 2026
sxa added 3 commits June 30, 2026 10:02
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa

sxa commented Jun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Now that Antoine has helped me get a few corrections into the original article to clean up the changes (thank you!) and the linters are happy I'm going to tag @nodejs/releasers to for awareness/reviews from other releasers.

@richardlaurichardlau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of suggestions/notes, but none are blocking.

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Fixups following new review
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Individuals who are Members of the
[backporters team](https://github.com/orgs/nodejs/teams/backporters) can
land things on the staging branches and prepare releases. This is a
prerequisite to being able to prepare releases which is the first step

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prerequisite to being able to prepare releases which is the first step
prerequisite to being able to prepare a release, which is the first step

This makes me realize it would be nice to have a small section clarifying the distinction between "Preparing a Release" and "Publishing a Release" that we could link to here.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a think and aim to make another push with a suggestion later today (unless someone else drafts something first)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made another push on this. Let me know what you think. Two things:

  • I'm not sure we have a documented process for getting added to the backporters team. Neither the backporting guide or the Release GOVERNANCE.md mention it so I have not included any details of that
  • We have perhaps used "publish" and "promote" interchangeably in this document. I'm sticking with "publish" in my latest change but maybe we should be consistent (or maybe there's a reason for the difference in which case let me know if I've used the wrong term :-) )

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 6 commits July 6, 2026 13:42
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxa requested review from aduh95 and ruyadornoJuly 7, 2026 12:19
Comment threaddoc/contributing/releases.md Outdated

@aduh95aduh95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd stick with promote over publish, that's what the flag is called in NCU, but that can be a follow up

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
sxa added a commit that referenced this pull request Jul 8, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
@sxa

sxa commented Jul 8, 2026

Copy link
Copy Markdown
MemberAuthor

Landed in 6e8a24d

@sxasxa closed this Jul 8, 2026
aduh95 pushed a commit that referenced this pull request Jul 21, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
RafaelGSS pushed a commit that referenced this pull request Jul 29, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 6, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docIssues and PRs related to Node.js documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@sxa@nodejs-github-bot@ruyadorno@richardlau@aduh95@juanarbol
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

doc: various updates to RELEASING.md - #64198

Closed
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates
Closed

doc: various updates to RELEASING.md#64198
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates

Conversation

@sxa

@sxasxa commented Jun 29, 2026

Copy link
Copy Markdown
Member

List of updates based on my recent experience preparing 24.18.0.

If anyone thinks that something in this list shouldn't be here let me know, or if any of the list of things I haven't included should be added (or are not actually correct) then let me know.

  • Clarify permissions needed to be able to prepare a release
  • Add CitGM to the "relevant jenkins jobs" section
  • Clarify GPG key creation process and algorithms
  • Also suggest that GPG keys can be published to ubuntu's keyservers
  • Clarify that signed commits on release branches are required
  • Add note about branch-diff using significant github API credits
  • Explicit note to each section which can be skipped with the new automation

On the last point here, I did consider making those things which can now be done via automation into collapsed sections but since there are already collapsed sections in several of them for security releases I decided against it. Thoughts welcome...

Things I haven't included

A few things from my notes from preparing 24.18.0 that I considered adding but left out:

  • An example of using git bisect to track down a problem after doing the initial large set of cherry-picks. I suspect I'm not the only person with scripts they use, but perhaps we could have something for people to use (or do we already?). I've left anything like this out as it should perhaps be somewhere more generic like the collaborator guide.
for example here is the script I use with `git bisect` script

Not that the taskset is something I add to stop the build taking over my machine by limiting which cores it uses:

 echo -n SXAEC: `date +%T` ': '
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short | head -1
rm -rf out
make clean ./configure
time taskset -c 0-12 make -j12 V= || exit 1
time taskset -c 0-12 make test-ci V= CI_JS_SUITES=parallel CI_NATIVE_SUITES=
# time taskset -c 0-12 make test-ci V=
exit $?
  • A note about the automated workflow chosing a new semver major .0.0 version if it detects a commit with a PR-URL: that was originall semver-major even if it has been patched for the backported such that it isn't semver-major. This will mean having to skip use of the automation.
  • The final commit with the version should NOT have Signed-off by at the end (i.e. don't use -s) otherwise it will fail the lint-release-commit check because the PR-URL is not the last line of the commit.
  • I was tempted to give an example of an awk script to convert the initial branch diff output to the "SHA only" version for feeding to git cherry-pick but it felt safer to just suggest running it again.

Also related: #64070 which was something spotted during my release prep :-)

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-botnodejs-github-bot added the doc Issues and PRs related to Node.js documentation. label Jun 29, 2026
@sxa
sxaforce-pushed the releasesMDupdates branch from 80078b3 to ab638b5CompareJune 29, 2026 16:36
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxaforce-pushed the releasesMDupdates branch from ab638b5 to 41ac2ccCompareJune 29, 2026 16:40
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 2 commits June 29, 2026 18:28
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment on lines 541 to 552

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is weird, we either need to roll it back, or edit further

@sxasxaJun 29, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated - let me know whether it alleviates your concerns.

I wanted to make sure the note about the v prefix was before the examples so it would be less likely to be missed and to clarify before the examples that either sed or perl could be used. I'd be tempted to just leave in the perl example for the selfish reason that it's what I always use although not all UNIX-like systems have perl. sed -i also isn't guaranteed to be there on all OSs (it's not a standard POSIX option) and we can see here we've already had to make the examples OS-specific in once case. Although the chances of any collaborators running on an OS which doesn't have sed -i is prety near zero I'd have thought ;-)

@aduh95aduh95Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue I have is that and substitute this node version with stands alone awkwardly, when it was integrated in the sentence in the main version.

@sxasxaJun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep - agreed. I've split it a little so that some of the description is now after the initial grep which I think works better and stops that partial sentence sitting there.

Comment threaddoc/contributing/releases.md Outdated
sxaand others added 4 commits June 29, 2026 18:39
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@sxasxa self-assigned this Jun 29, 2026
sxa added 3 commits June 30, 2026 10:02
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa

sxa commented Jun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Now that Antoine has helped me get a few corrections into the original article to clean up the changes (thank you!) and the linters are happy I'm going to tag @nodejs/releasers to for awareness/reviews from other releasers.

@richardlaurichardlau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of suggestions/notes, but none are blocking.

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Fixups following new review
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Individuals who are Members of the
[backporters team](https://github.com/orgs/nodejs/teams/backporters) can
land things on the staging branches and prepare releases. This is a
prerequisite to being able to prepare releases which is the first step

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prerequisite to being able to prepare releases which is the first step
prerequisite to being able to prepare a release, which is the first step

This makes me realize it would be nice to have a small section clarifying the distinction between "Preparing a Release" and "Publishing a Release" that we could link to here.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a think and aim to make another push with a suggestion later today (unless someone else drafts something first)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made another push on this. Let me know what you think. Two things:

  • I'm not sure we have a documented process for getting added to the backporters team. Neither the backporting guide or the Release GOVERNANCE.md mention it so I have not included any details of that
  • We have perhaps used "publish" and "promote" interchangeably in this document. I'm sticking with "publish" in my latest change but maybe we should be consistent (or maybe there's a reason for the difference in which case let me know if I've used the wrong term :-) )

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 6 commits July 6, 2026 13:42
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxa requested review from aduh95 and ruyadornoJuly 7, 2026 12:19
Comment threaddoc/contributing/releases.md Outdated

@aduh95aduh95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd stick with promote over publish, that's what the flag is called in NCU, but that can be a follow up

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
sxa added a commit that referenced this pull request Jul 8, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
@sxa

sxa commented Jul 8, 2026

Copy link
Copy Markdown
MemberAuthor

Landed in 6e8a24d

@sxasxa closed this Jul 8, 2026
aduh95 pushed a commit that referenced this pull request Jul 21, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
RafaelGSS pushed a commit that referenced this pull request Jul 29, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 6, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docIssues and PRs related to Node.js documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@sxa@nodejs-github-bot@ruyadorno@richardlau@aduh95@juanarbol
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

doc: various updates to RELEASING.md - #64198

Closed
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates
Closed

doc: various updates to RELEASING.md#64198
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates

Conversation

@sxa

@sxasxa commented Jun 29, 2026

Copy link
Copy Markdown
Member

List of updates based on my recent experience preparing 24.18.0.

If anyone thinks that something in this list shouldn't be here let me know, or if any of the list of things I haven't included should be added (or are not actually correct) then let me know.

  • Clarify permissions needed to be able to prepare a release
  • Add CitGM to the "relevant jenkins jobs" section
  • Clarify GPG key creation process and algorithms
  • Also suggest that GPG keys can be published to ubuntu's keyservers
  • Clarify that signed commits on release branches are required
  • Add note about branch-diff using significant github API credits
  • Explicit note to each section which can be skipped with the new automation

On the last point here, I did consider making those things which can now be done via automation into collapsed sections but since there are already collapsed sections in several of them for security releases I decided against it. Thoughts welcome...

Things I haven't included

A few things from my notes from preparing 24.18.0 that I considered adding but left out:

  • An example of using git bisect to track down a problem after doing the initial large set of cherry-picks. I suspect I'm not the only person with scripts they use, but perhaps we could have something for people to use (or do we already?). I've left anything like this out as it should perhaps be somewhere more generic like the collaborator guide.
for example here is the script I use with `git bisect` script

Not that the taskset is something I add to stop the build taking over my machine by limiting which cores it uses:

 echo -n SXAEC: `date +%T` ': '
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short | head -1
rm -rf out
make clean ./configure
time taskset -c 0-12 make -j12 V= || exit 1
time taskset -c 0-12 make test-ci V= CI_JS_SUITES=parallel CI_NATIVE_SUITES=
# time taskset -c 0-12 make test-ci V=
exit $?
  • A note about the automated workflow chosing a new semver major .0.0 version if it detects a commit with a PR-URL: that was originall semver-major even if it has been patched for the backported such that it isn't semver-major. This will mean having to skip use of the automation.
  • The final commit with the version should NOT have Signed-off by at the end (i.e. don't use -s) otherwise it will fail the lint-release-commit check because the PR-URL is not the last line of the commit.
  • I was tempted to give an example of an awk script to convert the initial branch diff output to the "SHA only" version for feeding to git cherry-pick but it felt safer to just suggest running it again.

Also related: #64070 which was something spotted during my release prep :-)

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-botnodejs-github-bot added the doc Issues and PRs related to Node.js documentation. label Jun 29, 2026
@sxa
sxaforce-pushed the releasesMDupdates branch from 80078b3 to ab638b5CompareJune 29, 2026 16:36
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxaforce-pushed the releasesMDupdates branch from ab638b5 to 41ac2ccCompareJune 29, 2026 16:40
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 2 commits June 29, 2026 18:28
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment on lines 541 to 552

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is weird, we either need to roll it back, or edit further

@sxasxaJun 29, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated - let me know whether it alleviates your concerns.

I wanted to make sure the note about the v prefix was before the examples so it would be less likely to be missed and to clarify before the examples that either sed or perl could be used. I'd be tempted to just leave in the perl example for the selfish reason that it's what I always use although not all UNIX-like systems have perl. sed -i also isn't guaranteed to be there on all OSs (it's not a standard POSIX option) and we can see here we've already had to make the examples OS-specific in once case. Although the chances of any collaborators running on an OS which doesn't have sed -i is prety near zero I'd have thought ;-)

@aduh95aduh95Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue I have is that and substitute this node version with stands alone awkwardly, when it was integrated in the sentence in the main version.

@sxasxaJun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep - agreed. I've split it a little so that some of the description is now after the initial grep which I think works better and stops that partial sentence sitting there.

Comment threaddoc/contributing/releases.md Outdated
sxaand others added 4 commits June 29, 2026 18:39
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@sxasxa self-assigned this Jun 29, 2026
sxa added 3 commits June 30, 2026 10:02
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa

sxa commented Jun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Now that Antoine has helped me get a few corrections into the original article to clean up the changes (thank you!) and the linters are happy I'm going to tag @nodejs/releasers to for awareness/reviews from other releasers.

@richardlaurichardlau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of suggestions/notes, but none are blocking.

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Fixups following new review
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Individuals who are Members of the
[backporters team](https://github.com/orgs/nodejs/teams/backporters) can
land things on the staging branches and prepare releases. This is a
prerequisite to being able to prepare releases which is the first step

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prerequisite to being able to prepare releases which is the first step
prerequisite to being able to prepare a release, which is the first step

This makes me realize it would be nice to have a small section clarifying the distinction between "Preparing a Release" and "Publishing a Release" that we could link to here.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a think and aim to make another push with a suggestion later today (unless someone else drafts something first)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made another push on this. Let me know what you think. Two things:

  • I'm not sure we have a documented process for getting added to the backporters team. Neither the backporting guide or the Release GOVERNANCE.md mention it so I have not included any details of that
  • We have perhaps used "publish" and "promote" interchangeably in this document. I'm sticking with "publish" in my latest change but maybe we should be consistent (or maybe there's a reason for the difference in which case let me know if I've used the wrong term :-) )

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 6 commits July 6, 2026 13:42
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxa requested review from aduh95 and ruyadornoJuly 7, 2026 12:19
Comment threaddoc/contributing/releases.md Outdated

@aduh95aduh95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd stick with promote over publish, that's what the flag is called in NCU, but that can be a follow up

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
sxa added a commit that referenced this pull request Jul 8, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
@sxa

sxa commented Jul 8, 2026

Copy link
Copy Markdown
MemberAuthor

Landed in 6e8a24d

@sxasxa closed this Jul 8, 2026
aduh95 pushed a commit that referenced this pull request Jul 21, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
RafaelGSS pushed a commit that referenced this pull request Jul 29, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 6, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docIssues and PRs related to Node.js documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@sxa@nodejs-github-bot@ruyadorno@richardlau@aduh95@juanarbol
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

doc: various updates to RELEASING.md - #64198

Closed
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates
Closed

doc: various updates to RELEASING.md#64198
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates

Conversation

@sxa

@sxasxa commented Jun 29, 2026

Copy link
Copy Markdown
Member

List of updates based on my recent experience preparing 24.18.0.

If anyone thinks that something in this list shouldn't be here let me know, or if any of the list of things I haven't included should be added (or are not actually correct) then let me know.

  • Clarify permissions needed to be able to prepare a release
  • Add CitGM to the "relevant jenkins jobs" section
  • Clarify GPG key creation process and algorithms
  • Also suggest that GPG keys can be published to ubuntu's keyservers
  • Clarify that signed commits on release branches are required
  • Add note about branch-diff using significant github API credits
  • Explicit note to each section which can be skipped with the new automation

On the last point here, I did consider making those things which can now be done via automation into collapsed sections but since there are already collapsed sections in several of them for security releases I decided against it. Thoughts welcome...

Things I haven't included

A few things from my notes from preparing 24.18.0 that I considered adding but left out:

  • An example of using git bisect to track down a problem after doing the initial large set of cherry-picks. I suspect I'm not the only person with scripts they use, but perhaps we could have something for people to use (or do we already?). I've left anything like this out as it should perhaps be somewhere more generic like the collaborator guide.
for example here is the script I use with `git bisect` script

Not that the taskset is something I add to stop the build taking over my machine by limiting which cores it uses:

 echo -n SXAEC: `date +%T` ': '
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short | head -1
rm -rf out
make clean ./configure
time taskset -c 0-12 make -j12 V= || exit 1
time taskset -c 0-12 make test-ci V= CI_JS_SUITES=parallel CI_NATIVE_SUITES=
# time taskset -c 0-12 make test-ci V=
exit $?
  • A note about the automated workflow chosing a new semver major .0.0 version if it detects a commit with a PR-URL: that was originall semver-major even if it has been patched for the backported such that it isn't semver-major. This will mean having to skip use of the automation.
  • The final commit with the version should NOT have Signed-off by at the end (i.e. don't use -s) otherwise it will fail the lint-release-commit check because the PR-URL is not the last line of the commit.
  • I was tempted to give an example of an awk script to convert the initial branch diff output to the "SHA only" version for feeding to git cherry-pick but it felt safer to just suggest running it again.

Also related: #64070 which was something spotted during my release prep :-)

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-botnodejs-github-bot added the doc Issues and PRs related to Node.js documentation. label Jun 29, 2026
@sxa
sxaforce-pushed the releasesMDupdates branch from 80078b3 to ab638b5CompareJune 29, 2026 16:36
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxaforce-pushed the releasesMDupdates branch from ab638b5 to 41ac2ccCompareJune 29, 2026 16:40
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 2 commits June 29, 2026 18:28
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment on lines 541 to 552

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is weird, we either need to roll it back, or edit further

@sxasxaJun 29, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated - let me know whether it alleviates your concerns.

I wanted to make sure the note about the v prefix was before the examples so it would be less likely to be missed and to clarify before the examples that either sed or perl could be used. I'd be tempted to just leave in the perl example for the selfish reason that it's what I always use although not all UNIX-like systems have perl. sed -i also isn't guaranteed to be there on all OSs (it's not a standard POSIX option) and we can see here we've already had to make the examples OS-specific in once case. Although the chances of any collaborators running on an OS which doesn't have sed -i is prety near zero I'd have thought ;-)

@aduh95aduh95Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue I have is that and substitute this node version with stands alone awkwardly, when it was integrated in the sentence in the main version.

@sxasxaJun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep - agreed. I've split it a little so that some of the description is now after the initial grep which I think works better and stops that partial sentence sitting there.

Comment threaddoc/contributing/releases.md Outdated
sxaand others added 4 commits June 29, 2026 18:39
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@sxasxa self-assigned this Jun 29, 2026
sxa added 3 commits June 30, 2026 10:02
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa

sxa commented Jun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Now that Antoine has helped me get a few corrections into the original article to clean up the changes (thank you!) and the linters are happy I'm going to tag @nodejs/releasers to for awareness/reviews from other releasers.

@richardlaurichardlau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of suggestions/notes, but none are blocking.

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Fixups following new review
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Individuals who are Members of the
[backporters team](https://github.com/orgs/nodejs/teams/backporters) can
land things on the staging branches and prepare releases. This is a
prerequisite to being able to prepare releases which is the first step

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prerequisite to being able to prepare releases which is the first step
prerequisite to being able to prepare a release, which is the first step

This makes me realize it would be nice to have a small section clarifying the distinction between "Preparing a Release" and "Publishing a Release" that we could link to here.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a think and aim to make another push with a suggestion later today (unless someone else drafts something first)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made another push on this. Let me know what you think. Two things:

  • I'm not sure we have a documented process for getting added to the backporters team. Neither the backporting guide or the Release GOVERNANCE.md mention it so I have not included any details of that
  • We have perhaps used "publish" and "promote" interchangeably in this document. I'm sticking with "publish" in my latest change but maybe we should be consistent (or maybe there's a reason for the difference in which case let me know if I've used the wrong term :-) )

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 6 commits July 6, 2026 13:42
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxa requested review from aduh95 and ruyadornoJuly 7, 2026 12:19
Comment threaddoc/contributing/releases.md Outdated

@aduh95aduh95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd stick with promote over publish, that's what the flag is called in NCU, but that can be a follow up

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
sxa added a commit that referenced this pull request Jul 8, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
@sxa

sxa commented Jul 8, 2026

Copy link
Copy Markdown
MemberAuthor

Landed in 6e8a24d

@sxasxa closed this Jul 8, 2026
aduh95 pushed a commit that referenced this pull request Jul 21, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
RafaelGSS pushed a commit that referenced this pull request Jul 29, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 6, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docIssues and PRs related to Node.js documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@sxa@nodejs-github-bot@ruyadorno@richardlau@aduh95@juanarbol
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

doc: various updates to RELEASING.md - #64198

Closed
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates
Closed

doc: various updates to RELEASING.md#64198
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates

Conversation

@sxa

@sxasxa commented Jun 29, 2026

Copy link
Copy Markdown
Member

List of updates based on my recent experience preparing 24.18.0.

If anyone thinks that something in this list shouldn't be here let me know, or if any of the list of things I haven't included should be added (or are not actually correct) then let me know.

  • Clarify permissions needed to be able to prepare a release
  • Add CitGM to the "relevant jenkins jobs" section
  • Clarify GPG key creation process and algorithms
  • Also suggest that GPG keys can be published to ubuntu's keyservers
  • Clarify that signed commits on release branches are required
  • Add note about branch-diff using significant github API credits
  • Explicit note to each section which can be skipped with the new automation

On the last point here, I did consider making those things which can now be done via automation into collapsed sections but since there are already collapsed sections in several of them for security releases I decided against it. Thoughts welcome...

Things I haven't included

A few things from my notes from preparing 24.18.0 that I considered adding but left out:

  • An example of using git bisect to track down a problem after doing the initial large set of cherry-picks. I suspect I'm not the only person with scripts they use, but perhaps we could have something for people to use (or do we already?). I've left anything like this out as it should perhaps be somewhere more generic like the collaborator guide.
for example here is the script I use with `git bisect` script

Not that the taskset is something I add to stop the build taking over my machine by limiting which cores it uses:

 echo -n SXAEC: `date +%T` ': '
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short | head -1
rm -rf out
make clean ./configure
time taskset -c 0-12 make -j12 V= || exit 1
time taskset -c 0-12 make test-ci V= CI_JS_SUITES=parallel CI_NATIVE_SUITES=
# time taskset -c 0-12 make test-ci V=
exit $?
  • A note about the automated workflow chosing a new semver major .0.0 version if it detects a commit with a PR-URL: that was originall semver-major even if it has been patched for the backported such that it isn't semver-major. This will mean having to skip use of the automation.
  • The final commit with the version should NOT have Signed-off by at the end (i.e. don't use -s) otherwise it will fail the lint-release-commit check because the PR-URL is not the last line of the commit.
  • I was tempted to give an example of an awk script to convert the initial branch diff output to the "SHA only" version for feeding to git cherry-pick but it felt safer to just suggest running it again.

Also related: #64070 which was something spotted during my release prep :-)

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-botnodejs-github-bot added the doc Issues and PRs related to Node.js documentation. label Jun 29, 2026
@sxa
sxaforce-pushed the releasesMDupdates branch from 80078b3 to ab638b5CompareJune 29, 2026 16:36
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxaforce-pushed the releasesMDupdates branch from ab638b5 to 41ac2ccCompareJune 29, 2026 16:40
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 2 commits June 29, 2026 18:28
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment on lines 541 to 552

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is weird, we either need to roll it back, or edit further

@sxasxaJun 29, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated - let me know whether it alleviates your concerns.

I wanted to make sure the note about the v prefix was before the examples so it would be less likely to be missed and to clarify before the examples that either sed or perl could be used. I'd be tempted to just leave in the perl example for the selfish reason that it's what I always use although not all UNIX-like systems have perl. sed -i also isn't guaranteed to be there on all OSs (it's not a standard POSIX option) and we can see here we've already had to make the examples OS-specific in once case. Although the chances of any collaborators running on an OS which doesn't have sed -i is prety near zero I'd have thought ;-)

@aduh95aduh95Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue I have is that and substitute this node version with stands alone awkwardly, when it was integrated in the sentence in the main version.

@sxasxaJun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep - agreed. I've split it a little so that some of the description is now after the initial grep which I think works better and stops that partial sentence sitting there.

Comment threaddoc/contributing/releases.md Outdated
sxaand others added 4 commits June 29, 2026 18:39
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@sxasxa self-assigned this Jun 29, 2026
sxa added 3 commits June 30, 2026 10:02
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa

sxa commented Jun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Now that Antoine has helped me get a few corrections into the original article to clean up the changes (thank you!) and the linters are happy I'm going to tag @nodejs/releasers to for awareness/reviews from other releasers.

@richardlaurichardlau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of suggestions/notes, but none are blocking.

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Fixups following new review
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Individuals who are Members of the
[backporters team](https://github.com/orgs/nodejs/teams/backporters) can
land things on the staging branches and prepare releases. This is a
prerequisite to being able to prepare releases which is the first step

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prerequisite to being able to prepare releases which is the first step
prerequisite to being able to prepare a release, which is the first step

This makes me realize it would be nice to have a small section clarifying the distinction between "Preparing a Release" and "Publishing a Release" that we could link to here.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a think and aim to make another push with a suggestion later today (unless someone else drafts something first)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made another push on this. Let me know what you think. Two things:

  • I'm not sure we have a documented process for getting added to the backporters team. Neither the backporting guide or the Release GOVERNANCE.md mention it so I have not included any details of that
  • We have perhaps used "publish" and "promote" interchangeably in this document. I'm sticking with "publish" in my latest change but maybe we should be consistent (or maybe there's a reason for the difference in which case let me know if I've used the wrong term :-) )

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 6 commits July 6, 2026 13:42
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxa requested review from aduh95 and ruyadornoJuly 7, 2026 12:19
Comment threaddoc/contributing/releases.md Outdated

@aduh95aduh95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd stick with promote over publish, that's what the flag is called in NCU, but that can be a follow up

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
sxa added a commit that referenced this pull request Jul 8, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
@sxa

sxa commented Jul 8, 2026

Copy link
Copy Markdown
MemberAuthor

Landed in 6e8a24d

@sxasxa closed this Jul 8, 2026
aduh95 pushed a commit that referenced this pull request Jul 21, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
RafaelGSS pushed a commit that referenced this pull request Jul 29, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 6, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docIssues and PRs related to Node.js documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@sxa@nodejs-github-bot@ruyadorno@richardlau@aduh95@juanarbol
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

doc: various updates to RELEASING.md - #64198

Closed
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates
Closed

doc: various updates to RELEASING.md#64198
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates

Conversation

@sxa

@sxasxa commented Jun 29, 2026

Copy link
Copy Markdown
Member

List of updates based on my recent experience preparing 24.18.0.

If anyone thinks that something in this list shouldn't be here let me know, or if any of the list of things I haven't included should be added (or are not actually correct) then let me know.

  • Clarify permissions needed to be able to prepare a release
  • Add CitGM to the "relevant jenkins jobs" section
  • Clarify GPG key creation process and algorithms
  • Also suggest that GPG keys can be published to ubuntu's keyservers
  • Clarify that signed commits on release branches are required
  • Add note about branch-diff using significant github API credits
  • Explicit note to each section which can be skipped with the new automation

On the last point here, I did consider making those things which can now be done via automation into collapsed sections but since there are already collapsed sections in several of them for security releases I decided against it. Thoughts welcome...

Things I haven't included

A few things from my notes from preparing 24.18.0 that I considered adding but left out:

  • An example of using git bisect to track down a problem after doing the initial large set of cherry-picks. I suspect I'm not the only person with scripts they use, but perhaps we could have something for people to use (or do we already?). I've left anything like this out as it should perhaps be somewhere more generic like the collaborator guide.
for example here is the script I use with `git bisect` script

Not that the taskset is something I add to stop the build taking over my machine by limiting which cores it uses:

 echo -n SXAEC: `date +%T` ': '
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short | head -1
rm -rf out
make clean ./configure
time taskset -c 0-12 make -j12 V= || exit 1
time taskset -c 0-12 make test-ci V= CI_JS_SUITES=parallel CI_NATIVE_SUITES=
# time taskset -c 0-12 make test-ci V=
exit $?
  • A note about the automated workflow chosing a new semver major .0.0 version if it detects a commit with a PR-URL: that was originall semver-major even if it has been patched for the backported such that it isn't semver-major. This will mean having to skip use of the automation.
  • The final commit with the version should NOT have Signed-off by at the end (i.e. don't use -s) otherwise it will fail the lint-release-commit check because the PR-URL is not the last line of the commit.
  • I was tempted to give an example of an awk script to convert the initial branch diff output to the "SHA only" version for feeding to git cherry-pick but it felt safer to just suggest running it again.

Also related: #64070 which was something spotted during my release prep :-)

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-botnodejs-github-bot added the doc Issues and PRs related to Node.js documentation. label Jun 29, 2026
@sxa
sxaforce-pushed the releasesMDupdates branch from 80078b3 to ab638b5CompareJune 29, 2026 16:36
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxaforce-pushed the releasesMDupdates branch from ab638b5 to 41ac2ccCompareJune 29, 2026 16:40
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 2 commits June 29, 2026 18:28
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment on lines 541 to 552

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is weird, we either need to roll it back, or edit further

@sxasxaJun 29, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated - let me know whether it alleviates your concerns.

I wanted to make sure the note about the v prefix was before the examples so it would be less likely to be missed and to clarify before the examples that either sed or perl could be used. I'd be tempted to just leave in the perl example for the selfish reason that it's what I always use although not all UNIX-like systems have perl. sed -i also isn't guaranteed to be there on all OSs (it's not a standard POSIX option) and we can see here we've already had to make the examples OS-specific in once case. Although the chances of any collaborators running on an OS which doesn't have sed -i is prety near zero I'd have thought ;-)

@aduh95aduh95Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue I have is that and substitute this node version with stands alone awkwardly, when it was integrated in the sentence in the main version.

@sxasxaJun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep - agreed. I've split it a little so that some of the description is now after the initial grep which I think works better and stops that partial sentence sitting there.

Comment threaddoc/contributing/releases.md Outdated
sxaand others added 4 commits June 29, 2026 18:39
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@sxasxa self-assigned this Jun 29, 2026
sxa added 3 commits June 30, 2026 10:02
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa

sxa commented Jun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Now that Antoine has helped me get a few corrections into the original article to clean up the changes (thank you!) and the linters are happy I'm going to tag @nodejs/releasers to for awareness/reviews from other releasers.

@richardlaurichardlau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of suggestions/notes, but none are blocking.

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Fixups following new review
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Individuals who are Members of the
[backporters team](https://github.com/orgs/nodejs/teams/backporters) can
land things on the staging branches and prepare releases. This is a
prerequisite to being able to prepare releases which is the first step

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prerequisite to being able to prepare releases which is the first step
prerequisite to being able to prepare a release, which is the first step

This makes me realize it would be nice to have a small section clarifying the distinction between "Preparing a Release" and "Publishing a Release" that we could link to here.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a think and aim to make another push with a suggestion later today (unless someone else drafts something first)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made another push on this. Let me know what you think. Two things:

  • I'm not sure we have a documented process for getting added to the backporters team. Neither the backporting guide or the Release GOVERNANCE.md mention it so I have not included any details of that
  • We have perhaps used "publish" and "promote" interchangeably in this document. I'm sticking with "publish" in my latest change but maybe we should be consistent (or maybe there's a reason for the difference in which case let me know if I've used the wrong term :-) )

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 6 commits July 6, 2026 13:42
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxa requested review from aduh95 and ruyadornoJuly 7, 2026 12:19
Comment threaddoc/contributing/releases.md Outdated

@aduh95aduh95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd stick with promote over publish, that's what the flag is called in NCU, but that can be a follow up

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
sxa added a commit that referenced this pull request Jul 8, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
@sxa

sxa commented Jul 8, 2026

Copy link
Copy Markdown
MemberAuthor

Landed in 6e8a24d

@sxasxa closed this Jul 8, 2026
aduh95 pushed a commit that referenced this pull request Jul 21, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
RafaelGSS pushed a commit that referenced this pull request Jul 29, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 6, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docIssues and PRs related to Node.js documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@sxa@nodejs-github-bot@ruyadorno@richardlau@aduh95@juanarbol
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

doc: various updates to RELEASING.md - #64198

Closed
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates
Closed

doc: various updates to RELEASING.md#64198
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates

Conversation

@sxa

@sxasxa commented Jun 29, 2026

Copy link
Copy Markdown
Member

List of updates based on my recent experience preparing 24.18.0.

If anyone thinks that something in this list shouldn't be here let me know, or if any of the list of things I haven't included should be added (or are not actually correct) then let me know.

  • Clarify permissions needed to be able to prepare a release
  • Add CitGM to the "relevant jenkins jobs" section
  • Clarify GPG key creation process and algorithms
  • Also suggest that GPG keys can be published to ubuntu's keyservers
  • Clarify that signed commits on release branches are required
  • Add note about branch-diff using significant github API credits
  • Explicit note to each section which can be skipped with the new automation

On the last point here, I did consider making those things which can now be done via automation into collapsed sections but since there are already collapsed sections in several of them for security releases I decided against it. Thoughts welcome...

Things I haven't included

A few things from my notes from preparing 24.18.0 that I considered adding but left out:

  • An example of using git bisect to track down a problem after doing the initial large set of cherry-picks. I suspect I'm not the only person with scripts they use, but perhaps we could have something for people to use (or do we already?). I've left anything like this out as it should perhaps be somewhere more generic like the collaborator guide.
for example here is the script I use with `git bisect` script

Not that the taskset is something I add to stop the build taking over my machine by limiting which cores it uses:

 echo -n SXAEC: `date +%T` ': '
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short | head -1
rm -rf out
make clean ./configure
time taskset -c 0-12 make -j12 V= || exit 1
time taskset -c 0-12 make test-ci V= CI_JS_SUITES=parallel CI_NATIVE_SUITES=
# time taskset -c 0-12 make test-ci V=
exit $?
  • A note about the automated workflow chosing a new semver major .0.0 version if it detects a commit with a PR-URL: that was originall semver-major even if it has been patched for the backported such that it isn't semver-major. This will mean having to skip use of the automation.
  • The final commit with the version should NOT have Signed-off by at the end (i.e. don't use -s) otherwise it will fail the lint-release-commit check because the PR-URL is not the last line of the commit.
  • I was tempted to give an example of an awk script to convert the initial branch diff output to the "SHA only" version for feeding to git cherry-pick but it felt safer to just suggest running it again.

Also related: #64070 which was something spotted during my release prep :-)

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-botnodejs-github-bot added the doc Issues and PRs related to Node.js documentation. label Jun 29, 2026
@sxa
sxaforce-pushed the releasesMDupdates branch from 80078b3 to ab638b5CompareJune 29, 2026 16:36
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxaforce-pushed the releasesMDupdates branch from ab638b5 to 41ac2ccCompareJune 29, 2026 16:40
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 2 commits June 29, 2026 18:28
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment on lines 541 to 552

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is weird, we either need to roll it back, or edit further

@sxasxaJun 29, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated - let me know whether it alleviates your concerns.

I wanted to make sure the note about the v prefix was before the examples so it would be less likely to be missed and to clarify before the examples that either sed or perl could be used. I'd be tempted to just leave in the perl example for the selfish reason that it's what I always use although not all UNIX-like systems have perl. sed -i also isn't guaranteed to be there on all OSs (it's not a standard POSIX option) and we can see here we've already had to make the examples OS-specific in once case. Although the chances of any collaborators running on an OS which doesn't have sed -i is prety near zero I'd have thought ;-)

@aduh95aduh95Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue I have is that and substitute this node version with stands alone awkwardly, when it was integrated in the sentence in the main version.

@sxasxaJun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep - agreed. I've split it a little so that some of the description is now after the initial grep which I think works better and stops that partial sentence sitting there.

Comment threaddoc/contributing/releases.md Outdated
sxaand others added 4 commits June 29, 2026 18:39
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@sxasxa self-assigned this Jun 29, 2026
sxa added 3 commits June 30, 2026 10:02
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa

sxa commented Jun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Now that Antoine has helped me get a few corrections into the original article to clean up the changes (thank you!) and the linters are happy I'm going to tag @nodejs/releasers to for awareness/reviews from other releasers.

@richardlaurichardlau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of suggestions/notes, but none are blocking.

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Fixups following new review
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Individuals who are Members of the
[backporters team](https://github.com/orgs/nodejs/teams/backporters) can
land things on the staging branches and prepare releases. This is a
prerequisite to being able to prepare releases which is the first step

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prerequisite to being able to prepare releases which is the first step
prerequisite to being able to prepare a release, which is the first step

This makes me realize it would be nice to have a small section clarifying the distinction between "Preparing a Release" and "Publishing a Release" that we could link to here.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a think and aim to make another push with a suggestion later today (unless someone else drafts something first)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made another push on this. Let me know what you think. Two things:

  • I'm not sure we have a documented process for getting added to the backporters team. Neither the backporting guide or the Release GOVERNANCE.md mention it so I have not included any details of that
  • We have perhaps used "publish" and "promote" interchangeably in this document. I'm sticking with "publish" in my latest change but maybe we should be consistent (or maybe there's a reason for the difference in which case let me know if I've used the wrong term :-) )

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 6 commits July 6, 2026 13:42
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxa requested review from aduh95 and ruyadornoJuly 7, 2026 12:19
Comment threaddoc/contributing/releases.md Outdated

@aduh95aduh95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd stick with promote over publish, that's what the flag is called in NCU, but that can be a follow up

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
sxa added a commit that referenced this pull request Jul 8, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
@sxa

sxa commented Jul 8, 2026

Copy link
Copy Markdown
MemberAuthor

Landed in 6e8a24d

@sxasxa closed this Jul 8, 2026
aduh95 pushed a commit that referenced this pull request Jul 21, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
RafaelGSS pushed a commit that referenced this pull request Jul 29, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 6, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docIssues and PRs related to Node.js documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@sxa@nodejs-github-bot@ruyadorno@richardlau@aduh95@juanarbol
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

doc: various updates to RELEASING.md - #64198

Closed
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates
Closed

doc: various updates to RELEASING.md#64198
sxa wants to merge 22 commits into
nodejs:mainfrom
sxa:releasesMDupdates

Conversation

@sxa

@sxasxa commented Jun 29, 2026

Copy link
Copy Markdown
Member

List of updates based on my recent experience preparing 24.18.0.

If anyone thinks that something in this list shouldn't be here let me know, or if any of the list of things I haven't included should be added (or are not actually correct) then let me know.

  • Clarify permissions needed to be able to prepare a release
  • Add CitGM to the "relevant jenkins jobs" section
  • Clarify GPG key creation process and algorithms
  • Also suggest that GPG keys can be published to ubuntu's keyservers
  • Clarify that signed commits on release branches are required
  • Add note about branch-diff using significant github API credits
  • Explicit note to each section which can be skipped with the new automation

On the last point here, I did consider making those things which can now be done via automation into collapsed sections but since there are already collapsed sections in several of them for security releases I decided against it. Thoughts welcome...

Things I haven't included

A few things from my notes from preparing 24.18.0 that I considered adding but left out:

  • An example of using git bisect to track down a problem after doing the initial large set of cherry-picks. I suspect I'm not the only person with scripts they use, but perhaps we could have something for people to use (or do we already?). I've left anything like this out as it should perhaps be somewhere more generic like the collaborator guide.
for example here is the script I use with `git bisect` script

Not that the taskset is something I add to stop the build taking over my machine by limiting which cores it uses:

 echo -n SXAEC: `date +%T` ': '
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short | head -1
rm -rf out
make clean ./configure
time taskset -c 0-12 make -j12 V= || exit 1
time taskset -c 0-12 make test-ci V= CI_JS_SUITES=parallel CI_NATIVE_SUITES=
# time taskset -c 0-12 make test-ci V=
exit $?
  • A note about the automated workflow chosing a new semver major .0.0 version if it detects a commit with a PR-URL: that was originall semver-major even if it has been patched for the backported such that it isn't semver-major. This will mean having to skip use of the automation.
  • The final commit with the version should NOT have Signed-off by at the end (i.e. don't use -s) otherwise it will fail the lint-release-commit check because the PR-URL is not the last line of the commit.
  • I was tempted to give an example of an awk script to convert the initial branch diff output to the "SHA only" version for feeding to git cherry-pick but it felt safer to just suggest running it again.

Also related: #64070 which was something spotted during my release prep :-)

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-botnodejs-github-bot added the doc Issues and PRs related to Node.js documentation. label Jun 29, 2026
@sxa
sxaforce-pushed the releasesMDupdates branch from 80078b3 to ab638b5CompareJune 29, 2026 16:36
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxaforce-pushed the releasesMDupdates branch from ab638b5 to 41ac2ccCompareJune 29, 2026 16:40
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 2 commits June 29, 2026 18:28
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment on lines 541 to 552

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is weird, we either need to roll it back, or edit further

@sxasxaJun 29, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated - let me know whether it alleviates your concerns.

I wanted to make sure the note about the v prefix was before the examples so it would be less likely to be missed and to clarify before the examples that either sed or perl could be used. I'd be tempted to just leave in the perl example for the selfish reason that it's what I always use although not all UNIX-like systems have perl. sed -i also isn't guaranteed to be there on all OSs (it's not a standard POSIX option) and we can see here we've already had to make the examples OS-specific in once case. Although the chances of any collaborators running on an OS which doesn't have sed -i is prety near zero I'd have thought ;-)

@aduh95aduh95Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue I have is that and substitute this node version with stands alone awkwardly, when it was integrated in the sentence in the main version.

@sxasxaJun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep - agreed. I've split it a little so that some of the description is now after the initial grep which I think works better and stops that partial sentence sitting there.

Comment threaddoc/contributing/releases.md Outdated
sxaand others added 4 commits June 29, 2026 18:39
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@sxasxa self-assigned this Jun 29, 2026
sxa added 3 commits June 30, 2026 10:02
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa

sxa commented Jun 30, 2026

Copy link
Copy Markdown
MemberAuthor

Now that Antoine has helped me get a few corrections into the original article to clean up the changes (thank you!) and the linters are happy I'm going to tag @nodejs/releasers to for awareness/reviews from other releasers.

@richardlaurichardlau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of suggestions/notes, but none are blocking.

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Fixups following new review
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
Individuals who are Members of the
[backporters team](https://github.com/orgs/nodejs/teams/backporters) can
land things on the staging branches and prepare releases. This is a
prerequisite to being able to prepare releases which is the first step

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prerequisite to being able to prepare releases which is the first step
prerequisite to being able to prepare a release, which is the first step

This makes me realize it would be nice to have a small section clarifying the distinction between "Preparing a Release" and "Publishing a Release" that we could link to here.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a think and aim to make another push with a suggestion later today (unless someone else drafts something first)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made another push on this. Let me know what you think. Two things:

  • I'm not sure we have a documented process for getting added to the backporters team. Neither the backporting guide or the Release GOVERNANCE.md mention it so I have not included any details of that
  • We have perhaps used "publish" and "promote" interchangeably in this document. I'm sticking with "publish" in my latest change but maybe we should be consistent (or maybe there's a reason for the difference in which case let me know if I've used the wrong term :-) )

Comment threaddoc/contributing/releases.md Outdated
Comment threaddoc/contributing/releases.md Outdated
sxaand others added 6 commits July 6, 2026 13:42
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
Signed-off-by: Stewart X Addison <sxa@ibm.com>
@sxa
sxa requested review from aduh95 and ruyadornoJuly 7, 2026 12:19
Comment threaddoc/contributing/releases.md Outdated

@aduh95aduh95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd stick with promote over publish, that's what the flag is called in NCU, but that can be a follow up

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
sxa added a commit that referenced this pull request Jul 8, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
@sxa

sxa commented Jul 8, 2026

Copy link
Copy Markdown
MemberAuthor

Landed in 6e8a24d

@sxasxa closed this Jul 8, 2026
aduh95 pushed a commit that referenced this pull request Jul 21, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
RafaelGSS pushed a commit that referenced this pull request Jul 29, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 6, 2026
- Clarify permissions needed to be able to prepare a release
- Add CitGM to the "relevant jenkins jobs" section
- Clarify GPG key creation process and algorithms
- Also suggest that GPG keys can be published to ubuntu's keyservers
- Clarify that signed commits on release branches are required
- Add note about branch-diff using significant github API credits
- Explicit comment on each section which can be skipped with automation
Signed-off-by: Stewart X Addison <sxa@ibm.com>
PR-URL: #64198
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docIssues and PRs related to Node.js documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@sxa@nodejs-github-bot@ruyadorno@richardlau@aduh95@juanarbol