Skip to content

Debug VRT "Failed to launch" failure #13170

Debug VRT "Failed to launch" failure

Debug VRT "Failed to launch" failure #13170

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