mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-05-31 15:21:00 +02:00
Note that we no longer create an empty file if the download fails because we don't want to leave traces of incorrect file contents on disk. This has never been particularly useful because it'd require a manual user action to remove the empty file to be able to retry in case of e.g. a timed out connection, but especially in the context of GitHub Actions where we cache the PDFs directory we don't want to cache invalid files to make sure that a next run will automatically retry to fetch any previously missed PDF files and update the cache.
73 lines
1.8 KiB
YAML
73 lines
1.8 KiB
YAML
name: Unit tests
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'gulpfile.mjs'
|
|
- 'src/**'
|
|
- 'test/test.mjs'
|
|
- 'test/unit/**'
|
|
- 'web/**'
|
|
- '.github/workflows/unit_tests.yml'
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths:
|
|
- 'gulpfile.mjs'
|
|
- 'src/**'
|
|
- 'test/test.mjs'
|
|
- 'test/unit/**'
|
|
- 'web/**'
|
|
- '.github/workflows/unit_tests.yml'
|
|
branches:
|
|
- master
|
|
workflow_dispatch:
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test:
|
|
name: Test
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
node-version: [lts/*]
|
|
os: [windows-latest, ubuntu-latest]
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
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: 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 unit tests
|
|
run: npx gulp unittest --headless
|
|
|
|
- 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
|