mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-07-14 11:05:52 +02:00
If one of our dependencies changes it can have an effect on all tests we have, for instance via the test runner, bundler or coverage collector. This commit therefore updates all workflows that work with a file-based allowlist to also trigger on `package-lock.json` changes so that we have more certainty that any unintended effects of dependency updates can't go by unnoticed, and thus improve stability.
102 lines
2.8 KiB
YAML
102 lines
2.8 KiB
YAML
name: Coverage (Browser tests)
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'gulpfile.mjs'
|
|
- 'external/**'
|
|
- 'package-lock.json'
|
|
- 'src/**'
|
|
- 'test/images/**'
|
|
- 'test/pdfs/**'
|
|
- 'test/resources/**'
|
|
- 'test/*.css'
|
|
- 'test/driver.js'
|
|
- 'test/test.mjs'
|
|
- 'test/test_manifest.json'
|
|
- 'test/test_slave.html'
|
|
- 'web/**'
|
|
- '.github/workflows/coverage_browser_tests.yml'
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths:
|
|
- 'gulpfile.mjs'
|
|
- 'external/**'
|
|
- 'package-lock.json'
|
|
- 'src/**'
|
|
- 'test/images/**'
|
|
- 'test/pdfs/**'
|
|
- 'test/resources/**'
|
|
- 'test/*.css'
|
|
- 'test/driver.js'
|
|
- 'test/test.mjs'
|
|
- 'test/test_manifest.json'
|
|
- 'test/test_slave.html'
|
|
- 'web/**'
|
|
- '.github/workflows/coverage_browser_tests.yml'
|
|
branches:
|
|
- master
|
|
workflow_dispatch:
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test:
|
|
name: ${{ matrix.os }} / firefox
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
node-version: [lts/*]
|
|
os: [ubuntu-latest]
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
environment: code-coverage
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
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@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
with:
|
|
path: test/pdfs/*.pdf
|
|
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
|
restore-keys: |
|
|
cached-pdf-files-
|
|
enableCrossOsArchive: true
|
|
|
|
- name: Run browser tests with code coverage
|
|
run: npx gulp botbrowsertest --headless -j$(nproc) --coverage --coverage-output build/coverage/browser --noChrome
|
|
|
|
- name: Save cached PDF files
|
|
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
with:
|
|
path: test/pdfs/*.pdf
|
|
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
|
enableCrossOsArchive: true
|
|
|
|
- name: Upload results to Codecov
|
|
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
files: ./build/coverage/browser/lcov.info
|
|
flags: browsertest
|
|
name: codecov-umbrella
|
|
disable_search: true
|
|
disable_telem: true
|
|
verbose: true
|