Commit Graph

2751 Commits

Author SHA1 Message Date
GitHub Actions 17fc9a2599 fix(ci): add storage state size logging to diagnose potential OOM issues in CI 2026-02-04 22:49:44 +00:00
GitHub Actions 0262f7c79d fix(ci): implement preflight setup to ensure storage state exists in CI environments 2026-02-04 22:48:24 +00:00
GitHub Actions 9187d19a60 fix(ci): replace playwright-coverage imports with local test fixture 2026-02-04 22:27:46 +00:00
GitHub Actions f885096ab4 fix(ci): simplify Chromium, Firefox, and WebKit test job names and remove shard references 2026-02-04 21:48:28 +00:00
GitHub Actions 292ca5d170 fix(ci): enhance Playwright debug output for better browser launch diagnostics 2026-02-04 21:43:24 +00:00
Jeremy b2135f0cff Merge pull request #661 from Wikid82/renovate/feature/beta-release-weekly-non-major-updates
fix(deps): update weekly-non-major-updates (feature/beta-release)
2026-02-04 16:32:07 -05:00
renovate[bot] db3d730ed1 fix(deps): update weekly-non-major-updates 2026-02-04 21:26:31 +00:00
Jeremy 0fd2b0bee0 Merge branch 'main' into hotfix/ci 2026-02-04 16:18:49 -05:00
GitHub Actions 89dc5650e1 debug(ci): Add Playwright verbose output and reduce job timeout
Investigation Phase:

Problem:
- Tests hang AFTER global setup completes
- No test execution begins (hung before first test)
- Step timeout (15min) doesn't trigger properly
- Job timeout (45min) eventually kills process after 44min

Changes:
1. Added DEBUG=pw:api to all browser jobs
   - Will show exact Playwright API calls
   - Pinpoint where execution hangs (auth setup vs browser launch vs test init)

2. Reduced job timeout: 45min → 20min
   - Fail faster when tests hang
   - Reduces wasted CI resources
   - Still allows normal test execution (local: 1.2min)

Expected Outcome:
- Verbose logs reveal hang location
- Faster feedback loop (20min vs 44min)
- Can identify if issue is:
  * auth.setup.ts hanging
  * Browser process not launching
  * Connection issues to application

Next Steps Based on Logs:
- If browser launch hangs: Add dumb-init (Phase 3)
- If auth setup hangs: Investigate cookie/storage state
- If network hangs: Add localhost loopback routing

Phase: 2.5 of 3 (Diagnostic Logging)
See: docs/plans/ci_hang_remediation.md
2026-02-04 21:11:13 +00:00
GitHub Actions ff1bb06f60 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
2026-02-04 20:26:17 +00:00
Jeremy 30e90a18c9 Merge pull request #659 from Wikid82/hotfix/ci
fix(ci): update health check URL from localhost to 127.0.0.1 for consistency
v0.18.13
2026-02-04 15:08:24 -05:00
GitHub Actions eb917a82e6 fix(ci): update health check URL from localhost to 127.0.0.1 for consistency
- workflow explicitly set PLAYWRIGHT_BASE_URL: http://localhost:8080 which overrides all the 127.0.0.1 defaults
2026-02-04 20:06:15 +00:00
Jeremy 9b025edecd Merge pull request #658 from Wikid82/hotfix/ci
fix(ci): update comments for clarity on E2E tests workflow changes
v0.18.12
2026-02-04 14:47:58 -05:00
GitHub Actions eb62ab648f fix(ci): update comments for clarity on E2E tests workflow changes 2026-02-04 19:44:56 +00:00
Jeremy 34db94f918 Merge pull request #653 from Wikid82/renovate/feature/beta-release-weekly-non-major-updates
fix(deps): update weekly-non-major-updates (feature/beta-release)
2026-02-04 14:26:57 -05:00
Jeremy d5d1658162 Merge branch 'feature/beta-release' into renovate/feature/beta-release-weekly-non-major-updates 2026-02-04 14:24:09 -05:00
github-actions[bot] 11e5305401 chore: move processed issue files to created/ 2026-02-04 19:24:01 +00:00
Jeremy dd96493edb fix: resolve modal dropdown z-index conflicts across application
Restructure 7 modal components to use 3-layer architecture preventing
native select dropdown menus from being blocked by modal overlays.

Components fixed:
- ProxyHostForm: ACL selector and Security Headers dropdowns
- User management: Role and permission mode selection
- Uptime monitors: Monitor type selection (HTTP/TCP)
- Remote servers: Provider selection dropdown
- CrowdSec: IP ban duration selection

The fix separates modal background overlay (z-40) from form container
(z-50) and enables pointer events only on form content, allowing
native dropdown menus to render above all modal layers.

Resolves user inability to select security policies, user roles,
monitor types, and other critical configuration options through
the UI interface.
2026-02-04 19:23:35 +00:00
Jeremy a2a7ea4233 Merge pull request #656 from Wikid82/hotfix/ci
fix(ci): enhance GeoIP database download with retry logic and placeholder creation on failure
v0.18.11
2026-02-04 13:48:01 -05:00
GitHub Actions b94a40f54a fix(ci): adjust GeoIP database download and Playwright dependencies for CI stability 2026-02-04 18:46:09 +00:00
renovate[bot] e54650095c fix(deps): update weekly-non-major-updates 2026-02-04 17:55:36 +00:00
GitHub Actions 74eb890a4c fix(ci): enhance GeoIP database download with retry logic and placeholder creation on failure
- Add curl retry mechanism (3 attempts) for GeoIP database download
- Add 30-second timeout to prevent hanging on network issues
- Create placeholder file if download fails or checksum mismatches
- Allows Docker build to complete even when external database unavailable
- GeoIP feature remains optional - users can provide own database at runtime

Fixes security-weekly-rebuild workflow failures
2026-02-04 17:53:31 +00:00
Jeremy 835700b91a Merge pull request #655 from Wikid82/hotfix/ci
fix(ci): improve Playwright installation steps by removing redundant system dependency installs and enhancing exit code handling
v0.18.10
2026-02-04 12:46:15 -05:00
Jeremy aa74aacf76 Merge branch 'main' into hotfix/ci 2026-02-04 12:46:07 -05: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
Jeremy 985921490f Merge pull request #654 from Wikid82/hotfix/ci
fix(ci): enhance Playwright installation steps with system dependencies and cache checks
v0.18.9
2026-02-04 12:29:11 -05:00
GitHub Actions 1b66257868 fix(ci): enhance Playwright installation steps with system dependencies and cache checks 2026-02-04 17:27:35 +00:00
Jeremy e56e7656d9 Merge pull request #652 from Wikid82/hotfix/ci
fix: simplify Playwright browser installation steps
v0.18.8
2026-02-04 12:10:19 -05:00
Jeremy 64f37ba7aa Merge branch 'main' into hotfix/ci 2026-02-04 12:09:37 -05: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 68891d4efe fix: update Go version command in utility task for improved compatibility 2026-02-04 17:05:13 +00:00
GitHub Actions c94642a594 chore: update Go version references from 1.25.6 to 1.25.7 across documentation and scripts 2026-02-04 16:52:52 +00:00
Jeremy d626c7d8b3 Merge pull request #650 from Wikid82/hotfix/ci
fix: resolve Playwright browser executable not found errors in CI
v0.18.7
2026-02-04 11:46:27 -05:00
Jeremy b34f96aeeb Merge branch 'main' into hotfix/ci 2026-02-04 11:46:17 -05: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
Jeremy 2e3d53e624 Merge pull request #649 from Wikid82/hotfix/ci
fix(e2e): update E2E tests workflow to sequential execution and fix r…
v0.18.6
2026-02-04 11:09:16 -05:00
Jeremy 40a37f76ac Merge branch 'main' into hotfix/ci 2026-02-04 11:09:04 -05: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
Jeremy a845b83ef7 fix: Merge branch 'development' v0.18.5 2026-02-04 16:01:22 +00:00
Jeremy f375b119d3 Merge pull request #648 from Wikid82/hotfix/ci
fix(ci): remove redundant Playwright browser cache cleanup from workf…
v0.18.4
2026-02-04 09:45:48 -05:00
Jeremy 5f9995d436 Merge branch 'main' into hotfix/ci 2026-02-04 09:43:22 -05:00
GitHub Actions 7bb88204d2 fix(ci): remove redundant Playwright browser cache cleanup from workflows 2026-02-04 14:42:17 +00:00
Jeremy 138fd2a669 Merge pull request #647 from Wikid82/hotfix/ci
fix(ci): remove redundant image tag determination logic from multiple…
v0.18.3
2026-02-04 09:28:35 -05:00
Jeremy cc3a679094 Merge branch 'main' into hotfix/ci 2026-02-04 09:24:51 -05:00
GitHub Actions 73f6d3d691 fix(ci): remove redundant image tag determination logic from multiple workflows 2026-02-04 14:24:11 +00:00
Jeremy 8b3e28125c Merge pull request #646 from Wikid82/hotfix/ci
fix(ci): standardize image tag step ID across integration workflows
v0.18.2
2026-02-04 09:17:09 -05:00
Jeremy dacc61582b Merge branch 'main' into hotfix/ci 2026-02-04 09:16:53 -05:00
GitHub Actions 80c033b812 fix(ci): standardize image tag step ID across integration workflows 2026-02-04 14:16:02 +00:00
Jeremy e48884b8a6 Merge pull request #644 from Wikid82/hotfix/ci
fix invalid CI files
v0.18.1
2026-02-04 09:11:12 -05:00
Jeremy 0519b4baed Merge branch 'main' into hotfix/ci 2026-02-04 09:10:32 -05:00