3535 - [ How are LTS Branches Managed?] ( #how-are-lts-branches-managed )
3636 - [ How can I help?] ( #how-can-i-help )
3737 - [ How is an LTS release cut?] ( #how-is-an-lts-release-cut )
38+ * [ Who to CC in the issue tracker] ( #who-to-cc-in-the-issue-tracker )
3839
3940This document contains information for Collaborators of the Node.js
4041project regarding managing the project's code, documentation, and issue tracker.
@@ -53,7 +54,7 @@ requests they feel qualified to handle. Make sure this is done while being
5354mindful of these guidelines, the opinions of other Collaborators, and guidance
5455of the [ TSC] [ ] . They may also notify other qualified parties for more input on
5556an issue or a pull request.
56- [ See " Who to CC in issues" ] ( ./doc/onboarding-extras.md #who-to-cc-in-issues )
57+ See [ Who to CC in the issue tracker ] ( #who-to-cc-in-the-issue-tracker ) .
5758
5859### Welcoming First-Time Contributors
5960
@@ -118,7 +119,7 @@ Collaborator, an additional Collaborator is required for sign-off.
118119
119120In some cases, it may be necessary to summon a GitHub team to a pull request for
120121review by @-mention.
121- [ See " Who to CC in issues" ] ( ./doc/onboarding-extras.md #who-to-cc-in-issues ) .
122+ See [ Who to CC in the issue tracker ] ( #who-to-cc-in-the-issue-tracker ) .
122123
123124If you are unsure about the modification and are not prepared to take
124125full responsibility for the change, defer to another Collaborator.
@@ -192,9 +193,17 @@ All bugfixes require a test case which demonstrates the defect. The
192193test should * fail* before the change, and * pass* after the change.
193194
194195All pull requests that modify executable code should also include a test case
195- and be subjected to continuous integration tests on the
196+ and must be subjected to continuous integration tests on the
196197[ project CI server] ( https://ci.nodejs.org/ ) . The pull request should have a CI
197- status indicator if possible.
198+ status indicator.
199+
200+ Do not land any Pull Requests without passing (green or yellow) CI runs. If you
201+ believe any failed (red or grey) CI sub-tasks are unrelated to the change in the
202+ Pull Request, you may re-run the sub-task to try to see if it passes. If re-runs
203+ of all failed sub-tasks pass, it is permissible to land the Pull Request but
204+ only if the initial failures are believed in good faith to be unrelated to the
205+ changes in the Pull Request. Otherwise, reasonable steps must be taken to
206+ confirm that the changes are not resulting in an unreliable test.
198207
199208#### Useful CI Jobs
200209
@@ -203,13 +212,9 @@ is the standard CI run we do to check Pull Requests. It triggers
203212` node-test-commit ` , which runs the ` build-ci ` and ` test-ci ` targets on all
204213supported platforms.
205214
206- * [ ` node-test-linter ` ] ( https://ci.nodejs.org/job/node-test-linter/ )
207- only runs the linter targets, which is useful for changes that only affect
208- comments or documentation.
209-
210215* [ ` node-test-pull-request-lite ` ] ( https://ci.nodejs.org/job/node-test-pull-request-lite/ )
211- only runs the linter job, as well as the tests on LinuxONE. Should only be used
212- for trivial changes that do not require being tested on all platforms .
216+ only runs the linter job, as well as the tests on LinuxONE, which is very fast.
217+ This is useful for changes that only affect comments or documentation .
213218
214219* [ ` citgm-smoker ` ] ( https://ci.nodejs.org/job/citgm-smoker/ )
215220uses [ ` CitGM ` ] ( https://github.com/nodejs/citgm ) to allow you to run
@@ -498,12 +503,11 @@ The TSC should serve as the final arbiter where required.
498503 one] ( https://github.com/nodejs/node/commit/b636ba8186 ) if unsure exactly how
499504 to format your commit messages.
500505
501- Additionally:
506+ Check PRs from new contributors to make sure the person's name and email address
507+ are correct before merging.
502508
503- * Double check PRs to make sure the person's _ full name_ and email
504- address are correct before merging.
505- * All commits should be self-contained (meaning every commit should pass all
506- tests). This makes it much easier when bisecting to find a breaking change.
509+ All commits should be self-contained, meaning every commit should pass all
510+ tests. This makes it much easier when bisecting to find a breaking change.
507511
508512### Using ` git-node `
509513
@@ -818,6 +822,54 @@ selected commits will be picked from the staging branch to be included in the
818822release. This process of making a release will be a collaboration between the
819823LTS working group and the Release team.
820824
825+ ## Who to CC in the issue tracker
826+
827+ | Subsystem | Maintainers |
828+ | --- | --- |
829+ | ` benchmark/* ` | @nodejs/benchmarking , @mscdex |
830+ | ` bootstrap_node.js ` | @nodejs/process |
831+ | ` doc/* ` , ` *.md ` | @nodejs/documentation |
832+ | ` lib/assert ` | @nodejs/testing |
833+ | ` lib/async_hooks ` | @nodejs/async \_ hooks for bugs/reviews (+ @nodejs/diagnostics for API) |
834+ | ` lib/buffer ` | @nodejs/buffer |
835+ | ` lib/child_process ` | @nodejs/child \_ process |
836+ | ` lib/cluster ` | @nodejs/cluster |
837+ | ` lib/{crypto,tls,https} ` | @nodejs/crypto |
838+ | ` lib/dgram ` | @nodejs/dgram |
839+ | ` lib/domains ` | @nodejs/domains |
840+ | ` lib/fs ` , ` src/{fs,file} ` | @nodejs/fs |
841+ | ` lib/{_}http{*} ` | @nodejs/http |
842+ | ` lib/inspector.js ` , ` src/inspector_* ` | @nodejs/V8-inspector |
843+ | ` lib/internal/url ` , ` src/node_url ` | @nodejs/url |
844+ | ` lib/net ` | @bnoordhuis , @indutny , @nodejs/streams |
845+ | ` lib/repl ` | @nodejs/repl |
846+ | ` lib/{_}stream{*} ` | @nodejs/streams |
847+ | ` lib/timers ` | @nodejs/timers |
848+ | ` lib/util ` | @nodejs/util |
849+ | ` lib/zlib ` | @nodejs/zlib |
850+ | ` src/async-wrap.* ` | @nodejs/async \_ hooks |
851+ | ` src/node_api.* ` | @nodejs/n-api |
852+ | ` src/node_crypto.* ` | @nodejs/crypto |
853+ | ` test/* ` | @nodejs/testing |
854+ | ` tools/node_modules/eslint ` , ` .eslintrc ` | @nodejs/linting |
855+ | build | @nodejs/build |
856+ | ` src/module_wrap.* ` , ` lib/internal/loader/* ` , ` lib/internal/vm/Module.js ` | @nodejs/modules |
857+ | GYP | @nodejs/gyp |
858+ | performance | @nodejs/performance |
859+ | platform specific | @nodejs/platform- {aix,arm,freebsd,macos,ppc,smartos,s390,windows} |
860+ | python code | @nodejs/python |
861+ | upgrading c-ares | @rvagg |
862+ | upgrading http-parser | @nodejs/http , @nodejs/http2 |
863+ | upgrading libuv | @nodejs/libuv |
864+ | upgrading npm | @fishrock123 , @MylesBorins |
865+ | upgrading V8 | @nodejs/V8 , @nodejs/post-mortem |
866+ | Embedded use or delivery of Node.js | @nodejs/delivery-channels |
867+
868+ When things need extra attention, are controversial, or ` semver-major ` :
869+ @nodejs/tsc
870+
871+ If you cannot find who to cc for a file, ` git shortlog -n -s <file> ` may help.
872+
821873[ backporting guide ] : doc/guides/backporting-to-release-lines.md
822874[ contributing ] : ./doc/guides/contributing/pull-requests.md#commit-message-guidelines
823875[ Stability Index ] : doc/api/documentation.md#stability-index
0 commit comments