-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
CI workflow currently takes 40+ minutes to complete, creating slow feedback loops for PRs and blocking development velocity.
Current Bottlenecks
- Preflight Checks: 9.0 min (blocks everything)
- Test (Windows): 6.2 min
- Integration Tests (Windows): 4.6 min
- Repeated setup overhead: Go/Node/pnpm/dashboard build duplicated 8+ times
- Inefficient dependencies: Build blocked by unnecessary preflight wait
Solution
Three-phase optimization strategy targeting 60%+ runtime reduction:
Phase 1: Caching & Setup (-10 min expected)
- Create composite setup action (eliminate 8x duplication)
- Implement aggressive caching (Go modules, pnpm, dashboard builds)
- Build dashboard once, reuse across jobs
Phase 2: Parallelization (-12 min expected)
- Remove blocking dependencies (build doesn't need preflight)
- Split preflight into quick-checks + parallel security-scan
- Optimize test matrix (Ubuntu full, Windows smoke, remove macOS integration)
- Parallelize platform builds
Phase 3: Advanced (-5 min expected)
- Conditional execution for doc-only changes
- Test suite optimization
- Final tuning
Goals
Primary:
- Total CI time <15 minutes (60%+ reduction)
- Critical path <10 minutes
Secondary:
- Maintain all security scans (gosec, govulncheck)
- Keep platform validation (all 3 OSes for unit tests)
- Zero increase in test flakes
Specification
Full details in: docs/specs/ci-perf/spec.md
Tasks: docs/specs/ci-perf/tasks.md
Success Criteria
- ✅ Total CI time <15 minutes
- ✅ Cache hit rate >75%
- ✅ All tests passing
- ✅ All security scans maintained
- ✅ Documentation updated
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request