mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-05-31 07:11:00 +02:00
Originally we introduced a separate `coverage.yml` workflow to test-drive coverage collection without immediately introducing it inline in the `ci.yml` workflow. However, now that coverage collection works nicely and is performant enough we can simplify the workflow definitions by removing `coverage.yml` entirely in favor of simply inlining coverage collection into the existing `unittestcli` run in `ci.yml`. Doing so also avoids having to a full extra `unittestcli` run just to collect coverage information. Moreover, this commit aligns coverage collection flags with the ones in the other workflows to be more explicit and consistent.
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
name: CI
|
|
on: [push, pull_request]
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test:
|
|
name: Test
|
|
runs-on: ubuntu-latest
|
|
environment: code-coverage
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
node-version: [22, 24, 25]
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
cache: 'npm'
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Restore cached PDF files
|
|
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
with:
|
|
path: test/pdfs/*.pdf
|
|
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
|
restore-keys: |
|
|
cached-pdf-files-
|
|
enableCrossOsArchive: true
|
|
|
|
- name: Run external tests
|
|
run: npx gulp externaltest
|
|
|
|
- name: Run CLI unit tests with code coverage
|
|
run: npx gulp unittestcli --coverage --coverage-output build/coverage/unitcli
|
|
|
|
- name: Save cached PDF files
|
|
uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
with:
|
|
path: test/pdfs/*.pdf
|
|
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
|
enableCrossOsArchive: true
|
|
|
|
- name: Upload results to Codecov
|
|
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
files: ./build/coverage/unitcli/lcov.info
|
|
flags: unittestcli
|
|
name: codecov-umbrella
|
|
verbose: true
|