mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-07-14 19:15:47 +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.
88 lines
2.3 KiB
YAML
88 lines
2.3 KiB
YAML
name: Font tests
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'gulpfile.mjs'
|
|
- 'external/**'
|
|
- 'package-lock.json'
|
|
- 'src/**'
|
|
- 'test/test.mjs'
|
|
- 'test/font/**'
|
|
- '.github/workflows/font_tests.yml'
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths:
|
|
- 'gulpfile.mjs'
|
|
- 'external/**'
|
|
- 'package-lock.json'
|
|
- 'src/**'
|
|
- 'test/test.mjs'
|
|
- 'test/font/**'
|
|
- '.github/workflows/font_tests.yml'
|
|
branches:
|
|
- master
|
|
workflow_dispatch:
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test:
|
|
name: ${{ matrix.os }} / ${{ matrix.browser }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
node-version: [lts/*]
|
|
os: [windows-latest, ubuntu-latest]
|
|
browser: [firefox, chrome]
|
|
include:
|
|
- browser: firefox
|
|
skip: --noChrome
|
|
- browser: chrome
|
|
skip: --noFirefox
|
|
|
|
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: Use Python 3.14
|
|
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
|
|
with:
|
|
python-version: '3.14'
|
|
cache: 'pip'
|
|
cache-dependency-path: '.github/font_tests_requirements.txt'
|
|
|
|
- name: Install requirements
|
|
run: pip install -r .github/font_tests_requirements.txt
|
|
|
|
- name: Run font tests with code coverage
|
|
run: npx gulp fonttest --headless --coverage --coverage-output build/coverage/font ${{ matrix.skip }}
|
|
|
|
- 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/font/lcov.info
|
|
flags: fonttest
|
|
name: codecov-umbrella
|
|
disable_search: true
|
|
disable_telem: true
|
|
verbose: true
|