Skip to content

Revert "fix(web): drop trailing slashes from public URLs (#177)" #134

Revert "fix(web): drop trailing slashes from public URLs (#177)"

Revert "fix(web): drop trailing slashes from public URLs (#177)" #134

name: Critical User Flow Monitoring
on:
pull_request:
push:
branches: [main]
schedule:
- cron: "0 9 * * 1"
workflow_dispatch:
concurrency:
group: critical-user-flows-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
monitor:
name: Playwright monitoring
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
timeout-minutes: 30
env:
CRITICAL_FLOW_TESTING: "1"
NEXT_PUBLIC_DEFAULT_SITE_URL: http://127.0.0.1:3000
NEXT_PUBLIC_SANITY_DATASET: production
NEXT_PUBLIC_SANITY_PROJECT_ID: w2rl2099
PLAYWRIGHT_BASE_URL: http://127.0.0.1:3000
PLAYWRIGHT_WEB_SERVER_COMMAND: pnpm start --hostname 127.0.0.1
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
with:
version: 10.11.0
- name: Use Node.js 22
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 22
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Test form route integrations and unit contracts
run: pnpm test
- name: Build production application
run: pnpm build
- name: Install Playwright browsers
run: pnpm exec playwright install --with-deps chromium webkit
- name: Monitor critical user outcomes
run: pnpm test:critical
- name: Upload Playwright diagnostics
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: critical-user-flow-report-${{ github.run_attempt }}
path: |
playwright-report
test-results/critical-flows
if-no-files-found: ignore
retention-days: 14