mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-05-31 23:31:02 +02:00
This commit mirrors the approach from e656b833 to the other workflows that run multiple OS/browser combinations. This approach has multiple advantages: - it improves performance because each job is run in its own environment so we don't have two browsers competing for resources in the same environment anymore; - it improves monitoring because each job is shown separately, with its own runtime, in e.g. the pull request checks and actions overviews, which makes it easier to spot bottlenecks that are specific to a certain OS/browser combination and enable follow-up optimizations.
82 lines
2.2 KiB
YAML
82 lines
2.2 KiB
YAML
name: Font tests
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'gulpfile.mjs'
|
|
- 'src/**'
|
|
- 'test/test.mjs'
|
|
- 'test/font/**'
|
|
- '.github/workflows/font_tests.yml'
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths:
|
|
- 'gulpfile.mjs'
|
|
- '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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
cache: 'npm'
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Use Python 3.14
|
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.0.2
|
|
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@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
files: ./build/coverage/font/lcov.info
|
|
flags: fonttest
|
|
name: codecov-umbrella
|
|
verbose: true
|