Skip to content

build: add QUIC CI job for PRs matching QUIC related paths #1

build: add QUIC CI job for PRs matching QUIC related paths

build: add QUIC CI job for PRs matching QUIC related paths #1

Workflow file for this run

name: Test Linux (with QUIC)
on:
workflow_dispatch:
pull_request:
paths:
- .github/workflows/test-linux-quic.yml
- configure.py
- node.gyp
- node.gypi
- deps/ngtcp2/**
- deps/nghttp3/**
- deps/openssl/**
- src/quic/**
- src/node_bob*
- lib/quic.js
- lib/http3.js
- lib/internal/quic/**
- lib/stream/iter.js
- lib/internal/streams/iter/**
- test/cctest/test_quic_*
- test/common/quic*
- test/common/quic/**
- test/parallel/*quic*
- test/parallel/test-stream-iter-*
types: [opened, synchronize, reopened, ready_for_review]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
PYTHON_VERSION: '3.14'
FLAKY_TESTS: keep_retrying
CLANG_VERSION: '19'
CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang-19
CXX: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang++-19
SCCACHE_GHA_ENABLED: ${{ github.base_ref == 'main' || github.ref_name == 'main' }}
SCCACHE_IDLE_TIMEOUT: '0'
RUSTC_VERSION: '1.82'
permissions:
contents: read
jobs:
test-quic:
if: github.event.pull_request.draft == false
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
path: node
- name: Install Clang ${{ env.CLANG_VERSION }}
uses: ./node/.github/actions/install-clang
with:
clang-version: ${{ env.CLANG_VERSION }}
- name: Install Rust ${{ env.RUSTC_VERSION }}
run: |
rustup override set "$RUSTC_VERSION"
rustup --version
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ env.PYTHON_VERSION }}
allow-prereleases: true
- name: Set up sccache
if: github.base_ref == 'main' || github.ref_name == 'main'
uses: Mozilla-Actions/sccache-action@9e7fa8a12102821edf02ca5dbea1acd0f89a2696 # v0.0.10
with:
version: v0.12.0
- name: Environment Information
run: npx envinfo
- name: Build
working-directory: node
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --v8-enable-temporal-support --experimental-quic"
- name: Test
working-directory: node
run: make test-ci -j1 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
- name: Ensure running tests did not cause any change in the tree
working-directory: node
run: git add -A && git diff --name-only --exit-code --staged