-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Add MinimalStdlib build-script product, build it in main CI jobs and PR testing jobs #64492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add MinimalStdlib build-script product, build it in main CI jobs and PR testing jobs #64492
Conversation
@swift-ci please test |
1 similar comment
@swift-ci please test |
self.cmake_options.define('SWIFT_STDLIB_ASSERTIONS:BOOL', 'FALSE') | ||
|
||
# Configure build to only build the stdlib, and only a static version of it | ||
self.cmake_options.define('SWIFT_BUILD_DYNAMIC_SDK_OVERLAY:BOOL', 'FALSE') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to self: This needs to somehow be unified with the settings in build-preset.ini
@swift-ci please clean test |
29eadee
to
90603ec
Compare
@swift-ci please test |
From the PR testing build bot:
So it takes an extra 2 minutes 40 seconds to build. CC @shahmishal @DougGregor @tbkka -- that feels like totally worth the value it adds? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks this looks great
I'd really want this to be added, it is very tricky to get all these #ifs right while working on concurrency types, the additional validation will save a lot of time and fire-fighting from mistakes
Agreed, 2 minutes 40 seconds is well worth it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From a code perspective, this looks fine. Isn't mostly a matter of being a different build configuration than an entirely separate product though? I suppose the static builds of Foundation and dispatch are kind of the same way, so maybe it's fine.
I'm going to merge this as is, because the value seems very high right now, and follow up separately on the remaining things. |
@kubamracek Can you cherry-pick this on to release/5.9? |
@shahmishal sure! #64677 |
This adds the existing "minimal freestanding" stdlib variant preset (which builds a different, stripped-down version of the stdlib+runtime with minimal dependencies) into the main CI workflows, including PR testing that gates merging. The point of this is to block PRs that would regress the build of this "minimal freestanding" stdlib from merging.
For now, this doesn't run any tests, just builds. Testing will for now still only happen in the dedicated CI job (https://ci.swift.org/view/Dashboard/job/oss-swift-test-stdlib-with-toolchain-minimal/).
rdar://106456196