name: Production Browser Regression on: workflow_dispatch: push: branches: [main] paths: - '.github/workflows/production-browser-regression.yml' - 'scripts/testing/production-browser-regression.js' permissions: contents: read concurrency: group: production-browser-regression cancel-in-progress: true jobs: production-browser: runs-on: ubuntu-latest timeout-minutes: 45 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: 22 cache: npm - name: Install dependencies run: npm ci - name: Install Chromium run: npx playwright install --with-deps chromium - name: Test deployed production routes at four viewport sizes run: node scripts/testing/production-browser-regression.js - name: Upload production regression report if: always() uses: actions/upload-artifact@v4 with: name: production-browser-regression path: artifacts/production-browser-regression/ if-no-files-found: warn retention-days: 14