Skip to content

Commit 05ab03b

Browse files
committed
build: add QUIC CI job for PRs matching QUIC related paths
This notable includes stream/iter (since they're closely related and rapidly evolving together) and ngtcp2, nghttp3 & openssl deps. Based on test-linux.yml, the main differences are simplifications: PRs only, filtered to specific paths, just one build (ARM only), no unusual characters test. Signed-off-by: Tim Perry <pimterry@gmail.com>
1 parent 144f795 commit 05ab03b

1 file changed

Lines changed: 82 additions & 0 deletions

File tree

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: Test Linux (with QUIC)
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
paths:
7+
- .github/workflows/test-linux-quic.yml
8+
- configure.py
9+
- node.gyp
10+
- node.gypi
11+
- deps/ngtcp2/**
12+
- deps/nghttp3/**
13+
- deps/openssl/**
14+
- src/quic/**
15+
- src/node_bob*
16+
- lib/quic.js
17+
- lib/http3.js
18+
- lib/internal/quic/**
19+
- lib/stream/iter.js
20+
- lib/internal/streams/iter/**
21+
- test/cctest/test_quic_*
22+
- test/common/quic*
23+
- test/common/quic/**
24+
- test/parallel/*quic*
25+
- test/parallel/test-stream-iter-*
26+
types: [opened, synchronize, reopened, ready_for_review]
27+
28+
concurrency:
29+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
30+
cancel-in-progress: true
31+
32+
env:
33+
PYTHON_VERSION: '3.14'
34+
FLAKY_TESTS: keep_retrying
35+
CLANG_VERSION: '19'
36+
CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang-19
37+
CXX: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang++-19
38+
SCCACHE_GHA_ENABLED: ${{ github.base_ref == 'main' || github.ref_name == 'main' }}
39+
SCCACHE_IDLE_TIMEOUT: '0'
40+
RUSTC_VERSION: '1.82'
41+
42+
permissions:
43+
contents: read
44+
45+
jobs:
46+
test-quic:
47+
if: github.event.pull_request.draft == false
48+
runs-on: ubuntu-24.04-arm
49+
steps:
50+
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
51+
with:
52+
persist-credentials: false
53+
path: node
54+
- name: Install Clang ${{ env.CLANG_VERSION }}
55+
uses: ./node/.github/actions/install-clang
56+
with:
57+
clang-version: ${{ env.CLANG_VERSION }}
58+
- name: Install Rust ${{ env.RUSTC_VERSION }}
59+
run: |
60+
rustup override set "$RUSTC_VERSION"
61+
rustup --version
62+
- name: Set up Python ${{ env.PYTHON_VERSION }}
63+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
64+
with:
65+
python-version: ${{ env.PYTHON_VERSION }}
66+
allow-prereleases: true
67+
- name: Set up sccache
68+
if: github.base_ref == 'main' || github.ref_name == 'main'
69+
uses: Mozilla-Actions/sccache-action@9e7fa8a12102821edf02ca5dbea1acd0f89a2696 # v0.0.10
70+
with:
71+
version: v0.12.0
72+
- name: Environment Information
73+
run: npx envinfo
74+
- name: Build
75+
working-directory: node
76+
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --v8-enable-temporal-support --experimental-quic"
77+
- name: Test
78+
working-directory: node
79+
run: make test-ci -j1 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
80+
- name: Ensure running tests did not cause any change in the tree
81+
working-directory: node
82+
run: git add -A && git diff --name-only --exit-code --staged

0 commit comments

Comments
 (0)