name: Web E2E on: push: branches: [master] paths: - 'solitaire_server/web/**' - 'solitaire_server/src/**' - 'solitaire_server/e2e/**' - 'solitaire_wasm/**' - 'solitaire_core/**' - 'Cargo.toml' - 'Cargo.lock' - '.gitea/workflows/web-e2e.yml' workflow_dispatch: jobs: web-e2e: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' cache-dependency-path: solitaire_server/e2e/package-lock.json - name: Install e2e dependencies working-directory: solitaire_server/e2e run: npm ci - name: Install Playwright browser working-directory: solitaire_server/e2e run: npx playwright install --with-deps chromium - name: Run web e2e tests working-directory: solitaire_server/e2e run: npm test - name: Run cycle regression gate working-directory: solitaire_server/e2e run: npm run review:cycles:regression