| 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@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 |
| with: |
| egress-policy: audit |
| |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
| with: |
| persist-credentials: false |
| - name: Set up Python ${{ env.PYTHON_VERSION }} |
| uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 |
| with: |
| python-version: ${{ env.PYTHON_VERSION }} |
| - name: Use Node.js ${{ env.NODE_VERSION }} |
| uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 |
| with: |
| directory: ./coverage-xml |