Skip to content

Commit 617819e

Browse files
aduh95targos
authored andcommitted
doc: update CI requirements for landing pull requests
PR-URL: #37308 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Mary Marchini <oss@mmarchini.me> Reviewed-By: Beth Griggs <bgriggs@redhat.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
1 parent 291d9e9 commit 617819e

File tree

1 file changed

+51
-16
lines changed

1 file changed

+51
-16
lines changed

doc/guides/collaborator-guide.md

+51-16
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
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.
209209
All fixes must have a test case which demonstrates the defect. The test should
210210
fail 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-
216212
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.
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/)
229264
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`
248283
directories). It can also make sure tests pass when provided with a flag not
249284
used in other CI test runs (such as `--worker`).
250285

251-
#### Starting a CI job
286+
#### Starting a Jenkins CI job
252287

253288
From the CI Job page, click "Build with Parameters" on the left side.
254289

0 commit comments

Comments
 (0)