Skip to content

Commit 61f833c

Browse files
committed
[Windows] Use a multiroot data file to test (corelibs-)foundation on Windows
We currently rebuild swift-syntax, swift-foundation-icu and swift-foundation twice: Once to test swift-foundation and once to test swift-corelibs-foundation. Using a unified build for both projects means that we only need to rebuild them once, saving ~5 minutes.
1 parent 91b4fab commit 61f833c

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

utils/build.ps1

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2824,12 +2824,17 @@ function Build-Foundation {
28242824
}
28252825

28262826
function Test-Foundation {
2827+
$ScratchPath = "$BinaryCache\$($BuildPlatform.Triple)\FoundationTests"
2828+
28272829
# Foundation tests build via swiftpm rather than CMake
28282830
Build-SPMProject `
28292831
-Action Test `
28302832
-Src $SourceCache\swift-foundation `
2831-
-Bin "$BinaryCache\$($BuildPlatform.Triple)\CoreFoundationTests" `
2832-
-Platform $BuildPlatform
2833+
-Bin "$ScratchPath" `
2834+
-Platform $BuildPlatform `
2835+
-Configuration $FoundationTestConfiguration `
2836+
--multiroot-data-file "$SourceCache\swift\utils\build_swift\resources\SwiftPM-Unified-Build.xcworkspace" `
2837+
--test-product swift-foundationPackageTests
28332838

28342839
Invoke-IsolatingEnvVars {
28352840
$env:DISPATCH_INCLUDE_PATH="$(Get-SwiftSDK $BuildPlatform.OS)/usr/include"
@@ -2841,10 +2846,12 @@ function Test-Foundation {
28412846
Build-SPMProject `
28422847
-Action Test `
28432848
-Src $SourceCache\swift-corelibs-foundation `
2844-
-Bin "$BinaryCache\$($BuildPlatform.Triple)\FoundationTests" `
2849+
-Bin "$ScratchPath" `
28452850
-Platform $BuildPlatform `
28462851
-Configuration $FoundationTestConfiguration `
2847-
-j 1
2852+
--multiroot-data-file "$SourceCache\swift\utils\build_swift\resources\SwiftPM-Unified-Build.xcworkspace" `
2853+
--test-product swift-corelibs-foundationPackageTests `
2854+
-j 1 # Running parallel causes a non-deterministic crash in CI only, see https://github.com/swiftlang/swift/issues/83606
28482855
}
28492856
}
28502857

utils/build_swift/resources/SwiftPM-Unified-Build.xcworkspace/contents.xcworkspacedata

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)