-
Notifications
You must be signed in to change notification settings - Fork 40
Closed
Description
Description
Currently, our CI workflow waits for all build jobs (binaries) to complete before running any tests (unit, integration, e2e). This makes the pipeline unnecessarily slow, since the tests only require the binary from a single build (or a subset), not every possible build target.
Problem
- All test jobs are blocked by the slowest build job.
- Even if one build produces a usable binary, tests do not start until all builds are finished.
- This increases total CI time significantly.
Proposed Solution
- Update CI workflow so that test jobs depend only on the relevant build(s) needed for them, not all builds.
- Example:
- Unit tests → depend on single debug build
- Integration/e2e tests → depend on one representative release build
- Other builds (cross-platform, different targets, etc.) can run in parallel, but shouldn’t block tests.
Acceptance Criteria
- Tests (unit, integration, e2e) start as soon as their required binary is built.
- CI total runtime is reduced.
- No loss of coverage (all builds still happen, but tests are unblocked earlier).
Additional Notes
- May need to refactor how build artifacts are named/published between jobs.
- Consider using a build matrix with selective dependencies in GitHub Actions.
Copilot
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done