Skip to content

Commit 2817155

Browse files
Merge pull request #1041 from nodejs/main
Create a new pull request by comparing changes across two branches
2 parents 8dd578b + cadc4ed commit 2817155

File tree

2,435 files changed

+92569
-77607
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,435 files changed

+92569
-77607
lines changed

.github/CODEOWNERS

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535

3636
# net
3737

38-
/deps/ada @nodejs/url
3938
/deps/cares @nodejs/net
4039
/doc/api/dgram.md @nodejs/net
4140
/doc/api/dns.md @nodejs/net
@@ -47,14 +46,11 @@
4746
/lib/internal/js_stream_socket.js @nodejs/net
4847
/lib/internal/net.js @nodejs/net
4948
/lib/internal/socket_list.js @nodejs/net
50-
/lib/internal/url.js @nodejs/url
5149
/lib/net.js @nodejs/net
52-
/lib/url.js @nodejs/url
5350
/src/cares_wrap.cc @nodejs/net
5451
/src/connect_wrap.* @nodejs/net
5552
/src/connection_wrap.* @nodejs/net
5653
/src/node_sockaddr* @nodejs/net
57-
/src/node_url.* @nodejs/url
5854
/src/tcp_wrap.* @nodejs/net
5955
/src/udp_wrap.* @nodejs/net
6056

@@ -171,6 +167,9 @@
171167
/src/permission/* @nodejs/security-wg
172168
/test/parallel/test-permission-* @nodejs/security-wg
173169

170+
# Security Release
171+
/doc/contributing/security-release-process.md @nodejs/security-stewards
172+
174173
# Dependency Update Tools
175174

176175
/.github/workflows/tools.yml @nodejs/security-wg
@@ -194,3 +193,10 @@
194193

195194
# Performance
196195
/benchmark/* @nodejs/performance
196+
197+
# URL
198+
/deps/ada @nodejs/url
199+
/lib/internal/url.js @nodejs/url
200+
/lib/url.js @nodejs/url
201+
/src/node_url.* @nodejs/url
202+
/test/fixtures/wpt/url @nodejs/url

.github/workflows/build-tarball.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ jobs:
5050
with:
5151
python-version: ${{ env.PYTHON_VERSION }}
5252
- name: Set up sccache
53-
uses: mozilla-actions/sccache-action@9e326ebed976843c9932b3aa0e021c6f50310eb4 # v0.0.6
53+
uses: mozilla-actions/sccache-action@054db53350805f83040bf3e6e9b8cf5a139aa7c9 # v0.0.7
5454
with:
55-
version: v0.8.1
55+
version: v0.9.1
5656
- name: Environment Information
5757
run: npx envinfo
5858
- name: Make tarball
@@ -105,4 +105,4 @@ jobs:
105105
- name: Test
106106
run: |
107107
cd $TAR_DIR
108-
make run-ci -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9"
108+
make run-ci -j4 V=1 TEST_CI_ARGS="-p dots --measure-flakiness 9"

.github/workflows/coverage-linux-without-intl.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ jobs:
5656
with:
5757
python-version: ${{ env.PYTHON_VERSION }}
5858
- name: Set up sccache
59-
uses: mozilla-actions/sccache-action@9e326ebed976843c9932b3aa0e021c6f50310eb4 # v0.0.6
59+
uses: mozilla-actions/sccache-action@054db53350805f83040bf3e6e9b8cf5a139aa7c9 # v0.0.7
6060
with:
61-
version: v0.8.1
61+
version: v0.9.1
6262
- name: Environment Information
6363
run: npx envinfo
6464
- name: Install gcovr
@@ -68,7 +68,7 @@ jobs:
6868
# TODO(bcoe): fix the couple tests that fail with the inspector enabled.
6969
# The cause is most likely coverage's use of the inspector.
7070
- name: Test
71-
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
71+
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --measure-flakiness 9" || exit 0
7272
- name: Report JS
7373
run: npx c8 report --check-coverage
7474
env:

.github/workflows/coverage-linux.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ jobs:
5656
with:
5757
python-version: ${{ env.PYTHON_VERSION }}
5858
- name: Set up sccache
59-
uses: mozilla-actions/sccache-action@9e326ebed976843c9932b3aa0e021c6f50310eb4 # v0.0.6
59+
uses: mozilla-actions/sccache-action@054db53350805f83040bf3e6e9b8cf5a139aa7c9 # v0.0.7
6060
with:
61-
version: v0.8.1
61+
version: v0.9.1
6262
- name: Environment Information
6363
run: npx envinfo
6464
- name: Install gcovr
@@ -68,7 +68,7 @@ jobs:
6868
# TODO(bcoe): fix the couple tests that fail with the inspector enabled.
6969
# The cause is most likely coverage's use of the inspector.
7070
- name: Test
71-
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
71+
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --measure-flakiness 9" || exit 0
7272
- name: Report JS
7373
run: npx c8 report --check-coverage
7474
env:

.github/workflows/create-release-proposal.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
- name: Set up ghauth config (Ubuntu)
6262
run: |
6363
mkdir -p "${XDG_CONFIG_HOME:-~/.config}/changelog-maker"
64-
echo '{}' | jq '{user: env.GITHUB_ACTOR, token: env.TOKEN}' > "${XDG_CONFIG_HOME:-~/.config}/changelog-maker/config.json"
64+
jq --null-input '{user: env.GITHUB_ACTOR, token: env.TOKEN}' > "${XDG_CONFIG_HOME:-~/.config}/changelog-maker/config.json"
6565
env:
6666
TOKEN: ${{ github.token }}
6767

@@ -73,9 +73,8 @@ jobs:
7373
- name: Start git node release prepare
7474
# The curl command is to make sure we run the version of the script corresponding to the current workflow.
7575
run: |
76-
git update-index --assume-unchanged tools/actions/create-release.sh
77-
curl -fsSLo tools/actions/create-release.sh https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/create-release.sh
78-
./tools/actions/create-release.sh "${RELEASE_DATE}" "${RELEASE_LINE}" "${GITHUB_ACTOR}"
76+
curl -fsSL https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/create-release-proposal.sh |\
77+
sh -s -- "${RELEASE_DATE}" "${RELEASE_LINE}" "${GITHUB_ACTOR}"
7978
env:
8079
GH_TOKEN: ${{ github.token }}
8180
# We want the bot to push the push the release commit so CI runs on it.

.github/workflows/doc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ jobs:
4040
name: docs
4141
path: out/doc
4242
- name: Test
43-
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"
43+
run: NODE=$(command -v node) make test-doc-ci TEST_CI_ARGS="-p actions --measure-flakiness 9"

.github/workflows/lint-release-proposal.yml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ permissions:
1919
jobs:
2020
lint-release-commit:
2121
runs-on: ubuntu-latest
22+
permissions:
23+
pull-requests: read
2224
steps:
2325
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2426
with:
@@ -33,30 +35,43 @@ jobs:
3335
echo "COMMIT_SUBJECT=$COMMIT_SUBJECT" >> "$GITHUB_ENV"
3436
- name: Lint release commit message trailers
3537
run: |
36-
EXPECTED_TRAILER="^PR-URL: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/[[:digit:]]+\$"
38+
EXPECTED_TRAILER="^$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/[[:digit:]]+\$"
3739
echo "Expected trailer format: $EXPECTED_TRAILER"
38-
ACTUAL="$(git --no-pager log -1 --format=%b | git interpret-trailers --parse --no-divider)"
40+
PR_URL="$(git --no-pager log -1 --format='%(trailers:key=PR-URL,valueonly)')"
3941
echo "Actual: $ACTUAL"
40-
echo "$ACTUAL" | grep -E -q "$EXPECTED_TRAILER"
42+
echo "$PR_URL" | grep -E -q "$EXPECTED_TRAILER"
4143
42-
PR_URL="${ACTUAL:8}"
4344
PR_HEAD="$(gh pr view "$PR_URL" --json headRefOid -q .headRefOid)"
4445
echo "Head of $PR_URL: $PR_HEAD"
4546
echo "Current commit: $GITHUB_SHA"
4647
[ "$PR_HEAD" = "$GITHUB_SHA" ]
4748
env:
4849
GH_TOKEN: ${{ github.token }}
50+
- name: Verify it's release-ready
51+
run: |
52+
SKIP_XZ=1 make release-only
4953
- name: Validate CHANGELOG
5054
id: releaser-info
5155
run: |
5256
EXPECTED_CHANGELOG_TITLE_INTRO="## $COMMIT_SUBJECT, @"
5357
echo "Expected CHANGELOG section title: $EXPECTED_CHANGELOG_TITLE_INTRO"
54-
CHANGELOG_TITLE="$(grep "$EXPECTED_CHANGELOG_TITLE_INTRO" "doc/changelogs/CHANGELOG_V${COMMIT_SUBJECT:20:2}.md")"
58+
MAJOR="$(awk '/^#define NODE_MAJOR_VERSION / { print $3 }' src/node_version.h)"
59+
CHANGELOG_PATH="doc/changelogs/CHANGELOG_V${MAJOR}.md"
60+
CHANGELOG_TITLE="$(grep "$EXPECTED_CHANGELOG_TITLE_INTRO" "$CHANGELOG_PATH")"
5561
echo "Actual: $CHANGELOG_TITLE"
5662
[ "${CHANGELOG_TITLE%%@*}@" = "$EXPECTED_CHANGELOG_TITLE_INTRO" ]
57-
- name: Verify NODE_VERSION_IS_RELEASE bit is correctly set
58-
run: |
59-
grep -q '^#define NODE_VERSION_IS_RELEASE 1$' src/node_version.h
60-
- name: Check for placeholders in documentation
61-
run: |
62-
! grep "REPLACEME" doc/api/*.md
63+
gh api \
64+
-H "Accept: application/vnd.github+json" \
65+
-H "X-GitHub-Api-Version: 2022-11-28" \
66+
--jq '.commits.[] | { smallSha: .sha[0:10] } + (.commit.message|capture("^(?<title>.+)\n\n(.*\n)*PR-URL: (?<prURL>.+)\n"))' \
67+
"/repos/${GITHUB_REPOSITORY}/compare/v${MAJOR}.x...$GITHUB_SHA" --paginate \
68+
| node tools/actions/lint-release-proposal-commit-list.mjs "$CHANGELOG_PATH" "$GITHUB_SHA" \
69+
| while IFS= read -r PR_URL; do
70+
LABEL="dont-land-on-v${MAJOR}.x" gh pr view \
71+
--json labels,url \
72+
--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' \
73+
"$PR_URL" > /dev/null
74+
done
75+
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.
76+
env:
77+
GH_TOKEN: ${{ github.token }}

.github/workflows/test-asan.yml

Lines changed: 0 additions & 66 deletions
This file was deleted.

.github/workflows/test-linux.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ jobs:
4646
with:
4747
python-version: ${{ env.PYTHON_VERSION }}
4848
- name: Set up sccache
49-
uses: mozilla-actions/sccache-action@9e326ebed976843c9932b3aa0e021c6f50310eb4 # v0.0.6
49+
uses: mozilla-actions/sccache-action@054db53350805f83040bf3e6e9b8cf5a139aa7c9 # v0.0.7
5050
with:
51-
version: v0.8.1
51+
version: v0.9.1
5252
- name: Environment Information
5353
run: npx envinfo
5454
- name: Build
5555
run: make -C node build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
5656
- name: Test
57-
run: make -C node run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
57+
run: make -C node run-ci -j4 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
5858
- name: Re-run test in a folder whose name contains unusual chars
5959
run: |
6060
mv node "$DIR"

.github/workflows/test-macos.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ concurrency:
3030

3131
env:
3232
PYTHON_VERSION: '3.12'
33+
XCODE_VERSION: '16.1'
3334
FLAKY_TESTS: keep_retrying
3435

3536
permissions:
@@ -40,9 +41,7 @@ jobs:
4041
if: github.event.pull_request.draft == false
4142
strategy:
4243
fail-fast: false
43-
matrix:
44-
macos-version: [macos-13, macos-14]
45-
runs-on: ${{ matrix.macos-version }}
44+
runs-on: macos-14
4645
env:
4746
CC: sccache gcc
4847
CXX: sccache g++
@@ -56,10 +55,12 @@ jobs:
5655
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
5756
with:
5857
python-version: ${{ env.PYTHON_VERSION }}
58+
- name: Set up Xcode ${{ env.XCODE_VERSION }}
59+
run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app
5960
- name: Set up sccache
60-
uses: mozilla-actions/sccache-action@9e326ebed976843c9932b3aa0e021c6f50310eb4 # v0.0.6
61+
uses: mozilla-actions/sccache-action@054db53350805f83040bf3e6e9b8cf5a139aa7c9 # v0.0.7
6162
with:
62-
version: v0.8.1
63+
version: v0.9.1
6364
- name: Environment Information
6465
run: npx envinfo
6566
# The `npm ci` for this step fails a lot as part of the Test step. Run it
@@ -89,7 +90,7 @@ jobs:
8990
- name: Free Space After Build
9091
run: df -h
9192
- name: Test
92-
run: make -C node 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"
93+
run: make -C node run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
9394
- name: Re-run test in a folder whose name contains unusual chars
9495
run: |
9596
mv node "$DIR"

0 commit comments

Comments
 (0)