-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[build-script] Forward --skip-local-build to build-script-impl #27890
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
Conversation
Otherwise, build-script-impl ignores --skip-local-build.
I've added a dry-run validation test. Let's see what swiftci says. |
@swift-ci smoke test and merge |
Hi @vedantk – I thought this was just a build-script change but apparently it broke unified (i.e. pure CMake / not build-script) builds. What's the best fix for the following?
|
It didn't occur to me that build-script could not be run in dry-run mode in a pure CMake build. Taking a look now. |
@davezarzycki I think a clean fix would be to add 'UNSUPPORTED: unified-build' to the test (although, I really don't know why build-script's dry-run modes would throw exceptions in a unified build setting, perhaps that's what needs fixing?). I can't find any documentation for unified builds and am not sure where they are implemented. If you know where the cmake logic lives, it should be sufficient to
|
Unified builds are just a shorthand way of saying "not standalone builds". See #27952 |
Otherwise, build-script-impl ignores --skip-local-build.
I would really appreciate advice on how to write a test for this.
Conceptually, I think I just need to do a dry run of build-script and verify that the arguments forwarded to build-script-impl look good. However, I can't work out how to fit this into the existing set of unit tests.
There's a BuildScriptImplOption expected option type I thought I could use for this, but it appears to have something to do with "migration.py", and I'm not sure how/where that fits into the whole picture.
There's an existing test that defines "ExpectedOption('--skip-local-build')", but that passes even though the argument isn't forwarded.