Fix VRT "Failed to launch" failure and other key unstable VRTs #13167
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: Visual Regression Testing | |
on: | |
# TODO: debug: remove: Allow manual dispatch for debugging. | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- main | |
- develop | |
- 'feature/**' | |
# Only run if CSS/JS related files changed. | |
paths: | |
- '.github/workflows/visual-regression.yml' | |
- 'assets/**' | |
- '!assets/**/__tests__/**/*.js' | |
- '!assets/**/test/*.js' | |
- '!assets/**/*.test.js' | |
- '**.stories.js' | |
- 'tests/backstop/**' | |
- '.storybook/**' | |
- '**.scss' | |
- '.nvmrc' | |
- '**/package.json' | |
- 'package-lock.json' | |
- 'src/tests/backstop/config.js' | |
- 'docker/backstopjs/Dockerfile' | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
concurrency: | |
group: visual-regression-${{ github.ref }} | |
# TODO: debug remove: allow multiple actions to run at the same time. | |
# cancel-in-progress: true | |
jobs: | |
visual-regression: | |
name: Run VR Tests | |
runs-on: ubuntu-latest | |
# TODO: debug remove: no limit for testing. | |
# timeout-minutes: 30 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js (.nvmrc) | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'npm' | |
- name: npm install | |
run: npm ci | |
- name: Run Backstopjs | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
# TODO: debug remove: run 10 times to see if it ever fails. | |
- name: Run Backstopjs 2 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 3 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 4 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 5 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 6 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 7 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 8 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 9 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 10 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 11 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 12 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 13 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 14 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 15 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 16 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 17 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 18 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 19 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 20 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 21 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 22 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 23 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 24 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
- name: Run Backstopjs 25 | |
run: npm run test:visualtest | |
if: ${{ success() || failure() }} | |
# TODO: end debug | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: vrt-report | |
path: | | |
tests/backstop/html_report | |
tests/backstop/reference | |
tests/backstop/tests | |