| name: Test Linux |
| |
| on: |
| pull_request: |
| paths-ignore: |
| - .mailmap |
| - README.md |
| - vcbuild.bat |
| - 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 |
| - 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
| 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@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9 |
| with: |
| version: v0.12.0 |
| - name: Environment Information |
| run: npx envinfo |
| - name: Build |
| run: make -C node build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --v8-enable-temporal-support" |
| - name: Test |
| run: make -C node test-ci -j1 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9" |
| - 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?'åß∂ƒ©∆¬…` |