test: exercise real page workflows and enforce frontend coverage
This commit is contained in:
@@ -2,22 +2,9 @@ name: Viewer.js vendor and compatibility
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'tools/vendor/**'
|
||||
- 'tests/vendor/**'
|
||||
- 'tests/js/**'
|
||||
- 'web/js/**'
|
||||
- 'web/lib/**'
|
||||
- '.github/workflows/viewerjs-*.yml'
|
||||
branches: [main]
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- 'tools/vendor/**'
|
||||
- 'tests/vendor/**'
|
||||
- 'tests/js/**'
|
||||
- 'web/js/**'
|
||||
- 'web/lib/**'
|
||||
- '.github/workflows/viewerjs-*.yml'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
@@ -26,8 +13,15 @@ permissions:
|
||||
jobs:
|
||||
viewerjs:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.12'
|
||||
cache: pip
|
||||
cache-dependency-path: requirements-dev.txt
|
||||
- run: python -m pip install -r requirements-dev.txt
|
||||
- uses: actions/setup-node@v7
|
||||
with:
|
||||
node-version: '24'
|
||||
@@ -36,6 +30,18 @@ jobs:
|
||||
- run: npm ci --prefix tools/vendor --ignore-scripts
|
||||
- run: npm run --prefix tools/vendor check
|
||||
- run: npm run --prefix tools/vendor test
|
||||
- run: node --test tests/js/*.test.js
|
||||
- run: npx --prefix tools/vendor playwright install --with-deps chromium
|
||||
- run: npm run --prefix tools/vendor test:browser
|
||||
- run: npx --prefix tools/vendor playwright install --with-deps chromium firefox webkit
|
||||
- name: Frontend unit, viewer, workflow, and coverage checks
|
||||
run: npm run --prefix tools/vendor test:coverage
|
||||
- name: Firefox and WebKit page workflows
|
||||
run: npm run --prefix tools/vendor test:workflows -- --project firefox --project webkit
|
||||
- name: Upload browser traces and frontend coverage
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: frontend-test-reports
|
||||
path: |
|
||||
tools/vendor/test-results/
|
||||
coverage/js/
|
||||
!coverage/js/raw/**
|
||||
retention-days: 14
|
||||
|
||||
Reference in New Issue
Block a user