feat(ci): Add explicit timeout enforcement (Phase 2)

Resource Constraint Management:

Problem:
- Tests hanging indefinitely during execution in CI
- 2-core runners resource-constrained vs local dev machines
- No timeout enforcement allows tests to run forever

Changes:
1. playwright.config.js:
   - Reduced per-test timeout: 90s → 60s (CI only)
   - Comment clarifies CI resource constraints
   - Local dev keeps 90s for debugging

2. .github/workflows/e2e-tests-split.yml:
   - Added timeout-minutes: 15 to all test steps
   - Ensures CI fails explicitly after 15 minutes
   - Prevents workflow hanging until 6-hour GitHub limit

Expected Outcome:
- Tests fail fast with timeout error instead of hanging
- Clearer debugging: timeout vs hang vs test failure
- CI resources freed up faster for other jobs

Phase: 2 of 3 (Resource Constraints)
See: docs/plans/ci_hang_remediation.md
This commit is contained in:
GitHub Actions
2026-02-04 20:26:17 +00:00
parent eb917a82e6
commit ff1bb06f60
2 changed files with 8 additions and 3 deletions

View File

@@ -213,6 +213,7 @@ jobs:
exit $EXIT_CODE
- name: Run Chromium tests (Shard ${{ matrix.shard }}/${{ matrix.total-shards }})
timeout-minutes: 15
run: |
echo "════════════════════════════════════════════"
echo "Chromium E2E Tests - Shard ${{ matrix.shard }}/${{ matrix.total-shards }}"
@@ -386,6 +387,7 @@ jobs:
exit $EXIT_CODE
- name: Run Firefox tests (Shard ${{ matrix.shard }}/${{ matrix.total-shards }})
timeout-minutes: 15
run: |
echo "════════════════════════════════════════════"
echo "Firefox E2E Tests - Shard ${{ matrix.shard }}/${{ matrix.total-shards }}"
@@ -559,6 +561,7 @@ jobs:
exit $EXIT_CODE
- name: Run WebKit tests (Shard ${{ matrix.shard }}/${{ matrix.total-shards }})
timeout-minutes: 15
run: |
echo "════════════════════════════════════════════"
echo "WebKit E2E Tests - Shard ${{ matrix.shard }}/${{ matrix.total-shards }}"