You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- 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>
and check it by switching the server name in the `--recv-keys` operation
148
+
list above to the Ubuntu keyserver. For more information take a look at the
149
+
[Ubuntu GPG howto wiki page](https://help.ubuntu.com/community/GnuPrivacyGuardHowto).
150
+
111
151
Additionally, full GPG key fingerprints for individuals authorized to release
112
152
should be listed in the Node.js GitHub README.md file.
113
153
114
-
> It is recommended to sign all commits under the Node.js repository.
115
-
> Run: `git config commit.gpgsign true` inside the `node` folder.
154
+
> All commits to branches in `nodejs/node` other than `main` and `actions/*` MUST be signed
155
+
> otherwise pushing to those branches will be rejected by the GitHub rules
156
+
> enforced by the Node.js project.
157
+
> Run: `git config commit.gpgsign true` inside the `node` folder or use the
158
+
> `-S` flag on your git operations (The examples in this document will
159
+
> include `-S` expliticlty)
160
+
161
+
While GitHub allows signing individual commits using an ssh key,
162
+
that is not covered here as this will not allow you to sign releases, so you
163
+
will need to set up a GPG signing key in GitHub.
116
164
117
165
## How to create a release
118
166
@@ -123,7 +171,7 @@ Notes:
123
171
* Version strings are listed below as _"vx.y.z"_ or _"x.y.z"_. Substitute for
124
172
the release version.
125
173
* Examples will use the fictional release version `1.2.3`.
126
-
* When preparing a security release, follow the security steps in the details
174
+
* When preparing a _security release_, follow the security steps in the details
127
175
sections.
128
176
129
177
### 0. Pre-release steps
@@ -136,13 +184,6 @@ and the release blog post is available on the project website.
136
184
Build can be contacted best by opening up an issue on the [Build issue
137
185
tracker][].
138
186
139
-
When preparing a security release, contact Build at least two weekdays in
140
-
advance of the expected release. To ensure that the security patch(es) can be
141
-
properly tested, run a `node-test-pull-request` job against the `main` branch
142
-
of the `nodejs-private/node-private` repository a day or so before the
143
-
[CI lockdown procedure][] begins. This is to confirm that Jenkins can properly
144
-
access the private repository.
145
-
146
187
### 1. Update the staging branch
147
188
148
189
Checkout the staging branch locally.
@@ -174,11 +215,11 @@ When landing the PR add the `Backport-PR-URL:` line to each commit. Close the
174
215
backport PR with `Landed in ...`. Update the label on the original PR from
175
216
`backport-requested-vN.x` to `backported-to-vN.x`.
176
217
177
-
You can add the `Backport-PR-URL` metadata by using `--backport` with
178
-
`git node land`
218
+
You can add the `Backport-PR-URL` metadata automatically when landing by
219
+
using `--backport` with `git node land`:
179
220
180
221
```bash
181
-
git node land --backport $PR-NUMBER
222
+
git node land -S --backport $PR-NUMBER
182
223
```
183
224
184
225
To determine the relevant commits, use
@@ -189,16 +230,32 @@ metadata, as well as the GitHub labels such as `semver-minor` and
189
230
omitted from a commit, the commit will show up because it's unsure if it's a
190
231
duplicate or not.
191
232
233
+
A `branch-diff` run can use a lot of credits and users are
234
+
[limited by default to 5000 per hour](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2026-03-10).
235
+
It is not unusual for a run of branch-diff to
236
+
use around 1000 of these. For this reason it is recommended that when you
237
+
run branch-diff you redirect the output to a file and then process it. You
238
+
can check your current usage with `gh rate_limit` if you have the GitHub CLI
239
+
installed and configured, or using the curl command from
0 commit comments