- 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
- Print cache contents and Playwright CLI version for diagnostics
- Search for expected browser executables and force reinstall with --force if absent
- Add headless-launch verification via Node to fail fast with clear logs
- Add step to delete ~/.cache/ms-playwright before installing browsers
- Guarantees correct browser version for each run
- Prevents mismatched or missing browser binaries (chromium_headless_shell-1208, etc.)
- Should resolve browser not found errors for all browsers
- Removed restore-keys fallback from Playwright cache
- Only exact cache matches (same package-lock.json hash) are used
- This prevents restoring incompatible browser versions when Playwright updates
- Added cache-hit check to skip install when cache is valid
- Firefox and WebKit were failing because old cache was restored but browsers were incompatible
Job names now show: 'E2E chromium (Shard 1/4)' instead of 'E2E Tests (Shard 1/4)'
Makes it easier to identify which browser/shard is passing or failing
- Artifact names now include browser: playwright-report-{browser}-shard-{N}
- Docker logs include browser: docker-logs-{browser}-shard-{N}
- Install step always runs (idempotent) to ensure version match
- Fixed artifact name conflicts when 3 browsers share same shard number
- Updated summary and PR comment to reflect new naming
- Introduced a new wrapper function for query client to facilitate testing.
- Added comprehensive tests for upload, commit, and cancel operations.
- Improved error handling in tests to capture and assert error states.
- Enhanced session management and state reset functionality in tests.
- Implemented polling behavior tests for import status and preview queries.
- Ensured that upload previews are prioritized over status query previews.
- Validated cache invalidation and state management after commit and cancel actions.
The "Save Docker Image as Artifact" and "Upload Image Artifact" steps
were running even when skip_build=true, causing CI failures on Renovate
dependency update PRs.
Add skip_build check to artifact saving step condition
Add skip_build check to artifact upload step condition
Aligns artifact steps with existing build skip logic
Adds automated workflow that creates a PR from nightly → main every
Monday at 9:00 AM UTC for scheduled release promotion.
Features:
Pre-flight health check verifies critical workflows are passing
Skips PR creation if nightly has no new commits
Detects existing PRs and adds comments instead of duplicates
Labels PRs with 'automated' and 'weekly-promotion'
Creates GitHub issue on failure for visibility
Manual trigger via workflow_dispatch with reason input
NO auto-merge - requires human review and approval
This gives early-week visibility into nightly changes and prevents
Friday surprises from untested code reaching main.