Skip to content

Commit b9544b1

Browse files
authored
Merge branch 'main' into test-runner/feat/flaky-test-flag
2 parents 0df94ba + 5be0bd9 commit b9544b1

3,284 files changed

Lines changed: 561945 additions & 90945 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.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
2+
# Reference: https://github.com/nodejs/node/blob/main/BUILDING.md#windows
3+
properties:
4+
resources:
5+
- resource: Microsoft.WinGet.DSC/WinGetPackage
6+
id: pythonPackage
7+
directives:
8+
description: Install Python 3.14
9+
module: Microsoft.WinGet.DSC
10+
allowPrerelease: true
11+
settings:
12+
id: Python.Python.3.14
13+
source: winget
14+
- resource: Microsoft.WinGet.DSC/WinGetPackage
15+
id: vsPackage
16+
directives:
17+
description: Install Visual Studio 2022 Build Tools
18+
allowPrerelease: true
19+
settings:
20+
id: Microsoft.VisualStudio.2022.BuildTools
21+
source: winget
22+
useLatest: true
23+
- resource: Microsoft.VisualStudio.DSC/VSComponents
24+
id: vsComponents
25+
dependsOn:
26+
- vsPackage
27+
directives:
28+
description: Install required VS workloads and components
29+
allowPrerelease: true
30+
settings:
31+
productId: Microsoft.VisualStudio.Product.BuildTools
32+
channelId: VisualStudio.17.Release
33+
includeRecommended: true
34+
components:
35+
- Microsoft.VisualStudio.Workload.VCTools
36+
- Microsoft.VisualStudio.Component.VC.Llvm.Clang
37+
- Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset
38+
- resource: Microsoft.WinGet.DSC/WinGetPackage
39+
id: gitPackage
40+
directives:
41+
description: Install Git
42+
allowPrerelease: true
43+
settings:
44+
id: Git.Git
45+
source: winget
46+
- resource: Microsoft.WinGet.DSC/WinGetPackage
47+
id: nasmPackage
48+
directives:
49+
description: Install NetWide Assembler (NASM)
50+
allowPrerelease: true
51+
settings:
52+
id: Nasm.Nasm
53+
source: winget
54+
configurationVersion: 0.1.1

.github/CODEOWNERS

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
/onboarding.md @nodejs/tsc
2424

2525
# nodejs.org website
26-
/doc/api_assets @nodejs/nodejs-website
27-
/doc/template.html @nodejs/nodejs-website
2826
/tools/doc @nodejs/web-infra
2927

3028
# streams
@@ -85,6 +83,15 @@
8583
/src/node_http2* @nodejs/http2 @nodejs/net
8684
/src/node_mem* @nodejs/http2
8785

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+
8895
# modules, including loaders
8996

9097
/doc/api/esm.md @nodejs/loaders
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: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,20 @@ jobs:
2121
permissions:
2222
pull-requests: read
2323
if: github.repository == 'nodejs/node'
24-
runs-on: ubuntu-latest
24+
runs-on: ubuntu-slim
2525
outputs:
2626
numbers: ${{ steps.get_prs_for_ci.outputs.numbers }}
2727
steps:
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:
@@ -43,14 +43,10 @@ jobs:
4343
pull-requests: write
4444
needs: get-prs-for-ci
4545
if: needs.get-prs-for-ci.outputs.numbers != ''
46-
runs-on: ubuntu-latest
46+
runs-on: ubuntu-slim
4747
steps:
48-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
49-
with:
50-
persist-credentials: false
51-
5248
- name: Install Node.js
53-
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
49+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
5450
with:
5551
node-version: ${{ env.NODE_VERSION }}
5652

@@ -62,14 +58,17 @@ jobs:
6258
ncu-config set username "$USERNAME"
6359
ncu-config set token "$GH_TOKEN"
6460
ncu-config set jenkins_token "$JENKINS_TOKEN"
65-
ncu-config set owner "${{ github.repository_owner }}"
66-
ncu-config set repo "$(echo ${{ github.repository }} | cut -d/ -f2)"
61+
ncu-config set owner "$GITHUB_REPOSITORY_OWNER"
62+
ncu-config set repo "$(echo "$GITHUB_REPOSITORY" | cut -d/ -f2)"
6763
env:
6864
USERNAME: ${{ secrets.JENKINS_USER }}
6965
GH_TOKEN: ${{ secrets.GH_USER_TOKEN }}
7066
JENKINS_TOKEN: ${{ secrets.JENKINS_TOKEN }}
7167

7268
- name: Start the CI
73-
run: ./tools/actions/start-ci.sh ${{ needs.get-prs-for-ci.outputs.numbers }}
69+
run: |
70+
curl -fsSL "https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/start-ci.sh" \
71+
| sh -s -- ${{ needs.get-prs-for-ci.outputs.numbers }}
7472
env:
7573
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
74+
GH_REPO: ${{ github.repository }}

.github/workflows/build-tarball.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ on:
1818
- tsconfig.json
1919
- test/internet/**
2020
- tools/actions/**
21-
- tools/bootstrap/**
2221
- tools/dep_updaters/**
2322
- tools/doc/**
2423
- tools/eslint-rules/**
@@ -48,7 +47,6 @@ on:
4847
- tsconfig.json
4948
- test/internet/**
5049
- tools/actions/**
51-
- tools/bootstrap/**
5250
- tools/dep_updaters/**
5351
- tools/doc/**
5452
- tools/eslint-rules/**
@@ -74,7 +72,7 @@ permissions:
7472
jobs:
7573
build-tarball:
7674
if: github.event.pull_request.draft == false
77-
runs-on: ubuntu-24.04
75+
runs-on: ubuntu-slim
7876
steps:
7977
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
8078
with:
@@ -93,18 +91,18 @@ jobs:
9391
export COMMIT=$(git rev-parse --short=10 "$GITHUB_SHA")
9492
./configure && make tar -j4 SKIP_XZ=1
9593
- name: Upload tarball artifact
96-
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
94+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
9795
with:
9896
name: tarballs
9997
path: '*.tar.gz'
10098
compression-level: 0
10199
test-tarball-linux:
102100
needs: build-tarball
103-
runs-on: ubuntu-24.04
101+
runs-on: ubuntu-24.04-arm
104102
env:
105-
CC: sccache clang-19
106-
CXX: sccache clang++-19
107-
SCCACHE_GHA_ENABLED: 'true'
103+
CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang-19
104+
CXX: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang++-19
105+
SCCACHE_GHA_ENABLED: ${{ github.base_ref == 'main' || github.ref_name == 'main' }}
108106
SCCACHE_IDLE_TIMEOUT: '0'
109107
steps:
110108
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -122,13 +120,14 @@ jobs:
122120
python-version: ${{ env.PYTHON_VERSION }}
123121
allow-prereleases: true
124122
- name: Set up sccache
123+
if: github.base_ref == 'main' || github.ref_name == 'main'
125124
uses: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
126125
with:
127126
version: v0.12.0
128127
- name: Environment Information
129128
run: npx envinfo
130129
- name: Download tarball
131-
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
130+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
132131
with:
133132
name: tarballs
134133
path: tarballs

.github/workflows/close-stale-feature-requests.yml

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

0 commit comments

Comments
 (0)