Skip to content

Move DB into offscreen (on Chrome) to avoid lookup delays caused by service worker startup lag #458

Move DB into offscreen (on Chrome) to avoid lookup delays caused by service worker startup lag

Move DB into offscreen (on Chrome) to avoid lookup delays caused by service worker startup lag #458

Workflow file for this run

name: Playwright Tests
on:
push:
branches: [master]
pull_request:
permissions:
contents: read
jobs:
playwright:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- name: Remove all fonts
run: rm -rf /usr/share/fonts
- uses: actions/checkout@v4
- name: Install CJK fonts
uses: awalsh128/cache-apt-pkgs-action@44c33b32f808cdddd5ac0366d70595ed63661ed8 # v1.3.1
with:
packages: fonts-ipafont-mincho
execute_install_scripts: true
- uses: actions/setup-node@v4
with:
cache: "npm"
node-version-file: ".node-version"
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Cache playwright browsers
id: cache-playwright
uses: actions/cache@v3
with:
path: |
~/.cache/ms-playwright
key: cache-playwright-${{ hashFiles('package-lock.json') }} # playwright version is included in package-lock, so this serves as a reasonable cache key
- if: ${{ steps.cache-playwright.outputs.cache-hit != 'true' }}
name: Install Playwright Browsers
run: npx playwright install chromium
- name: Grab latest dictionaries from dictionaries branch
uses: actions/checkout@v4
with:
repository: themoeway/yomitan # so that this works on forks
ref: dictionaries
path: dictionaries
- name: Grab latest screenshots from master branch
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e # pin@v2
continue-on-error: true
id: master-screenshots
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
repo: themoeway/yomitan # so that this works on forks
name: playwright-screenshots
branch: master
workflow: playwright.yml
workflow_conclusion: success
path: test/playwright/__screenshots__/
- name: "[PR] Generate new screenshots & compare against master"
id: playwright
run: |
npx playwright test 2>&1 | tee ./playwright-output || true
continue-on-error: true
if: github.event_name == 'pull_request' && steps.master-screenshots.outcome != 'failure'
- name: "[Push] Generate new authoritative screenshots for master"
id: playwright-master
run: npx playwright test -u
if: github.event_name == 'push'
- uses: actions/upload-artifact@v3
with:
name: playwright-screenshots
path: test/playwright/__screenshots__/
- uses: actions/upload-artifact@v3
with:
name: playwright-report
path: playwright-report/
- name: "[PR] Store steps.master-screenshots.outcome in a file"
run: echo ${{ steps.master-screenshots.outcome }} > ./master-screenshots-outcome
if: github.event_name == 'pull_request'
- uses: actions/upload-artifact@v3
with:
name: master-screenshots-outcome
path: master-screenshots-outcome
if: github.event_name == 'pull_request'
- uses: actions/upload-artifact@v3
with:
name: playwright-output
path: playwright-output
if: github.event_name == 'pull_request'