-
Notifications
You must be signed in to change notification settings - Fork 199
Verify emitted module interfaces by default (Take 2) #652
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
Verify emitted module interfaces by default (Take 2) #652
Conversation
@swift-ci Please test |
@swift-ci test Apple Silicon |
Sorry, I misunderstood. This does not work on this repo, it needs to be invoked as a cross-repository test with this PR from the |
Merge-module builds do not respect the -preserve-types-as-written frontend flag and may generate broken swiftinterface files. Only verify swiftmodule in this case if explicitly asked to.
e9fcd42
to
fa379ca
Compare
@swift-ci Please test |
The broken swiftinterface in the Swift repo has been fixed and the tests are looking good (except maybe for one that I'm testing again). swiftlang/swift#38454 @artemcm Can you give this another review? |
Related to the discussion in a Swift-side PR: swiftlang/swift#38465 Can we sanitize |
@nkcsgexi What do you mean by "sanitize"? I don't think |
ah, sorry for missing explanation. |
Ah ok, good point. We could use that phase as an early sanity check for all kind of library issues. |
I think we can merge this now. The remaining failure on Apple Silicon is unrelated to this change. We should add extra verifications once this lands properly and we have a reliable verification in place. |
Verifying swiftinterface files after they are emitted will detect framework breaking issues much earlier. It can be turned off in offending projects with
-no-verify-emitted-module-interface
.Only swiftinterfaces emitted from non-merge-module builds at verified by default. Merge-module builds are more likely to generate broken swiftinterfaces even when a whole-module or emit-module-separately build generates a valid one.
rdar://77534863