13
13
* [ Consensus seeking] ( #consensus-seeking )
14
14
* [ Waiting for approvals] ( #waiting-for-approvals )
15
15
* [ Testing and CI] ( #testing-and-ci )
16
- * [ Useful CI jobs] ( #useful-ci-jobs )
17
- * [ Starting a CI job] ( #starting-a-ci-job )
16
+ * [ Useful Jenkins CI jobs] ( #useful-jenkins -ci-jobs )
17
+ * [ Starting a Jenkins CI job] ( #starting-a-jenkins -ci-job )
18
18
* [ Internal vs. public API] ( #internal-vs-public-api )
19
19
* [ Breaking changes] ( #breaking-changes )
20
20
* [ Breaking changes and deprecations] ( #breaking-changes-and-deprecations )
@@ -209,21 +209,56 @@ the comment anyway to avoid any doubt.
209
209
All fixes must have a test case which demonstrates the defect. The test should
210
210
fail before the change, and pass after the change.
211
211
212
- All pull requests must pass continuous integration tests. Code changes must pass
213
- on [ project CI server] ( https://ci.nodejs.org/ ) . Pull requests that only change
214
- documentation and comments can use GitHub Actions results.
215
-
216
212
Do not land any pull requests without a passing (green or yellow) CI run.
217
- For documentation-only changes, GitHub Actions CI is sufficient.
218
- For all other code changes, Jenkins CI must pass as well. If there are
219
- Jenkins CI failures unrelated to the change in the pull request, try "Resume
220
- Build". It is in the left navigation of the relevant ` node-test-pull-request `
221
- job. It will preserve all the green results from the current job but re-run
222
- everything else. Start a fresh CI if more than seven days have elapsed since
223
- the original failing CI as the compiled binaries for the Windows and ARM
224
- platforms are only kept for seven days.
213
+ A green GitHub Actions CI result is required. A passing
214
+ [ Jenkins CI] ( https://ci.nodejs.org/ ) is also required if PR contains changes
215
+ that will affect the ` node ` binary. This is critical as GitHub Actions CI does
216
+ not cover all the environments supported by Node.js.
217
+
218
+ <details >
219
+ <summary >Changes that affect the `node` binary</summary >
220
+
221
+ Changes in the following folders (except comment-only changes) are guaranteed to
222
+ affect the ` node ` binary:
223
+
224
+ * ` deps/ `
225
+ * ` lib/ `
226
+ * ` src/ `
227
+ * ` test/ `
228
+ * ` tools/code_cache/ `
229
+ * ` tools/gyp/ `
230
+ * ` tools/icu/ `
231
+ * ` tools/inspector-protocol/ `
232
+ * ` tools/msvs/ `
233
+ * ` tools/snapshot/ `
234
+ * ` tools/v8_gypfiles/ `
235
+
236
+ There are some other files that touch the build chain. Changes in the following
237
+ files also qualify as affecting the ` node ` binary:
238
+
239
+ * ` tools/*.py `
240
+ * ` tools/build-addons.js `
241
+ * ` *.gyp `
242
+ * ` *.gypi `
243
+ * ` configure `
244
+ * ` configure.py `
245
+ * ` Makefile `
246
+ * ` vcbuilt.bat `
247
+
248
+ </details >
249
+
250
+ If there are GitHub Actions CI failures unrelated to the change in the pull
251
+ request, try "Re-run all jobs". It's under the "🔄 Re-run jobs" button, on the
252
+ right-hand side of "Checks" tab.
253
+
254
+ If there are Jenkins CI failures unrelated to the change in the pull request,
255
+ try "Resume Build". It is in the left navigation of the relevant
256
+ ` node-test-pull-request ` job. It will preserve all the green results from the
257
+ current job but re-run everything else. Start a fresh CI if more than seven days
258
+ have elapsed since the original failing CI as the compiled binaries for the
259
+ Windows and ARM platforms are only kept for seven days.
225
260
226
- #### Useful CI jobs
261
+ #### Useful Jenkins CI jobs
227
262
228
263
* [ ` node-test-pull-request ` ] ( https://ci.nodejs.org/job/node-test-pull-request/ )
229
264
is the CI job to test pull requests. It runs the ` build-ci ` and ` test-ci `
@@ -248,7 +283,7 @@ not used in other CI test runs (such as tests in the `internet` or `pummel`
248
283
directories). It can also make sure tests pass when provided with a flag not
249
284
used in other CI test runs (such as ` --worker ` ).
250
285
251
- #### Starting a CI job
286
+ #### Starting a Jenkins CI job
252
287
253
288
From the CI Job page, click "Build with Parameters" on the left side.
254
289
0 commit comments