2026-02-24, Version 25.7.0 (Current) #55552
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Coverage Linux | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| paths: | |
| - lib/**/*.js | |
| - Makefile | |
| - src/**/*.cc | |
| - src/**/*.h | |
| - test/** | |
| - tools/gyp/** | |
| - tools/test.py | |
| - .github/workflows/coverage-linux.yml | |
| - codecov.yml | |
| - .nycrc | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - lib/**/*.js | |
| - Makefile | |
| - src/**/*.cc | |
| - src/**/*.h | |
| - test/** | |
| - tools/gyp/** | |
| - tools/test.py | |
| - .github/workflows/coverage-linux.yml | |
| - codecov.yml | |
| - .nycrc | |
| 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' | |
| permissions: | |
| contents: read | |
| jobs: | |
| coverage-linux: | |
| if: github.event.pull_request.draft == false | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Install Clang ${{ env.CLANG_VERSION }} | |
| uses: ./.github/actions/install-clang | |
| with: | |
| clang-version: ${{ env.CLANG_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: Install gcovr | |
| run: pip install gcovr==7.2 | |
| - name: Configure | |
| run: ./configure --verbose --error-on-warn --coverage | |
| # TODO(bcoe): fix the couple tests that fail with the inspector enabled. | |
| # The cause is most likely coverage's use of the inspector. | |
| - name: Build and test | |
| run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --measure-flakiness 9" || exit 0 | |
| - name: Report JS | |
| run: npx c8 report --check-coverage | |
| env: | |
| NODE_OPTIONS: --max-old-space-size=8192 | |
| - name: Report C++ | |
| run: gcovr --object-directory=out -v --filter src --xml -o ./coverage/coverage-cxx.xml --root=./ --gcov-executable="llvm-cov-18 gcov" | |
| # Clean temporary output from gcov and c8, so that it's not uploaded: | |
| - name: Clean tmp | |
| run: rm -rf coverage/tmp && rm -rf out | |
| - name: Upload | |
| uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 | |
| with: | |
| directory: ./coverage |