Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v19.8.0 release proposal #47087

Merged
merged 216 commits into from Mar 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
216 commits
Select commit Hold shift + click to select a range
66016e2
test_runner: display skipped tests in spec reporter output
richiemccoll Feb 18, 2023
95bbd0f
test: update web-platform tests for url
anonrig Feb 7, 2023
9d55a5e
url: fix url spec compliance issues
anonrig Feb 7, 2023
a524055
url: improve performance by removing host
anonrig Feb 14, 2023
fb146ee
deps: update simdutf to 3.2.0
nodejs-github-bot Feb 19, 2023
1f38657
stream: fix pipeline callback not called on ended stream
debadree25 Feb 19, 2023
617b5b1
tools: update wpt.fyi used daily checkout ref
panva Feb 19, 2023
c1651be
lib: add AsyncLocalStorage.bind() and .snapshot()
flakey5 Jan 28, 2023
9b6270a
src: implement DataQueue
jasnell Dec 17, 2022
36f36b9
src: update Blob implementation to use DataQueue / File-backed Blobs
jasnell Dec 17, 2022
d48ed95
src, lib: fixup lint and format issues for DataQueue/Blob
jasnell Dec 17, 2022
16bbbac
cluster: add trailing commas in source files
aduh95 Feb 20, 2023
4c12e6e
fs: add trailing commas in source files
aduh95 Feb 20, 2023
7b5c00a
lib: add trailing commas in `internal/perf`
aduh95 Feb 20, 2023
e5b8597
os: improve network interface performance
BridgeAR Feb 20, 2023
320ddc0
test_runner: centralize CLI option handling
cjihrig Feb 20, 2023
3401315
test: use newish OpenSSL feature in test-tls-dhe
tniessen Feb 20, 2023
b7e027a
tools: update lint-md-dependencies to rollup@3.17.0
nodejs-github-bot Feb 18, 2023
6ff0b80
tools: update lint-md-dependencies to rollup@3.17.1
nodejs-github-bot Feb 19, 2023
a38de61
assert: remove deprecated getFunction() usage
BridgeAR Feb 20, 2023
c786ed3
deps: V8: cherry-pick 90be99fab31c
targos Feb 20, 2023
86b3621
benchmark: rework assert benchmarks for correctness
BridgeAR Feb 9, 2023
abba45e
test: remove obsolete util.isDeepStrictEqual tests
BridgeAR Feb 10, 2023
7f85a2c
assert,util: improve deep equal comparison performance
BridgeAR Feb 9, 2023
e07c9b8
assert,util: revert recursive breaking change
BridgeAR Feb 14, 2023
dd66c48
doc: add emit to NodeEventTarget
deokjinkim Jan 26, 2023
19b5d07
src: use string_view for report and related code
addaleax Feb 20, 2023
2eb8875
events: add listener argument to listenerCount
ShogunPanda Feb 21, 2023
6f9cb98
http: unify header treatment
marco-ippolito Feb 21, 2023
d5784c7
test: fix flaky test-watch-mode-files_watcher
MoLow Feb 19, 2023
518b890
Revert "src: let http2 streams end after session close"
Trott Feb 21, 2023
1c6a92b
lib: update punycode to 2.3.0
anonrig Feb 18, 2023
d3d76c3
punycode: add pending deprecation
aduh95 Sep 7, 2020
ad5f42d
src: add SetFastMethodNoSideEffect()
joyeecheung Feb 21, 2023
9d63ac2
meta: update AUTHORS
nodejs-github-bot Feb 21, 2023
2ff9b20
tools: update-nghttp2 preserve config.h
marco-ippolito Feb 21, 2023
a560a78
tools: update nghttp2 action
marco-ippolito Feb 17, 2023
dd40034
tools: fixed path
marco-ippolito Feb 17, 2023
7806cae
doc: maintaining nghttp2
marco-ippolito Feb 21, 2023
25ccaa7
tools: fix regex strings in Python tools
josusky Feb 9, 2023
d627164
doc: clarify semver-minor notable changes approach
BethGriggs Feb 21, 2023
973287a
src: per-realm binding data
legendecas Feb 21, 2023
1756830
tools: use actions pinned by commit hash in coverage-linux
gabibguti Jan 20, 2023
4df0084
tls: add trailing commas in source files
aduh95 Feb 22, 2023
83b529f
debugger: add trailing commas in source files
aduh95 Feb 12, 2023
d4899b2
build,test: add proper support for IBM i
dmabupt Feb 22, 2023
f4cdc6f
test: remove OpenSSL 1.0.2 error message compat
tniessen Feb 22, 2023
694659c
tools: cleanup WPT refs in daily-wpt-fyi.yml
panva Feb 22, 2023
60e5f45
wasi: add support for version when creating WASI
mhdawson Jan 31, 2023
88057dd
doc: add in security steward for recent release
mhdawson Feb 17, 2023
d9069e7
deps: fix libuv for android
nappy Feb 22, 2023
68dde38
deps: update nghttp2 to 1.52.0
targos Feb 22, 2023
c0fcad3
src: use an array for faster binding data lookup
joyeecheung Feb 11, 2023
1b3a25e
doc: include context on .toWeb() parameters
debadree25 Feb 22, 2023
b2cfcf9
test: fix default WPT titles
panva Feb 22, 2023
fc319d6
doc: add test:coverage event to custom reporter examples
richiemccoll Feb 23, 2023
e0d098b
net: rework autoSelectFamily implementation
ShogunPanda Feb 23, 2023
e08514e
http: fix validation of "Link" header
SRHerzog Feb 23, 2023
aac5c28
http: correctly calculate strict content length
ronag Feb 23, 2023
9890eaa
benchmark: fix worker startup benchmark
joyeecheung Feb 23, 2023
2c4f670
test: fix IPv6 checks on IBM i
abmusse Feb 23, 2023
00edc50
doc: add document for profiling and heap snapshot
cola119 May 9, 2022
60d1a48
doc: document how to use the tls.DEFAULT_CIPHERS
andreas-ibm Feb 23, 2023
4e9915e
test: include strace openat test
RafaelGSS Feb 23, 2023
58b1f33
node-api: add __wasm32__ guards on async works
legendecas Feb 24, 2023
4f2bf8c
repl: add trailing commas in source files
aduh95 Feb 24, 2023
81592ff
child_process: add trailing commas in source files
aduh95 Feb 24, 2023
a92be13
test: improve control flow in test-tls-dhe
tniessen Feb 24, 2023
f6bd145
tools: run format-cpp on node-api test c files
legendecas Feb 24, 2023
9c7a2e3
test: fix test-v8-collect-gc-profile-in-worker.js
theanarkh Feb 24, 2023
93e91f3
stream: fix respondWithNewView() errors when view.byteOffset != 0
debadree25 Feb 24, 2023
dfe529b
test_runner: better handle async bootstrap errors
cjihrig Feb 24, 2023
4e0b932
meta: update CODEOWNERS of url implementations
anonrig Feb 24, 2023
4e18e0a
deps: update ada to 1.0.3
nodejs-github-bot Feb 24, 2023
5a3ad87
url: simplify and improve url formatting
anonrig Feb 24, 2023
bd5ef38
doc: add marco-ippolito to collaborators
marco-ippolito Feb 24, 2023
1e20b05
url: implement URLSearchParams size getter
jasnell Jan 22, 2023
92f2f19
deps: upgrade npm to 9.5.1
npm-cli-bot Feb 25, 2023
247dfb7
dgram: fix unhandled exception aborting a closed udp socket
vramana Feb 25, 2023
e52ad92
test: remove unreachable return
jakecastelli Feb 25, 2023
c7f056c
meta: remove unnecessary onboarding step
Trott Feb 25, 2023
3daf508
test: stop faking performance idlharness
panva Feb 25, 2023
76a9634
test: isolate hr-time specific wpt global init
panva Feb 25, 2023
3234155
test: remove useless require('../common') from WPTs
panva Feb 25, 2023
aa41f27
test_runner: add `describe.only` and `it.only` shorthands
richiemccoll Feb 21, 2023
2f09d3f
tools: update lint-md-dependencies to rollup@3.17.2
nodejs-github-bot Feb 25, 2023
281f176
lib: fix DOMException property descriptors after being lazy loaded
panva Feb 25, 2023
151fb60
deps: update simdutf to 3.2.1
nodejs-github-bot Feb 25, 2023
3ab1aab
test: remove useless WPT init scripts
panva Feb 25, 2023
bd097ca
test: update encoding WPTs
panva Feb 25, 2023
4b91420
tools: upload daily WPT Report to both staging and production
panva Feb 25, 2023
e5fa7a1
test: fix WPT title when no META title is present
panva Feb 25, 2023
f21ed3a
test: simplify test-tls-alert
tniessen Feb 25, 2023
e585a11
test: fix test-net-connect-reset-until-connected
batrla Feb 25, 2023
f4cbe4e
tools: update lint-md-dependencies to rollup@3.17.3
nodejs-github-bot Feb 26, 2023
760a351
benchmark: add benchmark for EventTarget add and remove
debadree25 Feb 26, 2023
48cf984
doc: add steps about signing the binary in single-executable docs
RaisinTen Feb 22, 2023
f914bff
lib: add trailing commas to more internal files
aduh95 Feb 26, 2023
df155b8
test: fix os-release check for Ubuntu in SEA test
addaleax Feb 26, 2023
8b1afe3
deps: update corepack to 0.17.0
nodejs-github-bot Feb 26, 2023
4ad48d9
stream: always delay construct callback by a nextTick
mcollina Feb 26, 2023
f558797
tools: fix linter message when using global `DOMException`
aduh95 Feb 26, 2023
04166fe
benchmark: split `Buffer.byteLength` benchmark
joyeecheung Feb 11, 2023
b3e1034
buffer: use v8 fast API calls for `Buffer.byteLength` implementation
joyeecheung Feb 11, 2023
e11f08e
assert: fix exception message for assert(0) on try catch block
hidecology Feb 26, 2023
2fece54
buffer: add Buffer.copyBytesFrom(...)
jasnell Feb 4, 2023
4e18651
lib: rename internal module declaration as internal bindings
okmttdhr Feb 27, 2023
f886681
stream: enable usage of webstreams on compose()
debadree25 Feb 27, 2023
724f9d6
tools: create llhttp update action
marco-ippolito Feb 27, 2023
cc74821
bootstrap: print stack trace during environment creation failure
joyeecheung Feb 6, 2023
9fab228
src: fix cb scope bugs involved in termination
ywave620 Feb 28, 2023
9d2532e
doc: use destructing import
jakecastelli Feb 26, 2023
c0b6413
doc: sort import order
jakecastelli Feb 26, 2023
25069a6
timers: use V8 fast API calls
joyeecheung Feb 28, 2023
8aca3cf
doc: add history info for `node:test`
aduh95 Feb 28, 2023
b199acd
meta: remove AUTHORS file
Trott Feb 28, 2023
b825e2d
deps: update ada to 1.0.4
nodejs-github-bot Feb 28, 2023
078600c
tools: update eslint to 8.35.0
nodejs-github-bot Feb 28, 2023
578a2c5
src: do not track BaseObjects directly in Realm
joyeecheung Feb 28, 2023
77b4aca
vm: fix leak in vm.compileFunction when importModuleDynamically is used
joyeecheung Feb 22, 2023
0d9c345
src: remove shadowed variable in OptionsParser
codebytere Mar 1, 2023
6fa142d
test: move socket from CWD to temporary directory
LiviaMedeiros Mar 1, 2023
08bf015
lib: fix BroadcastChannel initialization location
codebytere Mar 1, 2023
b10fe58
url: improve `isURLThis` detection
anonrig Mar 1, 2023
0e45470
test: update web-platform tests for url
meixg Mar 1, 2023
132fc45
tools: fix daily wpt nightly version selection
panva Mar 1, 2023
c7d4ff3
repl: fix .load infinite loop caused by shared use of lineEnding RegExp
Theo-Steiner Mar 1, 2023
56dbb15
repl: remove lastInputPreview conditional check
jenthone Mar 1, 2023
32bd38f
src: make util.h self-containted
joyeecheung Feb 24, 2023
f8765be
url: remove unused `kFormat` from url
anonrig Feb 27, 2023
92a6138
doc: fix stream iterator helpers examples
benjamingr Mar 1, 2023
7ab7f97
deps: update uvwasi to v0.0.16
mhdawson Feb 23, 2023
b2a80d7
wasi: add wasi sock_accept stub
mhdawson Jan 30, 2023
f9739a8
doc: add request to hold off publicising sec releases
mhdawson Feb 17, 2023
b8560ec
url: remove unnecessary call to `FunctionPrototypeBind`
aduh95 Mar 1, 2023
fb1ac98
deps: update simdutf to 3.2.2
nodejs-github-bot Mar 1, 2023
db2ace1
test: assume priv ports start at 1024 if it can't be changed
KrayzeeKev Mar 2, 2023
ecce647
tools: refactor dep_updaters
tony-go Mar 2, 2023
4b3b009
build: fix Visual Studio installation detection for Arm64
Blackhex Mar 2, 2023
b1747fe
url: set `formatUrl` method as no side effect
anonrig Mar 2, 2023
074692a
src: fix missing trailing ,
zcbenz Mar 2, 2023
6740679
src: fix negative nodeTiming milestone values
legendecas Feb 9, 2023
f4a59b7
tools: add automation for updating OpenSSL dependency
facutuesca Nov 24, 2022
e5b8896
test: move testPath from CWD to temporary directory
LiviaMedeiros Mar 3, 2023
2c621d6
esm: add a runtime warning when using import assertions
aduh95 Mar 3, 2023
282bf29
doc: fix fs missing import
jakecastelli Mar 3, 2023
553fd5b
doc: fix links to SSL_CTX_set_options
tniessen Mar 4, 2023
07036cf
doc: add release key for Juan Arboleda
juanarbol Mar 5, 2023
762dc7c
test_runner: align behavior of it and test
MoLow Feb 28, 2023
21153f1
test: simplify test-tls-ecdh-auto
tniessen Mar 5, 2023
8723844
tools: update lint-md-dependencies to rollup@3.18.0
nodejs-github-bot Mar 5, 2023
1b555ae
doc: use number which is bigger than 1024 as port in http2
deokjinkim Mar 6, 2023
6f18b94
doc: fix port of destination server is not defined in http2
deokjinkim Mar 6, 2023
ba5ff15
doc: improve fs code example quality
jakecastelli Mar 4, 2023
5fdd3f4
doc: fix description of TLS dhparam option
tniessen Mar 6, 2023
a646a22
worker: add support for worker name in inspector and trace_events
debadree25 Mar 6, 2023
f903ea5
doc: remove useless SSL_OP_* options
tniessen Mar 6, 2023
acfd9b8
test: improve test coverage of lib/dns
paivaandeerson Feb 23, 2023
adff278
deps,test: update postject to 1.0.0-alpha.5
nodejs-github-bot Mar 3, 2023
c8d528e
test: update WPT resources, common, streams, FileAPI, broadcastchannel
panva Mar 2, 2023
9d4d916
esm: fix import assertion warning
aduh95 Mar 7, 2023
4b7198c
test_runner: give the root test a harness reference
cjihrig Mar 5, 2023
069ff1c
test_runner: remove root tracking set
cjihrig Mar 5, 2023
0617c5e
benchmark: stablize encode benchmark
joyeecheung Feb 11, 2023
dcba3a0
src: move encoding bindings to a new binding
joyeecheung Feb 11, 2023
6b60f38
src: use AliasedUint32Array for encodeInto results
joyeecheung Feb 11, 2023
9e65996
src: remove unused `v8::Uint32Array` from encoding
anonrig Mar 8, 2023
774eb19
http: use listenerCount when adding noop event
ShogunPanda Mar 8, 2023
67e20f5
doc: fix myUrl is not defined in url
recrack Mar 8, 2023
5f0f1c4
doc: fix history information for `node:diagnostics_channel`
tlhunter Mar 8, 2023
63a83b4
typings: improve `primordials` typings
aduh95 Mar 8, 2023
17d3eb0
doc: add missing test runner flags to man page
cjihrig Mar 8, 2023
b051ac7
src: remove use of SSL_OP_SINGLE_DH_USE
tniessen Mar 4, 2023
815d2af
src: remove TLSEXT_TYPE_alpn guard
tniessen Mar 4, 2023
5b81689
test: simplify test-tls-ecdh-multiple
tniessen Mar 5, 2023
13f14a5
test,crypto: update WebCryptoAPI WPT
panva Mar 10, 2023
4219c1e
meta: add single-executable labels and code owners
joyeecheung Mar 10, 2023
e754277
url: fix array overrun in node:url::SetArgs()
anonrig Mar 10, 2023
40a7b0b
net: fix setting of value in 'setDefaultAutoSelectFamilyAttemptTimeout'
deokjinkim Mar 10, 2023
cbdaaf6
doc: fix typo on esm loaders example
ruyadorno Mar 10, 2023
2e7ba31
tools: automate cares update
marco-ippolito Mar 10, 2023
9556d98
test: fallback to IPv4 if IPv6 is unavailable
abmusse Mar 11, 2023
0f1ecbc
tools: dont use cached node versions in daily wpt
panva Mar 11, 2023
458671d
doc,test: extend the list of platforms supported by single-executables
RaisinTen Mar 11, 2023
258d5f7
benchmark: replace table in docs with description of file tree structure
Theo-Steiner Mar 11, 2023
11509a4
test: move `test-tls-autoselectfamily-servername` to `test/internet`
aduh95 Mar 11, 2023
afbd818
debugger: add a command to set which lines to check for context
Dailyscat Mar 12, 2023
bb9b1c6
tls: support automatic DHE
tniessen Mar 12, 2023
94882f5
doc: amend support tier qualifier
gireeshpunathil Apr 21, 2022
2b7eb56
debugger: improve validations and documents for watch and unwatch
Dailyscat Mar 13, 2023
7cfd31a
benchmark: add a benchmark for URLSearchParams creation and toString()
debadree25 Mar 13, 2023
89f31a1
doc: fix typo in test.md
vhiairrassary Mar 13, 2023
c972612
test: fix flakyness in test-runner reporter test
MoLow Dec 22, 2022
3a1a7fa
test_runner: flatten TAP output when running using `--test`
MoLow Feb 18, 2023
ffa86f7
test_runner: emit test-only diagnostic warning
richiemccoll Feb 21, 2023
6d32a16
test_runner: bootstrap reporters before running tests
MoLow Feb 19, 2023
1a23eab
events: add trailing commas in source files
aduh95 Feb 24, 2023
345c8c3
lib,src: fix a few typos in comments
tniessen Feb 25, 2023
ecf714e
test_runner: reset count on watch mode
MoLow Feb 8, 2023
5c7fc92
lib: add trailing commas to all public core modules
aduh95 Feb 12, 2023
1fa6352
url: offload `URLSearchParams` initialization
anonrig Feb 27, 2023
0923cbc
test_runner: fix reconstruction of errors extracted from YAML
MoLow Mar 1, 2023
debc0ad
test_runner: avoid running twice tests in describe
MoLow Feb 28, 2023
05614f8
lib: enforce use of trailing commas
aduh95 Feb 28, 2023
b832d77
test_runner: track bootstrapping process
cjihrig Mar 5, 2023
7960ccb
test_runner: throw if harness is not bootstrapped
cjihrig Mar 5, 2023
18146fc
test_runner: handle errors not bound to tests
cjihrig Feb 16, 2023
5e31599
test_runner: default to spec reporter when on TTY environment
MoLow Mar 6, 2023
5eb5be8
esm: move hooks handling into separate class
GeoffreyBooth Dec 20, 2022
18f0398
esm: allow resolve to return import assertions
GeoffreyBooth Jan 12, 2023
c310a32
doc: remove remaining SSL_OP_NETSCAPE_*_BUG
tniessen Mar 13, 2023
ed31316
src: use std::array for passing argv in node::url
addaleax Mar 13, 2023
84f5a1f
deps: update undici to 5.21.0
nodejs-github-bot Mar 13, 2023
12a5618
tools: add undici WPTs to daily WPT Report
panva Feb 25, 2023
36c48ea
tools: add daily WPT Report workflow step summary
panva Feb 25, 2023
4221dce
2023-03-14, Version 19.8.0 (Current)
targos Mar 14, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Expand Up @@ -27,18 +27,22 @@

# net

/deps/ada @nodejs/url
/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
/lib/url.js @nodejs/url
/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
/lib/internal/url.js @nodejs/url
/src/node_url.* @nodejs/url
/src/cares_wrap.cc @nodejs/net
/src/connect_wrap.* @nodejs/net
/src/connection_wrap.* @nodejs/net
Expand Down Expand Up @@ -136,3 +140,13 @@
/lib/test.js @nodejs/test_runner
/lib/internal/main/test_runner.js @nodejs/test_runner
/lib/internal/test_runner/* @nodejs/test_runner

# Single Executable Applications
/deps/postject @nodejs/single-executable
/doc/api/single-executable-applications.md @nodejs/single-executable
/doc/contributing/maintaining-postject.md @nodejs/single-executable
/doc/contributing/maintaining-single-executable-application-support.md @nodejs/single-executable
/src/node_sea* @nodejs/single-executable
/test/fixtures/postject-copy @nodejs/single-executable
/test/parallel/test-single-executable-* @nodejs/single-executable
/tools/dep_updaters/update-postject.sh @nodejs/single-executable
9 changes: 9 additions & 0 deletions .github/dependabot.yml
@@ -0,0 +1,9 @@
# Set update schedule for GitHub Actions

version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
open-pull-requests-limit: 10
1 change: 1 addition & 0 deletions .github/label-pr-config.yml
Expand Up @@ -33,6 +33,7 @@ subSystemLabels:
/^src\/node_worker/: c++, worker
/^src\/quic\/*/: c++, quic, dont-land-on-v14.x
/^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
Expand Down
39 changes: 0 additions & 39 deletions .github/workflows/authors.yml

This file was deleted.

6 changes: 3 additions & 3 deletions .github/workflows/coverage-linux.yml
Expand Up @@ -37,11 +37,11 @@ jobs:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with:
persist-credentials: false
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v4
uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4.5.0
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
Expand All @@ -64,6 +64,6 @@ jobs:
- name: Clean tmp
run: rm -rf coverage/tmp && rm -rf out
- name: Upload
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # v3.1.1
with:
directory: ./coverage
80 changes: 62 additions & 18 deletions .github/workflows/daily-wpt-fyi.yml
Expand Up @@ -42,26 +42,31 @@ jobs:
# install a version and checkout
- name: Get latest nightly
if: matrix.node-version == 'latest-nightly'
run: echo "NIGHTLY=$(curl -s https://nodejs.org/download/nightly/index.json | jq -r '.[0].version')" >> $GITHUB_ENV
run: echo "NIGHTLY=$(curl -s https://nodejs.org/download/nightly/index.json | jq -r '[.[] | select(.files[] | contains("linux-x64"))][0].version')" >> $GITHUB_ENV
- name: Install Node.js
id: setup-node
uses: actions/setup-node@v3
with:
node-version: ${{ env.NIGHTLY || matrix.node-version }}
check-latest: true
- name: Get nightly ref
if: contains(matrix.node-version, 'nightly')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
SHORT_SHA=$(node -p 'process.version.split(/-nightly\d{8}/)[1]')
echo "NIGHTLY_REF=$(gh api /repos/nodejs/node/commits/$SHORT_SHA | jq -r '.sha')" >> $GITHUB_ENV
echo "NIGHTLY_REF=$(gh api /repos/nodejs/node/commits/$SHORT_SHA --jq '.sha')" >> $GITHUB_ENV
- name: Checkout ${{ steps.setup-node.outputs.node-version }}
uses: actions/checkout@v3
with:
persist-credentials: false
ref: ${{ env.NIGHTLY_REF || steps.setup-node.outputs.node-version }}
- name: Set env.NODE
run: echo "NODE=$(which node)" >> $GITHUB_ENV
- name: Set env.WPT_REVISION
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: echo "WPT_REVISION=$(gh api /repos/web-platform-tests/wpt/branches/epochs/daily --jq '.commit.sha')" >> $GITHUB_ENV

# replace checked out WPT with the synchronized branch
- name: Remove stale WPT
Expand All @@ -74,37 +79,76 @@ jobs:
persist-credentials: false
path: test/fixtures/wpt
clean: false
ref: epochs/daily
- name: Set env.WPT_REVISION
run: echo "WPT_REVISION=$(git rev-parse HEAD)" >> $GITHUB_ENV
working-directory: test/fixtures/wpt
ref: ${{ env.WPT_REVISION }}

# Node.js WPT Runner
- name: Run WPT and generate report
run: make test-wpt-report || true
- name: Clone report for upload
run: |
make test-wpt-report || true
if [ -e out/wpt/wptreport.json ]; then
cd out/wpt
cp wptreport.json wptreport-${{ steps.setup-node.outputs.node-version }}.json
echo "WPT_REPORT=$(pwd)/out/wpt/wptreport.json" >> $GITHUB_ENV
fi

# undici WPT Runner
- name: Set env.UNDICI_VERSION
if: ${{ env.WPT_REPORT != '' }}
run: echo "UNDICI_VERSION=v$(jq -r '.version' < deps/undici/src/package.json)" >> $GITHUB_ENV
- name: Remove deps/undici
if: ${{ env.WPT_REPORT != '' }}
run: rm -rf deps/undici
- name: Checkout undici
if: ${{ env.WPT_REPORT != '' }}
uses: actions/checkout@v3
with:
repository: nodejs/undici
persist-credentials: false
path: deps/undici
clean: false
ref: ${{ env.UNDICI_VERSION }}
- name: Add undici WPTs to the report
if: ${{ env.WPT_REPORT != '' }}
run: |
rm -rf test/wpt/tests
mv ../../test/fixtures/wpt/ test/wpt/tests/
npm install
npm run test:wpt || true
working-directory: deps/undici

# Upload artifacts
- name: Clone report for upload
if: ${{ env.WPT_REPORT != '' }}
working-directory: out/wpt
run: cp wptreport.json wptreport-${{ steps.setup-node.outputs.node-version }}.json
- name: Upload GitHub Actions artifact
if: ${{ env.WPT_REPORT != '' }}
uses: actions/upload-artifact@v3
with:
path: out/wpt/wptreport-*.json
name: WPT Reports
if-no-files-found: warn
if-no-files-found: error
- name: Upload WPT Report to wpt.fyi API
if: ${{ env.WPT_REPORT != '' }}
env:
WPT_FYI_ENDPOINT: ${{ vars.WPT_FYI_ENDPOINT }}
WPT_FYI_USERNAME: ${{ vars.WPT_FYI_USERNAME }}
WPT_FYI_PASSWORD: ${{ secrets.WPT_FYI_PASSWORD }}
working-directory: out/wpt
run: |
if [ -e out/wpt/wptreport.json ]; then
cd out/wpt
gzip wptreport.json
curl \
gzip wptreport.json
echo "## Node.js ${{ steps.setup-node.outputs.node-version }}" >> $GITHUB_STEP_SUMMARY
for WPT_FYI_ENDPOINT in "https://wpt.fyi/api/results/upload" "https://staging.wpt.fyi/api/results/upload"
do
response=$(curl -sS \
-u "$WPT_FYI_USERNAME:$WPT_FYI_PASSWORD" \
-F "result_file=@wptreport.json.gz" \
-F "labels=master" \
$WPT_FYI_ENDPOINT
fi
$WPT_FYI_ENDPOINT)

if [[ $response =~ Task\ ([0-9]+)\ added\ to\ queue ]]; then
run_id=${BASH_REMATCH[1]}
origin=${WPT_FYI_ENDPOINT%/api/results/upload}

echo "" >> $GITHUB_STEP_SUMMARY
echo "Run ID [$run_id]($origin/api/runs/$run_id) added to the processor queue at $origin" >> $GITHUB_STEP_SUMMARY
echo "- [View on the ${origin:8} dashboard]($origin/results?run_id=$run_id)" >> $GITHUB_STEP_SUMMARY
fi
done
1 change: 1 addition & 0 deletions .github/workflows/test-asan.yml
Expand Up @@ -45,6 +45,7 @@ jobs:
CXX: clang++
LINK: clang++
CONFIG_FLAGS: --enable-asan
ASAN: true
steps:
- uses: actions/checkout@v3
with:
Expand Down
75 changes: 46 additions & 29 deletions .github/workflows/tools.yml
Expand Up @@ -21,12 +21,10 @@ jobs:
subsystem: tools
label: tools
run: |
NEW_VERSION=$(npm view eslint dist-tags.latest)
CURRENT_VERSION=$(node -p "require('./tools/node_modules/eslint/package.json').version")
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
./tools/dep_updaters/update-eslint.sh
fi
./tools/dep_updaters/update-eslint.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: corepack
subsystem: deps
label: dependencies
Expand Down Expand Up @@ -81,12 +79,10 @@ jobs:
subsystem: deps,test
label: test
run: |
NEW_VERSION=$(npm view postject dist-tags.latest)
CURRENT_VERSION=$(node -p "require('./test/fixtures/postject-copy/node_modules/postject/package.json').version")
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
./tools/dep_updaters/update-postject.sh
fi
./tools/dep_updaters/update-postject.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: base64
subsystem: deps
label: dependencies
Expand Down Expand Up @@ -122,38 +118,59 @@ jobs:
subsystem: deps
label: dependencies
run: |
NEW_VERSION=$(gh api repos/libuv/libuv/releases/latest -q '.tag_name|ltrimstr("v")')
VERSION_H="./deps/uv/include/uv/version.h"
CURRENT_MAJOR_VERSION=$(grep "#define UV_VERSION_MAJOR" $VERSION_H | sed -n "s/^.*MAJOR \(.*\)/\1/p")
CURRENT_MINOR_VERSION=$(grep "#define UV_VERSION_MINOR" $VERSION_H | sed -n "s/^.*MINOR \(.*\)/\1/p")
CURRENT_PATCH_VERSION=$(grep "#define UV_VERSION_PATCH" $VERSION_H | sed -n "s/^.*PATCH \(.*\)/\1/p")
CURRENT_SUFFIX_VERSION=$(grep "#define UV_VERSION_SUFFIX" $VERSION_H | sed -n "s/^.*SUFFIX \"\(.*\)\"/\1/p")
SUFFIX_STRING=$([[ -z "$CURRENT_SUFFIX_VERSION" ]] && echo "" || echo "-$CURRENT_SUFFIX_VERSION")
CURRENT_VERSION="$CURRENT_MAJOR_VERSION.$CURRENT_MINOR_VERSION.$CURRENT_PATCH_VERSION$SUFFIX_STRING"
./tools/dep_updaters/update-libuv.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: simdutf
subsystem: deps
label: dependencies
run: |
./tools/dep_updaters/update-simdutf.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: ada
subsystem: deps
label: dependencies
run: |
NEW_VERSION=$(gh api repos/ada-url/ada/releases/latest -q '.tag_name|ltrimstr("v")')
CURRENT_VERSION=$(grep "#define ADA_VERSION" ./deps/ada/ada.h | sed -n "s/^.*VERSION \(.*\)/\1/p")
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
./tools/dep_updaters/update-libuv.sh "$NEW_VERSION"
./tools/dep_updaters/update-ada.sh "$NEW_VERSION"
fi
- id: simdutf
- id: nghttp2
subsystem: deps
label: dependencies
run: |
NEW_VERSION=$(gh api repos/simdutf/simdutf/releases/latest -q '.tag_name|ltrimstr("v")')
CURRENT_VERSION=$(grep "#define SIMDUTF_VERSION" ./deps/simdutf/simdutf.h | sed -n "s/^.*VERSION \(.*\)/\1/p")
NEW_VERSION=$(gh api repos/nghttp2/nghttp2/releases/latest -q '.tag_name|ltrimstr("v")')
CURRENT_VERSION=$(grep "#define NGHTTP2_VERSION" ./deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h | sed -n "s/^.*VERSION \(.*\)/\1/p")
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
./tools/dep_updaters/update-simdutf.sh "$NEW_VERSION"
./tools/update-nghttp2.sh "$NEW_VERSION"
fi
- id: ada
- id: llhttp
subsystem: deps
label: dependencies
run: |
NEW_VERSION=$(gh api repos/ada-url/ada/releases/latest -q '.tag_name|ltrimstr("v")')
CURRENT_VERSION=$(grep "#define ADA_VERSION" ./deps/ada/ada.h | sed -n "s/^.*VERSION \(.*\)/\1/p")
NEW_VERSION=$(gh api repos/nodejs/llhttp/releases/latest -q '.tag_name|ltrimstr("release/v")')
CURRENT_MAJOR_VERSION=$(grep "#define LLHTTP_VERSION_MAJOR" ./deps/llhttp/include/llhttp.h | sed -n "s/^.*MAJOR \(.*\)/\1/p")
CURRENT_MINOR_VERSION=$(grep "#define LLHTTP_VERSION_MINOR" ./deps/llhttp/include/llhttp.h | sed -n "s/^.*MINOR \(.*\)/\1/p")
CURRENT_PATCH_VERSION=$(grep "#define LLHTTP_VERSION_PATCH" ./deps/llhttp/include/llhttp.h | sed -n "s/^.*PATCH \(.*\)/\1/p")
CURRENT_VERSION="$CURRENT_MAJOR_VERSION.$CURRENT_MINOR_VERSION.$CURRENT_PATCH_VERSION"
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
./tools/dep_updaters/update-ada.sh "$NEW_VERSION"
./tools/update-llhttp.sh "$NEW_VERSION"
fi
- id: c-ares
subsystem: deps
label: dependencies
run: |
./tools/dep_updaters/update-c-ares.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
steps:
- uses: actions/checkout@v3
with:
Expand Down