-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[build-script] Add a default-enabled "clean" step for swift-driver and swiftpm products #33563
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
…d swiftpm Along with options to disable the mandatory clean using: `--skip-clean-swift-driver` and `--skip-clean-swiftpm`. This will ensure that every invocation of build-script will, by default, clean up all build artifacts of these projects and re-build them from scratch. This is needed for all builds because today arbitrary changes to the compiler can lead to us being unable to incrementally build components that are themselves written in Swift. This causes now-frequent failures in incremental build bots, and is a scenario that is encountered by developers. (For example see: rdar://65006593) The proper long-term solution is to enable library evolution for these projects. Until this is done, the only safe thing to do is to always rebuild them. Resolves rdar://65006593
@swift-ci please test |
@swift-ci please test |
Build failed |
@swift-ci please test |
@swift-ci please smoke test |
Build failed |
Build failed |
@swift-ci please test |
@swift-ci please smoke test |
Build failed |
@swift-ci please test OS X platform |
@swift-ci please smoke test OS X platform |
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.
Are there any other products that should have this set? I imagine it is anything that uses a notion of a shared workspace. I have seen this same error before btw and it was on my list of things to fix. Thanks for taking the initiative here!
I imagine so. So far these are the only two projects that have caused a problem. I will look over the other products to see if they could potentially run into this. |
Introduce a new parameter `--skip-llbuild-clean` to prevent this from happening. This mimicks similar logic in place for `swiftpm`, `swift-driver` (swiftlang#33563) and `xctest` (swiftlang#19512) Addresses rdar://75057069
Along with options to disable the mandatory clean using:
--skip-clean-swift-driver
and--skip-clean-swiftpm
.This change will ensure that every invocation of
build-script
will, by default, clean up all build artifacts of these projects and re-build them from scratch.This is needed for all builds because today arbitrary changes to the compiler can lead to being unable to incrementally build components that are themselves written in Swift (e.g. SwiftPM and swift-driver). This causes now-frequent failures in incremental build bots, and is a scenario that is encountered by developers (For example, see: rdar://65006593).
The proper long-term solution is to enable library evolution for these projects.
Until this is done, the only safe thing to do is to always rebuild them.
Resolves rdar://65006593