name: Visual Regression on: pull_request: branches: [main] paths: - "apps/web/**" - ".github/workflows/visual-regression.yml" env: GIT_SSL_NO_VERIFY: "true" NODE_TLS_REJECT_UNAUTHORIZED: "0" jobs: visual-regression: name: Lost Pixel visual regression runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Set up Node uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: "20" cache: "npm" - name: Install dependencies run: npm ci working-directory: apps/web - name: Build Storybook run: npm run build-storybook working-directory: apps/web env: VITE_API_URL: /api/v1 VITE_USE_MSW: "true" VITE_STORYBOOK: "true" - name: Run Lost Pixel id: lostpixel run: npx lost-pixel working-directory: apps/web - name: Upload diff artifacts if: failure() && steps.lostpixel.outcome == 'failure' uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: lost-pixel-diff path: | apps/web/.lostpixel/current/ apps/web/.lostpixel/difference/ retention-days: 7