Commit Graph

62 Commits

Author SHA1 Message Date
GitHub Actions
b94a40f54a fix(ci): adjust GeoIP database download and Playwright dependencies for CI stability 2026-02-04 18:46:09 +00:00
GitHub Actions
707c34b4d6 fix(ci): improve Playwright installation steps by removing redundant system dependency installs and enhancing exit code handling 2026-02-04 17:43:49 +00:00
GitHub Actions
1b66257868 fix(ci): enhance Playwright installation steps with system dependencies and cache checks 2026-02-04 17:27:35 +00:00
GitHub Actions
6e3fcf7824 fix: simplify Playwright browser installation steps
Remove overly complex verification logic that was causing all browser
jobs to fail. Browser installation should fail fast and clearly if
there are issues.

Changes:
- Remove multi-line verification scripts from all 3 browser install steps
- Simplify to single command: npx playwright install --with-deps {browser}
- Let install step show actual errors if it fails
- Let test execution show "browser not found" errors if install incomplete

Rationale:
- Previous complex verification (using grep/find) was the failure point
- Simpler approach provides clearer error messages for debugging
- Tests themselves will fail clearly if browsers aren't available

Expected outcome:
- Install steps show actual error messages if they fail
- If install succeeds, tests execute normally
- If install "succeeds" but browser is missing, test step shows clear error

Timeout remains at 45 minutes (accommodates 10-15 min install + execution)
2026-02-04 17:08:30 +00:00
GitHub Actions
3c0b9fa2b1 fix: resolve Playwright browser executable not found errors in CI
Root causes:
1. Browser cache was restoring corrupted/stale binaries from previous runs
2. 30-minute timeout insufficient for fresh Playwright installation (10-15 min)
   plus Docker/health checks and test execution

Changes:
- Remove browser caching from all 3 browser jobs (chromium, firefox, webkit)
- Increase timeout from 30 → 45 minutes for all jobs
- Add diagnostic logging to browser install steps:
  * Install start/completion timestamps
  * Exit code verification
  * Cache directory inspection on failure
  * Browser executable verification using 'npx playwright test --list'

Benefits:
- Fresh browser installations guaranteed (no cache pollution)
- 15-minute buffer prevents premature timeouts
- Detailed diagnostics to catch future installation issues early
- Consistent behavior across all browsers

Technical notes:
- Browser install with --with-deps takes 10-15 minutes per browser
- GitHub Actions cache was causing more harm than benefit (stale binaries)
- Sequential execution (1 shard per browser) combined with fresh installs
  ensures stable, reproducible CI behavior

Expected outcome:
- Firefox/WebKit failures from missing browser executables → resolved
- Chrome timeout at 30 minutes → resolved with 45 minute buffer
- Future installation issues → caught immediately via diagnostics

Refs: #hofix/ci
QA: YAML syntax validated, pre-commit hooks passed (12/12)
2026-02-04 16:44:47 +00:00
GitHub Actions
e6c2f46475 fix(e2e): update E2E tests workflow to sequential execution and fix race conditions
- Changed workflow name to reflect sequential execution for stability.
- Reduced test sharding from 4 to 1 per browser, resulting in 3 total jobs.
- Updated job summaries and documentation to clarify execution model.
- Added new documentation file for E2E CI failure diagnosis.
- Adjusted job summary tables to reflect changes in shard counts and execution type.
2026-02-04 16:08:11 +00:00
GitHub Actions
7bb88204d2 fix(ci): remove redundant Playwright browser cache cleanup from workflows 2026-02-04 14:42:17 +00:00
renovate[bot]
6d746385c3 chore(deps): update actions/checkout digest to de0fac2 2026-02-03 17:20:33 +00:00
GitHub Actions
07e8261ecb chore(e2e): update concurrency settings to prevent cancellation of in-progress E2E tests 2026-02-03 04:18:37 +00:00
GitHub Actions
3ecc4015a6 refactor(workflows): simplify E2E Tests workflow name by removing 'Split Browsers' suffix 2026-02-03 00:56:00 +00:00
GitHub Actions
d6cbc407fd fix(e2e): update Docker build-push-action version in E2E tests workflow 2026-02-03 00:06:01 +00:00
GitHub Actions
641588367b chore(diagnostics): Add comprehensive diagnostic tools for E2E testing
- Create phase1_diagnostics.md to document findings from test interruptions
- Introduce phase1_validation_checklist.md for pre-deployment validation
- Implement diagnostic-helpers.ts for enhanced logging and state capture
- Enable browser console logging, error tracking, and dialog lifecycle monitoring
- Establish performance monitoring for test execution times
- Document actionable recommendations for Phase 2 remediation
2026-02-03 00:02:45 +00:00