name: Coverage Linux on: pull_request: types: [opened, synchronize, reopened] paths-ignore: - '**.md' - benchmark/** - doc/** - tools/** - unit-test/** - .github/** - '!.github/workflows/coverage-linux.yml' push: branches: - main paths-ignore: - '**.md' - benchmark/** - doc/** - tools/** - unit-test/** - .github/** - '!.github/workflows/coverage-linux.yml' env: PYTHON_VERSION: '3.11' NODE_VERSION: '22.x' permissions: contents: read jobs: coverage-linux: runs-on: ubuntu-latest steps: - name: Harden Runner uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1 with: egress-policy: audit - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ env.PYTHON_VERSION }} - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: ${{ env.NODE_VERSION }} - name: Environment Information run: npx envinfo - name: Install gcovr run: pip install gcovr==6.0 - name: Install dependencies run: npm install - name: Test with coverage run: | npm run create-coverage - name: Generate coverage report (XML) run: | npm run report-coverage-xml - name: Upload uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 with: directory: ./coverage-xml