Skip to content

Commit

Permalink
meta: introduce codeowners again
Browse files Browse the repository at this point in the history
The [Contributor's Survey
results](nodejs/TSC#882) highlight the fact that
it is often not easy for contributors to know who the right people are
to talk to about a proposed change or who to ask for reviews of a given
subsystem. We briefly toyed around with codeowners before when GitHub
introduced it but just as quickly disabled it because the structure of
our repository made it exceedingly difficult to get right.

Rather than start with a codeowners for the entire project, I propose
that we start with a small experiment focused on specific subsystems.
Specifically, codeowners for modules, streams, net/tls, http/http2, and
quic (once that lands). We can expand out from there as we see how
things go with the minimal starter set. Initially this just enables
codeowners for the `quic` subsystem.

A couple of points:

1. A codeowner should always be a team, never an individual person
2. Each codeowner team should contain at least one TSC member (to
provide coverage for signing off on semver-major changes)
3. PRs touching any code with a codeowner must be signed off by at least
one person on the codeowner team
  • Loading branch information
jasnell committed Jun 18, 2020
1 parent f645cc7 commit a2a2d55
Showing 1 changed file with 77 additions and 0 deletions.
77 changes: 77 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Node.js Project Codeowners

# 1. Codeowners must always be teams, never individuals
# 2. Each codeowner team should contain at least one TSC member
# 3. PRs touching any code with a codeowner must be signed off by at least one
# person on the code owner team.

./.github/CODEOWNERS @nodejs/tsc

# net

# ./deps/cares @nodejs/net
# ./doc/api/dns.md @nodejs/net
# ./doc/api/dgram.md @nodejs/net
# ./doc/api/net.md @nodejs/net
# ./lib/dgram.js @nodejs/net
# ./lib/dns.js @nodejs/net
# ./lib/net.js @nodejs/net @nodejs/quic
# ./lib/internal/dgram.js @nodejs/net
# ./lib/internal/dns/* @nodejs/net
# ./lib/internal/net.js @nodejs/net
# ./lib/internal/socket_list.js @nodejs/net
# ./lib/internal/js_stream_socket.js @nodejs/net
# ./src/cares_wrap.h @nodejs/net
# ./src/connect_wrap.* @nodejs/net
# ./src/connection_wrap.* @nodejs/net
# ./src/node_sockaddr* @nodejs/net
# ./src/tcp_wrap.* @nodejs/net
# ./src/udp_wrap.* @nodejs/net

# tls/crypto

# ./lib/internal/crypto/* @nodejs/crypto
# ./lib/internal/tls.js @nodejs/crypto @nodejs/net
# ./lib/crypto.js @nodejs/crypto
# ./lib/tls.js @nodejs/crypto @nodejs/net
# ./src/node_crypto* @nodejs/crypto
# ./src/node_crypto_common* @nodejs/crypto @nodejs/quic

# http

# ./deps/llhttp/* @nodejs/http @nodejs/net
# ./doc/api/http.md @nodejs/http @nodejs/net
# ./doc/api/http2.md @nodejs/http @nodejs/net
# ./lib/_http_* @nodejs/http @nodejs/net
# ./lib/http.js @nodejs/http @nodejs/net
# ./lib/https.js @nodejs/crypto @nodejs/net @nodejs/http
# ./src/node_http_common* @nodejs/http @nodejs/http2 @nodejs/quic @nodejs/net
# ./src/node_http_parser.cc @nodejs/http @nodejs/net

# http2

# ./deps/nghttp2/* @nodejs/http2 @nodejs/net
# ./doc/api/http2.md @nodejs/http2 @nodejs/net
# ./lib/http2.js @nodejs/http2 @nodejs/net
# ./lib/internal/http2/* @nodejs/http2 @nodejs/net
# ./src/node_http2* @nodejs/http2 @nodejs/net
# ./src/node_mem* @nodejs/http2

# quic

./deps/ngtcp2/* @nodejs/quic
./deps/nghttp3/* @nodejs/quic
./doc/api/quic.md @nodejs/quic
./lib/internal/quic/* @nodejs/quic
./src/node_bob* @nodejs/quic
./src/quic/* @nodejs/quic

# modules

# ./doc/api/modules.md @nodejs/modules
# ./doc/api/esm.md @nodejs/modules
# ./lib/module.js @nodejs/modules
# ./lib/internal/modules/* @nodejs/modules
# ./lib/internal/bootstrap/loaders.js @nodejs/modules
# ./src/module_wrap* @nodejs/modules @nodejs/vm

0 comments on commit a2a2d55

Please sign in to comment.