Skip to content

Commit

Permalink
Merge branch 'main' into file-cloneable
Browse files Browse the repository at this point in the history
  • Loading branch information
KhafraDev committed Apr 22, 2023
2 parents e39b1b5 + 595b2b3 commit ad4d427
Show file tree
Hide file tree
Showing 168 changed files with 9,135 additions and 469 deletions.
78 changes: 37 additions & 41 deletions .github/label-pr-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
## earlier entries override later entries
subSystemLabels:
# src subsystems
/^src\/async-wrap/: c++, async_wrap
/^src\/async_wrap/: c++, async_wrap
/^src\/(?:base64|node_buffer|string_)/: c++, buffer
/^src\/cares/: c++, cares
/^src\/(?:process_wrap|spawn_)/: c++, child_process
/^src\/(?:node_)?crypto/: c++, crypto
/^src\/(?:debug-|node_debug)/: c++, debugger
/^src\/debug_/: c++, debugger
/^src\/udp_/: c++, dgram
/^src\/(?:fs_|node_file|node_stat_watcher)/: c++, fs
/^src\/node_http_parser/: c++, http_parser
Expand All @@ -16,14 +16,13 @@ subSystemLabels:
/^src\/(?:connect(?:ion)?|pipe|tcp)_/: c++, net
/^src\/node_os/: c++, os
/^src\/(?:node_main|signal_)/: c++, process
/^src\/timer_/: c++, timers
/^src\/(?:CNNICHashWhitelist|node_root_certs|tls_)/: c++, tls
/^src\/timer[_s]/: c++, timers
/^src\/node_root_certs/: c++, tls
/^src\/tty_/: c++, tty
/^src\/node_url/: c++, whatwg-url
/^src\/node_util/: c++, util
/^src\/node_v8/: c++, v8 engine
/^src\/node_contextify/: c++, vm
/^src\/.*win32.*/: c++, windows
/^src\/node_zlib/: c++, zlib
/^src\/tracing/: c++, tracing
/^src\/(?:node_api|js_native_api)/: c++, node-api
Expand All @@ -35,48 +34,44 @@ subSystemLabels:
/^src\/node_bob*/: c++, quic, dont-land-on-v14.x
/^src\/node_sea/: single-executable

# don't label python files as c++
/^src\/.+\.py$/: python, needs-ci

# properly label changes to v8 inspector integration-related files
# Properly label changes to V8 inspector integration-related files
/^src\/inspector_/: c++, inspector, needs-ci

# don't want to label it a c++ update when we're "only" bumping the Node.js version
# Don't want to label it a C++ update when we're "only" bumping the Node.js version
/^src\/(?!node_version\.h)/: c++
# BUILDING.md should be marked as 'build' in addition to 'doc'
/^BUILDING\.md$/: build, doc
# meta is a very specific label for things that are policy and or meta-info related
/^([A-Z]+$|CODE_OF_CONDUCT|ROADMAP|WORKING_GROUPS|GOVERNANCE|CHANGELOG|\.mail|\.git.+)/: meta
# things that edit top-level .md files are always a doc change
# 'meta' is a very specific label for things that are policy and or meta-info related
/^(?:[A-Z]+$|CODE_OF_CONDUCT|GOVERNANCE|CHANGELOG|\.mail|\.git.+)/: meta
# Things that edit top-level .md files are always a doc change
/^\w+\.md$/: doc
# different variants of *Makefile and build files
/^(tools\/)?(Makefile|BSDmakefile|create_android_makefiles|\.travis\.yml)$/: build, needs-ci
/^tools\/(install\.py|genv8constants\.py|getnodeversion\.py|js2c\.py|utils\.py|configure\.d\/.*)$/: build, python, needs-ci
# Different variants of Makefile and build files
/^(?:tools\/)?(?:Makefile|BSDmakefile|create_android_makefiles)$/: build, needs-ci
/^tools\/(?:install\.py|genv8constants\.py|getnodeversion\.py|js2c\.py|utils\.py|configure\.d\/.*)$/: build, python, needs-ci
/^vcbuild\.bat$/: build, windows, needs-ci
/^(android-)?configure|node\.gyp|common\.gypi$/: build, needs-ci
# more specific tools
/^(?:android-)?configure|node\.gyp|common\.gypi$/: build, needs-ci
# More specific tools
/^tools\/gyp/: tools, build, gyp, needs-ci, dont-land-on-v14.x
/^tools\/doc\//: tools, doc
/^tools\/icu\//: tools, i18n-api, icu, needs-ci
/^tools\/(?:osx-pkg\.pmdoc|pkgsrc)\//: tools, macos, install
/^tools\/(?:(?:mac)?osx-)/: tools, macos
/^tools\/osx-/: tools, macos
/^tools\/test-npm/: tools, test, npm
/^tools\/test/: tools, test
/^tools\/(?:certdata|mkssldef|mk-ca-bundle)/: tools, openssl, tls
/^tools\/msvs\//: tools, windows, install, needs-ci
/^tools\/[^/]+\.bat$/: tools, windows, needs-ci
/^tools\/make-v8/: tools, v8 engine, needs-ci
/^tools\/v8_gypfiles/: tools, v8 engine, needs-ci
/^tools\/(code_cache|snapshot)/: needs-ci
/^tools\/snapshot/: needs-ci
/^tools\/build-addons.mjs/: needs-ci
# all other tool changes should be marked as such
# All other tool changes should be marked as such
/^tools\//: tools
/^\.eslint|\.remark|\.editorconfig/: tools
/^\.eslint|\.editorconfig/: tools
/^typings\//: typings

## Dependencies
# libuv needs an explicit mapping, as the ordinary /deps/ mapping below would
# end up as libuv changes labeled with "uv" (which is a non-existing label)
# end up as libuv changes labeled with 'uv' (which is a non-existing label)
/^deps\/uv\//: libuv
/^deps\/v8\/tools\/gen-postmortem-metadata\.py/: v8 engine, python, post-mortem
/^deps\/v8\//: v8 engine
Expand All @@ -85,18 +80,17 @@ subSystemLabels:
/^deps\/nghttp2\/nghttp2\.gyp/: build, http2
/^deps\/nghttp2\//: http2
/^deps\/ngtcp2\//: quic, dont-land-on-v14.x
/^deps\/nghttp3\//: quic, dont-land-on-v14.x
/^deps\/([^/]+)/: dependencies, $1

## JS subsystems
# Oddities first
/^lib\/(punycode|\w+\/freelist|sys\.js)/: ''
/^lib\/(?:punycode|\w+\/freelist|sys\.js)/: ''
/^lib\/constants\.js$/: lib / src
/^lib\/_(debug_agent|debugger)\.js$/: debugger
/^lib(\/\w+)?\/(_)?link(ed)?list/: timers
/^lib\/\w+\/bootstrap_node/: lib / src
/^lib\/\w+\/v8_prof_/: tools
/^lib\/\w+\/socket_list/: net
/^lib\/internal/debugger$/: debugger
/^lib\/internal\/linkedlist\.js$/: timers
/^lib\/internal\/bootstrap/: lib / src
/^lib\/internal\/v8_prof_/: tools
/^lib\/internal\/socket(?:_list|address)\.js$/: net
/^lib\/\w+\/streams$/: stream
/^lib\/.*http2/: http2
/^lib\/worker_threads.js$/: worker
Expand All @@ -112,22 +106,21 @@ subSystemLabels:
/^lib(?:\/internal)?\/(\w+)(?:\/|$)/: $1 # Subfolders

exlusiveLabels:
# more specific tests
# More specific tests
/^test\/addons\//: test, addons
/^test\/debugger\//: test, debugger
/^test\/debugger/: test, debugger
/^test\/doctool\//: test, doc, tools
/^test\/timers\//: test, timers
/^test\/timers/: test, timers
/^test\/pseudo-tty\//: test, tty
/^test\/inspector\//: test, inspector
/^test\/inspector/: test, inspector
/^test\/cctest\/test_inspector/: test, inspector
/^test\/cctest\/test_url/: test, whatwg-url
/^test\/node-api\//: test, node-api
/^test\/js-native-api\//: test, node-api
/^test\/async-hooks\//: test, async_hooks
/^test\/report\//: test, report
/^test\/fixtures\/es-module/: test, esm
/^test\/es-module\//: test, esm
/^test\/fixtures\/wpt\/streams//: test, web streams
/^test\/fixtures\/wpt\/streams\//: test, web streams

/^test\//: test

Expand All @@ -138,11 +131,9 @@ exlusiveLabels:
# node-api is treated separately since it is not a JS core module but is still
# considered a subsystem of sorts
/^doc\/api\/n-api.md$/: doc, node-api
# quic
/^doc\/api\/quic.md$/: doc, quic, dont-land-on-v14.x
# Add worker label to PRs that affect doc/api/worker_threads.md
/^doc\/api\/worker_threads.md$/: doc, worker
# test runner documentation
# test_runner documentation
/^doc\/api\/test.md$/: doc, test_runner, dont-land-on-v14.x
# Automatically tag JS subsystem-specific API doc changes
/^doc\/api\/(\w+)\.md$/: doc, $1
Expand All @@ -154,7 +145,7 @@ exlusiveLabels:

# More specific benchmarks
/^benchmark\/buffers\//: benchmark, buffer
/^benchmark\/(?:arrays|es)\//: benchmark, v8 engine
/^benchmark\/es\//: benchmark, v8 engine
/^benchmark\/_http/: benchmark, http
/^benchmark\/(?:misc|fixtures)\//: benchmark
/^benchmark\/streams\//: benchmark, stream
Expand All @@ -173,6 +164,7 @@ allJsSubSystems:
- crypto
- debugger
- dgram
- diagnostics_channel
- dns
- domain
- events
Expand All @@ -181,11 +173,14 @@ allJsSubSystems:
- http
- https
- http2
- inspector
- module
- net
- os
- path
- perf_hooks
- process
- punycode
- querystring
- quic
- readline
Expand All @@ -195,6 +190,7 @@ allJsSubSystems:
- string_decoder
- timers
- tls
- trace_events
- tty
- typings
- url
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/find-inactive-tsc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,4 @@ jobs:
commit-message: 'meta: move TSC voting member(s) to regular member(s)'
labels: meta
title: 'meta: move TSC voting member(s) to regular member(s)'
update-pull-request-title-and-body: true
1 change: 1 addition & 0 deletions .github/workflows/timezone-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,4 @@ jobs:
labels: dependencies
title: 'deps: update timezone to ${{ env.new_version }}'
reviewers: \@nodejs/i18n-api
update-pull-request-title-and-body: true
60 changes: 59 additions & 1 deletion .github/workflows/tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,36 @@ on:
- cron: 5 0 * * 0

workflow_dispatch:
inputs:
id:
description: The ID of the job to run
required: true
default: all
type: choice
options:
- all
- acorn
- acorn-walk
- ada
- base64
- brotli
- c-ares
- cjs-module-lexer
- corepack
- doc
- eslint
- googletest
- libuv
- lint-md-dependencies
- llhttp
- nghttp2
- nghttp3
- ngtcp2
- postject
- root-certificates
- simdutf
- undici
- uvwasi

permissions:
contents: read
Expand Down Expand Up @@ -161,6 +191,14 @@ jobs:
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: minimatch
subsystem: deps
label: dependencies
run: |
./tools/dep_updaters/update-minimatch.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: root-certificates
subsystem: crypto
label: crypto, notable-change
Expand Down Expand Up @@ -198,18 +236,37 @@ jobs:
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: zlib
subsystem: deps
label: dependencies
run: |
./tools/dep_updaters/update-zlib.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: googletest
subsystem: deps
label: dependencies, test
run: |
./tools/dep_updaters/update-googletest.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
steps:
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id
with:
persist-credentials: false
- run: ${{ matrix.run }}
if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id
env:
GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}
- name: Generate commit message if not set
if: ${{ env.COMMIT_MSG == '' }}
if: env.COMMIT_MSG == '' && (github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id)
run: |
echo "COMMIT_MSG=${{ matrix.subsystem }}: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}" >> "$GITHUB_ENV"
- uses: gr2m/create-or-update-pull-request-action@77596e3166f328b24613f7082ab30bf2d93079d5
if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id
# Creates a PR or update the Action's existing PR, or
# no-op if the base branch is already up-to-date.
env:
Expand All @@ -221,3 +278,4 @@ jobs:
commit-message: ${{ env.COMMIT_MSG }}
labels: ${{ matrix.label }}
title: '${{ matrix.subsystem }}: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}'
update-pull-request-title-and-body: true
1 change: 1 addition & 0 deletions .github/workflows/update-openssl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
labels: dependencies
title: 'deps: update OpenSSL to ${{ env.NEW_VERSION }}'
path: deps/openssl
update-pull-request-title-and-body: true
- name: Regenerate platform specific files
if: env.HAS_UPDATE
run: |
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

Select a Node.js version below to view the changelog history:

* [Node.js 20](doc/changelogs/CHANGELOG_V20.md) **Current**
* [Node.js 19](doc/changelogs/CHANGELOG_V19.md) **Current**
* [Node.js 18](doc/changelogs/CHANGELOG_V18.md) **Long Term Support**
* [Node.js 17](doc/changelogs/CHANGELOG_V17.md) End-of-Life
Expand All @@ -28,13 +29,17 @@ release.

<table>
<tr>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V20.md">20</a> (Current)</th>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V19.md">19</a> (Current)</th>
<th title="LTS Until 2025-04"><a href="doc/changelogs/CHANGELOG_V18.md">18</a> (LTS)</th>
<th title="LTS Until 2023-09"><a href="doc/changelogs/CHANGELOG_V16.md">16</a> (LTS)</th>
<th title="LTS Until 2023-04"><a href="doc/changelogs/CHANGELOG_V14.md">14</a> (LTS)</th>
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V20.md#20.0.0">20.0.0</a></b><br/>
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V19.md#19.9.0">19.9.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V19.md#19.8.1">19.8.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V19.md#19.8.0">19.8.0</a><br/>
Expand Down
19 changes: 19 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -1365,6 +1365,25 @@ The externally maintained libraries used by Node.js are:
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
"""

- minimatch, located at deps/minimatch, is licensed as follows:
"""
The ISC License

Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
"""

- npm, located at deps/npm, is licensed as follows:
"""
The npm application
Expand Down
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -592,8 +592,7 @@ test-wpt: all
test-wpt-report:
$(RM) -r out/wpt
mkdir -p out/wpt
-WPT_REPORT=1 $(PYTHON) tools/test.py --shell $(NODE) $(PARALLEL_ARGS) wpt
$(NODE) "$$PWD/tools/merge-wpt-reports.mjs"
WPT_REPORT=1 $(PYTHON) tools/test.py --shell $(NODE) $(PARALLEL_ARGS) wpt

.PHONY: test-internet
test-internet: all
Expand Down
Loading

0 comments on commit ad4d427

Please sign in to comment.