1313 * [Consensus seeking](#consensus-seeking)
1414 * [Waiting for approvals](#waiting-for-approvals)
1515 * [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)
1818 * [Internal vs. public API](#internal-vs-public-api)
1919 * [Breaking changes](#breaking-changes)
2020 * [Breaking changes and deprecations](#breaking-changes-and-deprecations)
@@ -209,21 +209,56 @@ the comment anyway to avoid any doubt.
209209All fixes must have a test case which demonstrates the defect. The test should
210210fail before the change, and pass after the change.
211211
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-
216212Do 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.
225260
226- #### Useful CI jobs
261+ #### Useful Jenkins CI jobs
227262
228263* [`node-test-pull-request`](https://ci.nodejs.org/job/node-test-pull-request/)
229264is 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`
248283directories). It can also make sure tests pass when provided with a flag not
249284used in other CI test runs (such as `--worker`).
250285
251- #### Starting a CI job
286+ #### Starting a Jenkins CI job
252287
253288From the CI Job page, click "Build with Parameters" on the left side.
254289
0 commit comments