perf(ci): skip Windows matrix when not Windows-affecting + fail-fast#183
Closed
7xuanlu wants to merge 1 commit into
Closed
perf(ci): skip Windows matrix when not Windows-affecting + fail-fast#1837xuanlu wants to merge 1 commit into
7xuanlu wants to merge 1 commit into
Conversation
Three free-tier follow-ups to PR #182's Windows tail (~31min after that PR). All target PR turnaround, not release-time. 1. **`fail-fast: true`** on the test matrix. When a real bug fails Linux or macOS, cancel Windows — Windows would have hit the same failure in another 20-30min. Saves CI minutes + dev wait. 2. **Drop workspace lib tests on Windows.** Linux + macOS catch the same cross-platform unit logic. Windows-specific behavior is already covered by the `Integration tests origin-cli + origin-server` step (runs on Windows) and the schtasks install round-trip E2E. Saves ~25min Windows time per PR. 3. **Skip the Windows job entirely** when no Windows-affecting file changed. New dorny `windows` paths-filter lists the exact files that drive Windows behavior (service.rs, mcp.rs, cli_integration, distribution test, smoke-windows.ps1, install.sh, workspace Cargo, workflows). detect-changes builds `test-oses` as a JSON array; matrix consumes it via `fromJSON`. Common PRs (docs, eval, server internals) skip Windows entirely. Expected: typical PR turnaround 31min → 14-15min (Linux floor). PRs touching Windows paths still run Windows but skip workspace lib tests there, expected ~10-12min Windows. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Owner
Author
|
Combined into PR #186 — both fixes ship together as one CI follow-up. |
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to PR #182. Three free-tier wins on the Windows tail (~31min after #182).
Changes
`fail-fast: true` — cancel matrix on first failure. Real bugs failing Linux/macOS no longer waste 20-30min on Windows hitting the same failure.
Drop workspace lib tests on Windows. Linux + macOS catch the same cross-platform unit logic. Windows-specific behavior (paths, mcp_add, schtasks) is already covered by the `Integration tests origin-cli + origin-server` step (runs on all 3) and the schtasks install round-trip E2E. ~25min Windows saved per PR.
Skip Windows job entirely when no Windows-affecting files changed. New dorny `windows` paths-filter + `detect-changes.test-oses` JSON output. Most PRs (docs, eval, server internals) skip Windows entirely.
Expected
Release pipeline
release.yml unchanged — release builds still cover all 5 targets on tag push.