Skip windows-2025 Swift 6.1/6.2 in CI matrix (MSVC 14.51 STL needs Clang 20)#418
Conversation
…ang 20)
The windows-2025 runner now resolves the newest installed MSVC toolset
(14.51, VS18) whose STL hard-asserts STL1000: expected Clang 20 or newer.
Swift 6.1/6.2 bundle Clang 19, so swift-crypto's CCryptoBoringSSL fails to
compile. Swift 6.3 bundles Clang 20 and passes; windows-2022 defaults to an
older 14.4x toolset compatible with Clang 19.
Exclude windows-2025 x {6.1, 6.2}: those keep building on windows-2022, and
only Swift 6.3 builds on windows-2025.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Review: Skip windows-2025 Swift 6.1/6.2 in CI matrix A small, well-scoped CI workflow change. Summary by category: Code quality / correctness
Potential issues
Performance
Security
Test coverage
Overall: looks correct and low-risk. No changes requested. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## v1.0.0-beta.3 #418 +/- ##
=================================================
+ Coverage 71.82% 72.03% +0.21%
=================================================
Files 168 156 -12
Lines 3844 3698 -146
=================================================
- Hits 2761 2664 -97
+ Misses 1083 1034 -49
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Problem
The
build-windowsjob fails on windows-2025 with Swift 6.1 and 6.2. It's an environmental toolchain incompatibility, not a MistKit code bug:windows-2025runner image now resolves the newest installed Visual Studio toolset (MSVC 14.51, VS18) viavswhere. Its STL headeryvals_core.hhard-assertsSTL1000: Unexpected compiler version, expected Clang 20 or newer.CCryptoBoringSSLincludes<memory>. Swift 6.3 bundles Clang 20, so it passes.windows-2022defaults to an older 14.4x toolset compatible with Clang 19, so it builds all three Swift versions fine.In a recent run, the only red Windows jobs were
windows-2025 × 6.1-RELEASEandwindows-2025 × 6.2-RELEASE; everything else was green.Change
Add a matrix
excludeforwindows-2025 × {6.1, 6.2}. Resulting Windows coverage:Swift 6.1/6.2 stay covered on windows-2022; Swift 6.3 still exercises the new 14.51 toolset on windows-2025. No package or shared-action changes.
Why not pin an older toolset
Pinning windows-2025 to the VS2022/14.44 toolset would keep 6.1/6.2 coverage there, but it's a fragile env workaround (depends on the Swift/clang driver honoring an injected
INCLUDE/LIBovervswhere's latest, and on the older toolset staying installed). The exclude is a zero-risk config change with full passing evidence on windows-2022.Follow-up: GitHub will eventually retire
windows-2022. When that happens (or 6.1/6.2 are dropped), revisit — toolset-pinning or-D_ALLOW_COMPILER_AND_STL_VERSION_MISMATCHbecomes the fallback.🤖 Generated with Claude Code