Bump ad-m/github-push-action from 9a2e3c14aaecf56d5816dc3a54514f82050820b2 to 29f05e01bb17e6f28228b47437e03a7b69e1f9ef #273
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v3 | |
- name: Install CJK fonts | |
uses: awalsh128/cache-apt-pkgs-action@1850ee53f6e706525805321a3f2f863dcf73c962 # v1.3.0 | |
with: | |
packages: fonts-ipafont-mincho | |
execute_install_scripts: true | |
- uses: actions/setup-node@v3 | |
with: | |
cache: "npm" | |
node-version-file: ".node-version" | |
- name: Install dependencies | |
run: npm ci | |
- 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@v3 | |
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@246dbf436b23d7c49e21a7ab8204ca9ecd1fe615 # 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' |