48 lines
1.5 KiB
YAML
48 lines
1.5 KiB
YAML
name: Viewer.js vendor and compatibility
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [main]
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
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'
|
|
cache: npm
|
|
cache-dependency-path: tools/vendor/package-lock.json
|
|
- run: npm ci --prefix tools/vendor --ignore-scripts
|
|
- run: npm run --prefix tools/vendor check
|
|
- run: npm run --prefix tools/vendor test
|
|
- 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
|