Skip to content

Commit 8c0248f

Browse files
committed
Merge branch 'main' into loader/experimental-raw-imports
2 parents 5ecccba + a7f487f commit 8c0248f

5,332 files changed

Lines changed: 712685 additions & 179225 deletions

File tree

Some content is hidden

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

β€Ž.editorconfigβ€Ž

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ end_of_line = crlf
1616
indent_size = 8
1717
indent_style = tab
1818

19-
[{deps}/**]
19+
[deps/**]
2020
charset = unset
2121
end_of_line = unset
2222
indent_size = unset
2323
indent_style = unset
24+
insert_final_newline = unset
2425
trim_trailing_whitespace = unset
2526

26-
[{test/fixtures,deps,tools/eslint/node_modules,tools/gyp,tools/icu,tools/msvs}/**]
27+
[{test/fixtures,tools/eslint/node_modules,tools/gyp,tools/icu,tools/msvs}/**]
2728
insert_final_newline = false

β€Ž.github/CODEOWNERSβ€Ž

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,15 @@
8383
/src/node_http2* @nodejs/http2 @nodejs/net
8484
/src/node_mem* @nodejs/http2
8585

86+
# quic
87+
88+
/deps/ngtcp2/* @nodejs/quic
89+
/doc/api/quic.md @nodejs/quic
90+
/lib/quic.js @nodejs/quic
91+
/lib/internal/quic/* @nodejs/quic
92+
/src/quic/* @nodejs/quic
93+
/test/parallel/test-quic-* @nodejs/quic
94+
8695
# modules, including loaders
8796

8897
/doc/api/esm.md @nodejs/loaders
@@ -234,3 +243,11 @@
234243
# dev container
235244
/.devcontainer/* @nodejs/devcontainer
236245
/doc/contributing/using-devcontainer.md @nodejs/devcontainer
246+
247+
# FFI
248+
/deps/libffi/ @nodejs/ffi
249+
/doc/api/ffi.md @nodejs/ffi
250+
/lib/ffi.js @nodejs/ffi
251+
/src/ffi/ @nodejs/ffi
252+
/src/node_ffi.* @nodejs/ffi
253+
/test/ffi/ @nodejs/ffi
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Build Node.js (shared libraries)
2+
description: >
3+
Downloads the slim tarball built by the `build-tarball` job, extracts it,
4+
installs Nix (+ cachix + sccache), then builds Node.js and runs the CI
5+
test suite inside the pinned nix-shell.
6+
7+
inputs:
8+
extra-nix-flags:
9+
description: Additional CLI arguments appended to the nix-shell invocation.
10+
required: false
11+
default: ''
12+
cachix-auth-token:
13+
description: Cachix auth token for nodejs.cachix.org.
14+
required: false
15+
default: ''
16+
17+
runs:
18+
using: composite
19+
steps:
20+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
21+
with:
22+
name: tarballs
23+
path: tarballs
24+
25+
- name: Extract tarball
26+
shell: bash
27+
run: |
28+
tar xzf tarballs/*.tar.gz -C "$RUNNER_TEMP"
29+
echo "TAR_DIR=$RUNNER_TEMP/$(basename tarballs/*.tar.gz .tar.gz)" >> "$GITHUB_ENV"
30+
31+
- uses: cachix/install-nix-action@96951a368ba55167b55f1c916f7d416bac6505fe # v31.10.3
32+
with:
33+
extra_nix_config: sandbox = true
34+
35+
- uses: cachix/cachix-action@1eb2ef646ac0255473d23a5907ad7b04ce94065c # v17
36+
with:
37+
name: nodejs
38+
authToken: ${{ inputs.cachix-auth-token }}
39+
40+
- name: Configure sccache
41+
if: github.base_ref == 'main' || github.ref_name == 'main'
42+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
43+
with:
44+
script: |
45+
core.exportVariable('SCCACHE_GHA_ENABLED', 'on');
46+
core.exportVariable('ACTIONS_CACHE_SERVICE_V2', 'on');
47+
core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || '');
48+
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
49+
core.exportVariable('NIX_SCCACHE', '(import <nixpkgs> {}).sccache');
50+
51+
- name: Build Node.js and run tests
52+
shell: bash
53+
run: |
54+
nix-shell \
55+
-I "nixpkgs=$TAR_DIR/tools/nix/pkgs.nix" \
56+
--pure --keep TAR_DIR --keep FLAKY_TESTS \
57+
--keep SCCACHE_GHA_ENABLED --keep ACTIONS_CACHE_SERVICE_V2 --keep ACTIONS_RESULTS_URL --keep ACTIONS_RUNTIME_TOKEN \
58+
--arg loadJSBuiltinsDynamically false \
59+
--arg ccache "${NIX_SCCACHE:-null}" \
60+
--arg devTools '[]' \
61+
--arg benchmarkTools '[]' \
62+
${{ inputs.extra-nix-flags }} \
63+
--run '
64+
make -C "$TAR_DIR" run-ci -j4 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9 --skip-tests=$CI_SKIP_TESTS"
65+
' "$TAR_DIR/shell.nix"
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Run undici WPT (current)
2+
description: Runs undici WPT tests for undici >= 7 and merges results into the Node.js WPT report
3+
4+
inputs:
5+
undici-version:
6+
required: true
7+
description: undici version tag to checkout
8+
wpt-report:
9+
required: true
10+
description: Path to the Node.js WPT report to merge into
11+
12+
runs:
13+
using: composite
14+
steps:
15+
- name: Checkout undici
16+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
17+
with:
18+
repository: nodejs/undici
19+
persist-credentials: false
20+
path: undici
21+
clean: false
22+
ref: ${{ inputs.undici-version }}
23+
- name: Prepare WPT checkout
24+
shell: bash
25+
run: |
26+
rm -rf undici/test/web-platform-tests/wpt
27+
mv test/fixtures/wpt undici/test/web-platform-tests/wpt
28+
- name: Configure hosts
29+
shell: bash
30+
working-directory: undici/test/web-platform-tests/wpt
31+
run: python3 wpt make-hosts-file | sudo tee -a /etc/hosts
32+
- name: Install dependencies
33+
shell: bash
34+
working-directory: undici
35+
run: npm install
36+
- name: Run WPT
37+
shell: bash
38+
working-directory: undici
39+
env:
40+
CI: 'true'
41+
WPT_REPORT: ${{ github.workspace }}/undici/wptreport.json
42+
run: npm run test:wpt || true
43+
- name: Merge report
44+
shell: bash
45+
env:
46+
NODE_WPT_REPORT: ${{ inputs.wpt-report }}
47+
UNDICI_WPT_REPORT: ${{ github.workspace }}/undici/wptreport.json
48+
run: |
49+
if [ -f "$UNDICI_WPT_REPORT" ]; then
50+
jq -sc '
51+
.[0].results += .[1].results |
52+
.[0].time_end = .[1].time_end |
53+
.[0]
54+
' "$NODE_WPT_REPORT" "$UNDICI_WPT_REPORT" > "${NODE_WPT_REPORT}.tmp"
55+
mv "${NODE_WPT_REPORT}.tmp" "$NODE_WPT_REPORT"
56+
fi
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Run undici WPT (legacy)
2+
description: Runs undici WPT tests for undici < 7 and appends results to the Node.js WPT report
3+
4+
inputs:
5+
undici-version:
6+
required: true
7+
description: undici version tag to checkout
8+
wpt-report:
9+
required: true
10+
description: Path to the Node.js WPT report
11+
12+
runs:
13+
using: composite
14+
steps:
15+
- name: Checkout undici
16+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
17+
with:
18+
repository: nodejs/undici
19+
persist-credentials: false
20+
path: undici
21+
clean: false
22+
ref: ${{ inputs.undici-version }}
23+
- name: Prepare WPT checkout
24+
shell: bash
25+
run: |
26+
rm -rf undici/test/wpt/tests
27+
mv test/fixtures/wpt undici/test/wpt/tests
28+
- name: Install dependencies
29+
shell: bash
30+
working-directory: undici
31+
run: npm install
32+
- name: Run WPT
33+
shell: bash
34+
working-directory: undici
35+
env:
36+
WPT_REPORT: ${{ inputs.wpt-report }}
37+
run: npm run test:wpt || true

β€Ž.github/dependabot.ymlβ€Ž

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ updates:
5252
semver-major-days: 5
5353
semver-minor-days: 5
5454
semver-patch-days: 5
55+
exclude:
56+
- '@node-core/doc-kit'
5557
commit-message:
5658
prefix: tools
5759
open-pull-requests-limit: 10

β€Ž.github/workflows/auto-start-ci.ymlβ€Ž

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ jobs:
2828
- name: Get Pull Requests
2929
id: get_prs_for_ci
3030
run: >
31-
numbers=$(gh pr list \
32-
--repo ${{ github.repository }} \
31+
echo "numbers=$(gh pr list \
32+
--repo "$GITHUB_REPOSITORY" \
3333
--label 'request-ci' \
3434
--json 'number' \
35+
--search 'review:approved' \
3536
-t '{{ range . }}{{ .number }} {{ end }}' \
36-
--limit 5)
37-
echo "numbers=$numbers" >> $GITHUB_OUTPUT
37+
--limit 5)" >> "$GITHUB_OUTPUT"
3838
env:
3939
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4040
start-ci:
@@ -46,7 +46,7 @@ jobs:
4646
runs-on: ubuntu-slim
4747
steps:
4848
- name: Install Node.js
49-
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
49+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
5050
with:
5151
node-version: ${{ env.NODE_VERSION }}
5252

β€Ž.github/workflows/build-tarball.ymlβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
export COMMIT=$(git rev-parse --short=10 "$GITHUB_SHA")
9292
./configure && make tar -j4 SKIP_XZ=1
9393
- name: Upload tarball artifact
94-
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
94+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
9595
with:
9696
name: tarballs
9797
path: '*.tar.gz'
@@ -127,7 +127,7 @@ jobs:
127127
- name: Environment Information
128128
run: npx envinfo
129129
- name: Download tarball
130-
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
130+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
131131
with:
132132
name: tarballs
133133
path: tarballs

β€Ž.github/workflows/close-stale-feature-requests.ymlβ€Ž

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

β€Ž.github/workflows/close-stale-pull-requests.ymlβ€Ž

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

0 commit comments

Comments
Β (0)