Currently they all run `npx envinfo` without pinning the version. This can be a supply-chain risk. Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: https://github.com/nodejs/node/pull/64117 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
100 lines
3.2 KiB
YAML
100 lines
3.2 KiB
YAML
name: Test Linux
|
|
|
|
on:
|
|
pull_request:
|
|
paths-ignore:
|
|
- .mailmap
|
|
- README.md
|
|
- vcbuild.bat
|
|
- tools/actions/**
|
|
- tools/clang-format/**
|
|
- tools/dep_updaters/**
|
|
- test/internet/**
|
|
- '**.nix'
|
|
- .github/**
|
|
- '!.github/workflows/test-linux.yml'
|
|
types: [opened, synchronize, reopened, ready_for_review]
|
|
push:
|
|
branches:
|
|
- main
|
|
- canary
|
|
- v[0-9]+.x-staging
|
|
- v[0-9]+.x
|
|
paths-ignore:
|
|
- .mailmap
|
|
- README.md
|
|
- vcbuild.bat
|
|
- tools/actions/**
|
|
- tools/clang-format/**
|
|
- tools/dep_updaters/**
|
|
- test/internet/**
|
|
- '**.nix'
|
|
- .github/**
|
|
- '!.github/workflows/test-linux.yml'
|
|
|
|
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-linux:
|
|
if: github.event.pull_request.draft == false
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-24.04, 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.16.0
|
|
- name: Environment Information
|
|
run: npx envinfo@7.21.0
|
|
- name: Build
|
|
working-directory: node
|
|
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --v8-enable-temporal-support"
|
|
- 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
|
|
- name: Re-run test in a folder whose name contains unusual chars
|
|
run: |
|
|
mv node "$DIR"
|
|
cd "$DIR"
|
|
./tools/test.py --flaky-tests keep_retrying -p actions -j 4
|
|
env:
|
|
DIR: dir%20with $unusual"chars?'åß∂ƒ©∆¬…`
|