Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
e69d35f
doc: add history info for Permission Model
aduh95 Jan 22, 2025
928540d
doc: fix typos
NathanBaulch Sep 29, 2024
9ec67e7
meta: move MoLow to TSC regular member
MoLow Dec 18, 2024
12f716b
build: build v8 with -fvisibility=hidden on macOS
joyeecheung Dec 19, 2024
721104a
doc: fix links in `module.md`
aduh95 Dec 19, 2024
a3f5ef2
test: make `test-permission-sqlite-load-extension` more robust
aduh95 Dec 19, 2024
9cf9046
Revert "events: add hasEventListener util for validate"
origranot Dec 17, 2024
8e149aa
test: add test case for listeners
origranot Dec 17, 2024
fa56ab2
test: deflake test-esm-loader-hooks-inspect-brk
lpinca Dec 19, 2024
df06524
lib: suppress source map lookup exceptions
legendecas Dec 17, 2024
dc00321
lib: optimize `prepareStackTrace` on builtin frames
legendecas Dec 17, 2024
406e7db
test: remove async-hooks/test-writewrap flaky designation
lpinca Dec 20, 2024
e658ea6
stream: validate undefined sizeAlgorithm in WritableStream
jazelly Dec 20, 2024
7245245
node-api: remove deprecated attribute from napi_module_register
vmoroz Dec 20, 2024
2a3cdd3
build: test macos-13 on GitHub actions
targos Dec 20, 2024
acba5dc
module: use buffer.toString base64
legendecas Dec 21, 2024
105c4ed
tools: add release line label when opening release proposal
aduh95 Dec 21, 2024
b197dfa
build: fix GN build for ngtcp2
zcbenz Dec 18, 2024
53b29b0
tools: fix `require-common-first` lint rule from subfolder
aduh95 Dec 22, 2024
4352bf6
test: check typescript loader
marco-ippolito Dec 23, 2024
6eacd19
deps: update simdutf to 5.7.0
nodejs-github-bot Dec 24, 2024
8319dc6
deps: update ngtcp2 to 1.10.0
nodejs-github-bot Dec 24, 2024
6ae9950
test: migrate message eval tests from Python to JS
yiyunlei Oct 31, 2023
8ffeb8b
test: increase spin for eventloop test on s390
mhdawson Dec 10, 2024
ca6ed21
test: skip `test-sqlite-extensions` when SQLite is not built by us
aduh95 Dec 24, 2024
0f7aed8
doc: fix the `crc32` documentation
kevinuehara Dec 24, 2024
ad3d857
src: use starts_with in fs_permission.cc
IlyasShabi Dec 25, 2024
68819b4
test: deflake test-watch-file-shared-dependency
lpinca Dec 25, 2024
e4ec134
doc: clarify that WASM is trusted
mcollina Dec 25, 2024
a6491ef
doc: use `<ul>` instead of `<ol>` in `SECURITY.md`
aduh95 Dec 23, 2024
b4ece22
meta: move one or more collaborators to emeritus
nodejs-github-bot Dec 25, 2024
30f61f4
url: use resolved path to convert UNC paths to URL
aduh95 Dec 25, 2024
cc648ef
test: enable ts test on win arm64
marco-ippolito Dec 26, 2024
b6c3869
test: improve abort signal dropping test
geeksilva97 Dec 26, 2024
516d074
doc: expand description of `parseArg`'s `default`
bakkot Dec 27, 2024
c99de1f
assert: make partialDeepStrictEqual throw when comparing [0] with [-0]
puskin Dec 12, 2024
9761e7d
deps: update googletest to e54519b
nodejs-github-bot Dec 28, 2024
3462263
sqlite: pass conflict type to conflict resolution handler
louwers Dec 29, 2024
0362924
test: use unusual chars in the path to ensure our tests are robust
aduh95 Dec 30, 2024
72d1f12
test: remove empty lines from snapshots
marco-ippolito Dec 24, 2024
59e3de8
deps: update googletest to 7d76a23
nodejs-github-bot Dec 31, 2024
3249392
deps: update amaro to 0.2.1
nodejs-github-bot Dec 31, 2024
44d2f54
node-api: define version 10
gabrielschulhof Dec 31, 2024
8b8fc59
doc: add example for piping ReadableStream
gabrielschulhof Jan 1, 2025
faa1d02
src: use v8::LocalVector consistently with other minor cleanups
jasnell Dec 31, 2024
bd00418
deps: update simdutf to 5.7.2
nodejs-github-bot Jan 2, 2025
c7f3462
test_runner: finish marking snapshot testing as stable
cjihrig Jan 3, 2025
c5c7b68
tools: bump the eslint group in /tools/eslint with 4 updates
dependabot[bot] Jan 3, 2025
5ae187a
tools: use a configurable value for number of open dependabot PRs
aduh95 Jan 3, 2025
4b3cd8b
tools: disable unneeded rule ignoring in Python linting
Trott Jan 3, 2025
6f2e714
test: update test-child-process-windows-hide to use node:test
cjihrig Jan 4, 2025
c89a3f0
test_runner: add assert.register() API
cjihrig Jan 4, 2025
85b40a6
test: update test-set-http-max-http-headers to use node:test
cjihrig Jan 4, 2025
4b091bd
test: add initial test426 coverage
legendecas Jan 4, 2025
aac9ae3
test: update compiled sqlite tests to match other tests
cjihrig Jan 5, 2025
e809adc
sqlite: enable SQL math functions
cjihrig Jan 5, 2025
ff4ec51
sqlite: support TypedArray and DataView in `StatementSync`
himself65 Jan 5, 2025
92e5963
inspector: report loadingFinished until the response data is consumed
legendecas Jan 5, 2025
fcb8c42
src: use LocalVector in more places
jasnell Jan 3, 2025
3e1c81f
worker: flush stdout and stderr on exit
mcollina Jan 6, 2025
8ad94c4
test: update error code in tls-psk-circuit for for OpenSSL 3.4
sebastianas Jan 6, 2025
d5e0ffa
src: drain platform tasks before creating startup snapshot
legendecas Jan 7, 2025
a9d87e1
tools: fix loong64 build failed
Xiao-Tao Jan 7, 2025
35eabc3
src: lock the thread properly in snapshot builder
joyeecheung Jan 7, 2025
4df613f
src: make some minor ToLocalChecked cleanups
jasnell Jan 7, 2025
565acee
src: fixup more ToLocalChecked uses in node_file
jasnell Jan 5, 2025
897b1fa
crypto: make generatePrime/checkPrime interruptible
jasnell Jan 3, 2025
0cb8908
assert: show diff when doing partial comparisons
Jan 8, 2025
cf38e85
src: move more crypto impl detail to ncrypto dep
jasnell Dec 31, 2024
510b1d0
src: minor cleanups on OneByteString usage
jasnell Jan 5, 2025
08c26fd
inspector: add undici http tracking support
legendecas Jan 8, 2025
f62f370
doc: allow request for TSC reviews via the GitHub UI
aduh95 Jan 8, 2025
6d1c4fe
fs: allow `exclude` option in globs to accept glob patterns
daeyeon Jan 8, 2025
0959bec
test_runner: run single test file benchmark
pmarchini Jan 9, 2025
94d3dff
src: refactor --trace-env to reuse option selection and handling
joyeecheung Jan 9, 2025
f099fcd
src: fix undefined script name in error source
legendecas Jan 9, 2025
5942d86
test: mark test-http-server-request-timeouts-mixed as flaky
joyeecheung Jan 9, 2025
535076f
assert: make partialDeepStrictEqual work with urls and File prototypes
Jan 9, 2025
a09ede2
test_runner: add t.assert.fileSnapshot()
cjihrig Jan 9, 2025
aa1209c
tools: validate commit list as part of `lint-release-commit`
aduh95 Jan 9, 2025
12b8848
doc: add message for Ambassadors to promote
mhdawson Dec 11, 2024
f8f8136
doc: add esm examples to node:trace_events
mfdebian Jan 10, 2025
7d207e6
esm: fix jsdoc type refs to `ModuleJobBase` in esm/loader
JakobJingleheimer Jan 10, 2025
575da4c
doc: include CVE to EOL lines as sec release process
RafaelGSS Jan 10, 2025
83a7d37
test: add error only reporter for node:test
Ceres6 Jan 11, 2025
dc4e821
crypto: fix warning of ignoring return value
zcbenz Jan 11, 2025
27747a4
assert: make myers_diff function more performant
Jan 11, 2025
7a8e0b6
test: clarify fork inherit permission flags
RafaelGSS Jan 11, 2025
fd3b826
tools: edit `create-release-proposal` workflow
aduh95 Jan 11, 2025
d34075a
sqlite: disable memstatus APIs at build time
cjihrig Jan 12, 2025
98ed379
doc: fix parentheses in options
tniessen Jan 12, 2025
20ba247
doc: update gcc-version for ubuntu-lts
KunalKumar-1 Jan 12, 2025
c7e9c27
benchmark: add validateStream to styleText bench
RafaelGSS Jan 12, 2025
4557aa6
tls: fix error stack conversion in cryptoErrorListToException()
joyeecheung Jan 12, 2025
36c79e0
doc: add section about using npx with permission model
RafaelGSS Jan 13, 2025
fb4bec4
diagnostics_channel: capture console messages
Qard Jan 13, 2025
8f250a0
util: expose CallSite.scriptId
legendecas Jan 13, 2025
7859c56
stream: fix typo in ReadableStreamBYOBReader.readIntoRequests
MattiasBuelens Jan 13, 2025
08278cd
src: add --disable-sigusr1 to prevent signal i/o thread
RafaelGSS Jan 13, 2025
39ece3f
test: make test-crypto-hash compatible with OpenSSL > 3.4.0
jelly Dec 6, 2024
90ee31a
test: disable openssl 3.4.0 incompatible tests
jelly Dec 6, 2024
f7f13d9
test: update test-child-process-bad-stdio to use node:test
cjihrig Jan 13, 2025
27c5bd9
doc: document CLI way to open the nodejs/bluesky PR
aduh95 Jan 13, 2025
e080fc9
crypto: fix checkPrime crash with large buffers
santigimeno Jan 11, 2025
e511895
crypto: update root certificates to NSS 3.107
nodejs-github-bot Jan 14, 2025
be8c8d6
deps: update simdutf to 6.0.3
nodejs-github-bot Jan 14, 2025
e8dc775
src,worker: add isInternalWorker
Ceres6 Jan 14, 2025
8a913a7
tools: remove github reporter
Ceres6 Jan 14, 2025
40efc00
src: cleaning up more crypto internals for ncrypto
jasnell Jan 8, 2025
7e4b3ac
src: update ECDASSigPointer implementation in ncrypto
jasnell Jan 8, 2025
12d0bcd
src: update ECGroupPointer in ncrypto
jasnell Jan 8, 2025
8abaccc
src: update ECPointPointer in ncrypto
jasnell Jan 8, 2025
93db0e7
src: update ECKeyPointer in ncrypto
jasnell Jan 9, 2025
c182ef9
util: do not crash on inspecting function with `Symbol` name
ljharb Jan 15, 2025
21a316e
meta: add codeowners of security release document
RafaelGSS Jan 15, 2025
c37df07
deps: update amaro to 0.2.2
nodejs-github-bot Jan 12, 2025
e55b3ba
deps: update amaro to 0.3.0
nodejs-github-bot Jan 14, 2025
de8c42d
module: rethrow amaro error message
marco-ippolito Jan 14, 2025
0b281a2
test: mark test-worker-prof as flaky on smartos
joyeecheung Jan 15, 2025
849bb00
util: rename CallSite.column to columnNumber
legendecas Jan 15, 2025
b119367
doc: improve internal documentation on built-in snapshot
joyeecheung Jan 15, 2025
368c698
util: inspect: do not crash on an Error with a regex `name`
ljharb Jan 15, 2025
59877b1
test_runner: add TestContext.prototype.waitFor()
cjihrig Jan 16, 2025
fc5f4d6
src: handle duplicate paths granted
RafaelGSS Jan 16, 2025
ee2bcde
test: add line break at end of file
RafaelGSS Jan 16, 2025
8ec5990
doc: add type stripping to ambassadors program
marco-ippolito Jan 16, 2025
eed8388
doc: tweak info on reposts in ambassador program
mhdawson Jan 16, 2025
8dcbe78
test_runner: remove unused errors
pmarchini Jan 17, 2025
2d38239
test: add maxCount and gcOptions to gcUntil()
joyeecheung Jan 14, 2025
de8b672
tools: fix permissions in `lint-release-proposal` workflow
aduh95 Jan 17, 2025
3d66f04
crypto: add missing return value check
mhdawson Jan 17, 2025
c4b5400
deps: update libuv to 1.50.0
nodejs-github-bot Jan 17, 2025
3b133b0
doc: mention prepare --security
RafaelGSS Jan 17, 2025
666e1de
punycode: limit deprecation warning
cjihrig Jan 18, 2025
aeb2474
child_process: fix parsing messages with splitted length field
MGorkov Jan 18, 2025
5083359
src: initialize FSReqWrapSync in path that uses it
targos Jan 19, 2025
88bf6bc
deps: fixup some minor coverity warnings
jasnell Jan 19, 2025
d5989c3
test: test-stream-compose.js doesn't need internals
nektro Jan 19, 2025
c4432f5
http2: omit server name when HTTP2 host is IP address
islandryu Dec 29, 2024
2e94553
doc: `WeakSet` and `WeakMap` comparison details
ishon19 Jan 20, 2025
94669e1
doc: clarify cjs/esm diff in `queueMicrotask()` vs `process.nextTick()`
dario-piotrowicz Jan 21, 2025
80217c9
tools: do not throw on missing `create-release-proposal.sh`
aduh95 Jan 22, 2025
284598d
test: use --permission instead of --experimental-permission
RafaelGSS Jan 22, 2025
d5dd5b4
worker: refactor stdio to improve performance
mcollina Jan 23, 2025
7a810f6
doc: add RafaelGSS as latest sec release stewards
RafaelGSS Jan 23, 2025
8df6637
doc: fix inconsistencies in `WeakSet` and `WeakMap` comparison details
ishon19 Jan 23, 2025
78b4c8b
tools: fix tools-deps-update
lemire Jan 23, 2025
dac6582
test: fix localization data for ICU 74.2
aduh95 Jan 23, 2025
924d5c8
test: enforce strict mode in test-zlib-const
Trott Jan 24, 2025
fdaa502
tools: do not throw on missing `create-release-proposal.sh`
aduh95 Jan 24, 2025
a46b7fe
util: inspect: do not crash on an Error stack that contains a Symbol
ljharb Jan 12, 2025
0ac84f7
test: add missing test for env file
JonasBa Jan 24, 2025
a4b7d39
test: move crypto related common utilities in common/crypto
jasnell Jan 25, 2025
ced63db
test: move hasMultiLocalhost to common/net
jasnell Jan 25, 2025
f152c7e
test: simplify common/index.js
jasnell Jan 22, 2025
55ef6f0
test: rely less on duplicative common test harness utilities
jasnell Jan 22, 2025
37da7a8
test: make common/index slightly less node.js specific
jasnell Jan 22, 2025
72b5ee3
test: replace more uses of `global` with `globalThis`
jasnell Jan 22, 2025
3424c7d
test: add test that uses multibyte for path and resolves modules
yamachu Jan 22, 2025
f262837
src: fix to generate path from wchar_t via wstring
yamachu Jan 22, 2025
fbfa35e
src: fix build with GCC 15
tjuhaszrh Jan 25, 2025
18bba0e
doc: fix typo in example code for util.styleText
rmehner Jan 25, 2025
332a27a
src: add default value for RSACipherConfig mode field
wooffie Jan 22, 2025
d633c09
test: make some requires lazy in common/index
jasnell Jan 23, 2025
3243e95
watch: reload env file for --env-file-if-exists
JonasBa Jan 25, 2025
e8e21fb
module: fix bad `require.resolve` with option paths for `.` and `..`
dario-piotrowicz Jan 25, 2025
a9fae78
doc: add note regarding commit message trailers
dario-piotrowicz Jan 26, 2025
c9cd7e8
src: add nullptr handling from X509_STORE_new()
wooffie Jan 22, 2025
90be476
test: do not use common.isMainThread
lpinca Jan 26, 2025
60f8929
test: cleanup and simplify test-crypto-aes-wrap
jasnell Jan 26, 2025
547e907
doc: improve accessibility of expandable lists
aduh95 Jan 26, 2025
7972bea
doc: add "Skip to content" button
aduh95 Jan 26, 2025
2a65537
deps: macro ENODATA is deprecated in libc++
zcbenz Jan 26, 2025
a768e59
doc: fix styles of the expandable TOC
aduh95 Jan 26, 2025
007fe10
tools: update inspector_protocol roller
legendecas Jan 15, 2025
f2ed5ea
inspector: roll inspector_protocol
legendecas Jan 15, 2025
8f7e6c7
deps: move inspector_protocol to deps
legendecas Jan 17, 2025
04bcebc
test: use strict mode in global setters test
Trott Jan 27, 2025
88ef806
test: fix invalid common.mustSucceed() usage
lpinca Jan 27, 2025
ddb0314
test: reduce number of written chunks
lpinca Jan 27, 2025
216541c
doc: move anatoli to emeritus
mhdawson Jan 27, 2025
a335914
meta: move one or more collaborators to emeritus
nodejs-github-bot Jan 27, 2025
3cb5297
tools: update doc to new version
nodejs-github-bot Dec 15, 2024
7d54ee2
deps: update corepack to 0.31.0
nodejs-github-bot Jan 28, 2025
d0f635c
doc: add entry to changelog about SQLite Session Extension
louwers Dec 21, 2024
bc8a4bc
module: add `findPackageJSON` util
JakobJingleheimer Oct 25, 2024
24f5193
module: simplify `findPackageJSON` implementation
aduh95 Nov 2, 2024
4361c48
module: fix async resolution error within the sync `findPackageJSON`
JakobJingleheimer Dec 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,9 @@
/src/permission/* @nodejs/security-wg
/test/parallel/test-permission-* @nodejs/security-wg

# Security Release
/doc/contributing/security-release-process.md @nodejs/security-stewards

# Dependency Update Tools

/.github/workflows/tools.yml @nodejs/security-wg
Expand Down
6 changes: 3 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ updates:
interval: monthly
commit-message:
prefix: meta
open-pull-requests-limit: 10
open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}}

- package-ecosystem: npm
directory: /tools/eslint
schedule:
interval: monthly
commit-message:
prefix: tools
open-pull-requests-limit: 10
open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}}
groups:
eslint:
applies-to: version-updates
Expand All @@ -29,7 +29,7 @@ updates:
interval: monthly
commit-message:
prefix: tools
open-pull-requests-limit: 10
open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}}
groups:
lint-md:
applies-to: version-updates
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,4 @@ jobs:
- name: Test
run: |
cd $TAR_DIR
make run-ci -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9"
make run-ci -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=./test/common/test-error-reporter.js' --measure-flakiness 9"
2 changes: 1 addition & 1 deletion .github/workflows/coverage-linux-without-intl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
# TODO(bcoe): fix the couple tests that fail with the inspector enabled.
# The cause is most likely coverage's use of the inspector.
- name: Test
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9" || exit 0
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=./test/common/test-error-reporter.js' --measure-flakiness 9" || exit 0
- name: Report JS
run: npx c8 report --check-coverage
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
# TODO(bcoe): fix the couple tests that fail with the inspector enabled.
# The cause is most likely coverage's use of the inspector.
- name: Test
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9" || exit 0
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=./test/common/test-error-reporter.js' --measure-flakiness 9" || exit 0
- name: Report JS
run: npx c8 report --check-coverage
env:
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/create-release-proposal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
- name: Set up ghauth config (Ubuntu)
run: |
mkdir -p "${XDG_CONFIG_HOME:-~/.config}/changelog-maker"
echo '{}' | jq '{user: env.GITHUB_ACTOR, token: env.TOKEN}' > "${XDG_CONFIG_HOME:-~/.config}/changelog-maker/config.json"
jq --null-input '{user: env.GITHUB_ACTOR, token: env.TOKEN}' > "${XDG_CONFIG_HOME:-~/.config}/changelog-maker/config.json"
env:
TOKEN: ${{ github.token }}

Expand All @@ -73,9 +73,8 @@ jobs:
- name: Start git node release prepare
# The curl command is to make sure we run the version of the script corresponding to the current workflow.
run: |
git update-index --assume-unchanged tools/actions/create-release.sh
curl -fsSLo tools/actions/create-release.sh https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/create-release.sh
./tools/actions/create-release.sh "${RELEASE_DATE}" "${RELEASE_LINE}" "${GITHUB_ACTOR}"
curl -fsSL https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/create-release-proposal.sh |\
sh -s -- "${RELEASE_DATE}" "${RELEASE_LINE}" "${GITHUB_ACTOR}"
env:
GH_TOKEN: ${{ github.token }}
# We want the bot to push the push the release commit so CI runs on it.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@ jobs:
name: docs
path: out/doc
- name: Test
run: NODE=$(command -v node) make test-doc-ci TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
run: NODE=$(command -v node) make test-doc-ci TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
37 changes: 26 additions & 11 deletions .github/workflows/lint-release-proposal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ permissions:
jobs:
lint-release-commit:
runs-on: ubuntu-latest
permissions:
pull-requests: read
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
Expand All @@ -33,30 +35,43 @@ jobs:
echo "COMMIT_SUBJECT=$COMMIT_SUBJECT" >> "$GITHUB_ENV"
- name: Lint release commit message trailers
run: |
EXPECTED_TRAILER="^PR-URL: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/[[:digit:]]+\$"
EXPECTED_TRAILER="^$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/[[:digit:]]+\$"
echo "Expected trailer format: $EXPECTED_TRAILER"
ACTUAL="$(git --no-pager log -1 --format=%b | git interpret-trailers --parse --no-divider)"
PR_URL="$(git --no-pager log -1 --format='%(trailers:key=PR-URL,valueonly)')"
echo "Actual: $ACTUAL"
echo "$ACTUAL" | grep -E -q "$EXPECTED_TRAILER"
echo "$PR_URL" | grep -E -q "$EXPECTED_TRAILER"

PR_URL="${ACTUAL:8}"
PR_HEAD="$(gh pr view "$PR_URL" --json headRefOid -q .headRefOid)"
echo "Head of $PR_URL: $PR_HEAD"
echo "Current commit: $GITHUB_SHA"
[ "$PR_HEAD" = "$GITHUB_SHA" ]
env:
GH_TOKEN: ${{ github.token }}
- name: Verify it's release-ready
run: |
SKIP_XZ=1 make release-only
- name: Validate CHANGELOG
id: releaser-info
run: |
EXPECTED_CHANGELOG_TITLE_INTRO="## $COMMIT_SUBJECT, @"
echo "Expected CHANGELOG section title: $EXPECTED_CHANGELOG_TITLE_INTRO"
CHANGELOG_TITLE="$(grep "$EXPECTED_CHANGELOG_TITLE_INTRO" "doc/changelogs/CHANGELOG_V${COMMIT_SUBJECT:20:2}.md")"
MAJOR="$(awk '/^#define NODE_MAJOR_VERSION / { print $3 }' src/node_version.h)"
CHANGELOG_PATH="doc/changelogs/CHANGELOG_V${MAJOR}.md"
CHANGELOG_TITLE="$(grep "$EXPECTED_CHANGELOG_TITLE_INTRO" "$CHANGELOG_PATH")"
echo "Actual: $CHANGELOG_TITLE"
[ "${CHANGELOG_TITLE%%@*}@" = "$EXPECTED_CHANGELOG_TITLE_INTRO" ]
- name: Verify NODE_VERSION_IS_RELEASE bit is correctly set
run: |
grep -q '^#define NODE_VERSION_IS_RELEASE 1$' src/node_version.h
- name: Check for placeholders in documentation
run: |
! grep "REPLACEME" doc/api/*.md
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
--jq '.commits.[] | { smallSha: .sha[0:10] } + (.commit.message|capture("^(?<title>.+)\n\n(.*\n)*PR-URL: (?<prURL>.+)\n"))' \
"/repos/${GITHUB_REPOSITORY}/compare/v${MAJOR}.x...$GITHUB_SHA" --paginate \
| node tools/actions/lint-release-proposal-commit-list.mjs "$CHANGELOG_PATH" "$GITHUB_SHA" \
| while IFS= read -r PR_URL; do
LABEL="dont-land-on-v${MAJOR}.x" gh pr view \
--json labels,url \
--jq 'if (.labels|map(.name==env.LABEL)|any) then error("\(.url) has the \(env.LABEL) label, forbidding it to be in this release proposal") end' \
"$PR_URL" > /dev/null
done
shell: bash # See https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference, we want the pipefail option.
env:
GH_TOKEN: ${{ github.token }}
2 changes: 1 addition & 1 deletion .github/workflows/test-asan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,4 @@ jobs:
- name: Build
run: make build-ci -j4 V=1
- name: Test
run: make run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9"
run: make run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9"
12 changes: 10 additions & 2 deletions .github/workflows/test-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
path: node
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
Expand All @@ -51,6 +52,13 @@ jobs:
- name: Environment Information
run: npx envinfo
- name: Build
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
run: make -C node build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
- name: Test
run: make run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
run: make -C node run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
- name: Re-run test in a folder whose name contains unusual chars
run: |
mv node "$DIR"
cd "$DIR"
./tools/test.py --flaky-tests keep_retrying -p actions -j 4
env:
DIR: dir%20with $unusual"chars?'åß∂ƒ©∆¬…`
20 changes: 16 additions & 4 deletions .github/workflows/test-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@ permissions:
jobs:
test-macOS:
if: github.event.pull_request.draft == false
runs-on: macos-14
strategy:
fail-fast: false
matrix:
macos-version: [macos-13, macos-14]
runs-on: ${{ matrix.macos-version }}
env:
CC: sccache gcc
CXX: sccache g++
Expand All @@ -47,6 +51,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
path: node
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
Expand All @@ -64,7 +69,7 @@ jobs:
# happen anymore running this step here first, that's also useful
# information.)
- name: tools/doc/node_modules workaround
run: make tools/doc/node_modules
run: make -C node tools/doc/node_modules
# This is needed due to https://github.com/nodejs/build/issues/3878
- name: Cleanup
run: |
Expand All @@ -80,8 +85,15 @@ jobs:
df -h
echo "::endgroup::"
- name: Build
run: make build-ci -j$(getconf _NPROCESSORS_ONLN) V=1 CONFIG_FLAGS="--error-on-warn"
run: make -C node build-ci -j$(getconf _NPROCESSORS_ONLN) V=1 CONFIG_FLAGS="--error-on-warn"
- name: Free Space After Build
run: df -h
- name: Test
run: make run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
run: make -C node run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
- name: Re-run test in a folder whose name contains unusual chars
run: |
mv node "$DIR"
cd "$DIR"
./tools/test.py --flaky-tests keep_retrying -p actions -j 4
env:
DIR: dir%20with $unusual"chars?'åß∂ƒ©∆¬…`
2 changes: 1 addition & 1 deletion .github/workflows/test-ubsan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ jobs:
- name: Build
run: make build-ci -j2 V=1
- name: Test
run: make run-ci -j2 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9"
run: make run-ci -j2 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9"
23 changes: 8 additions & 15 deletions .github/workflows/tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ on:
- cjs-module-lexer
- corepack
- doc
- github_reporter
- googletest
- gyp-next
- histogram
Expand Down Expand Up @@ -135,14 +134,6 @@ jobs:
npm install --ignore-scripts $NEW_VERSION
npm install --ignore-scripts
fi
- id: github_reporter
subsystem: tools
label: tools
run: |
./tools/dep_updaters/update-github-reporter.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
Expand Down Expand Up @@ -293,6 +284,10 @@ jobs:
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
steps:
- name: Setup Git config
run: |
git config --global user.name "Node.js GitHub Bot"
git config --global user.email "[email protected]"
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id
with:
Expand All @@ -310,17 +305,15 @@ jobs:
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@86ec1766034c8173518f61d2075cc2a173fb8c97 # v1.9.4
- uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
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:
GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}
with:
author: Node.js GitHub Bot <[email protected]>
body: This is an automated update of ${{ matrix.id }} to ${{ env.NEW_VERSION }}.
token: ${{ secrets.GH_USER_TOKEN }}
branch: actions/tools-update-${{ matrix.id }} # Custom branch *just* for this Action.
delete-branch: true
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
body: This is an automated update of ${{ matrix.id }} to ${{ env.NEW_VERSION }}.
3 changes: 2 additions & 1 deletion BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ Consult previous versions of this document for older versions of Node.js:

Installation via Linux package manager can be achieved with:

* Ubuntu, Debian: `sudo apt-get install python3 g++ make python3-pip`
* Ubuntu, Debian: `sudo apt-get install python3 g++-12 gcc-12 make python3-pip`
* Fedora: `sudo dnf install python3 gcc-c++ make python3-pip`
* CentOS and RHEL: `sudo yum install python3 gcc-c++ make python3-pip`
* OpenSUSE: `sudo zypper install python3 gcc-c++ make python3-pip`
Expand Down Expand Up @@ -272,6 +272,7 @@ fail.
To build Node.js:

```bash
export CXX=g++-12
./configure
make -j4
```
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -2098,7 +2098,7 @@ The externally maintained libraries used by Node.js are:
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""

- inspector_protocol, located at tools/inspector_protocol, is licensed as follows:
- inspector_protocol, located at deps/inspector_protocol, is licensed as follows:
"""
// Copyright 2016 The Chromium Authors. All rights reserved.
//
Expand Down
Loading
Loading