Closed euanh closed 3 weeks ago
@swift-ci test
How hard would it be to add a test for this to our test suite?
The EndToEnd test would already catch it if it was run with Swift 6.0, but we currently only run tests in CI on macOS:
...but the EndToEnd tests are skipped on macOS 😞:
I see, I'll try look into running tests on Linux then at some point.
I see, I'll try look into running tests on Linux then at some point.
I have another PR in progress to fix an ld-linux.so
problem; after that I might have some time to spend on the CI. We should think about adopting the GitHub actions CI (https://github.com/swiftlang/github-workflows). For example: https://github.com/apple/swift-container-plugin/blob/main/.github/workflows/pull_request.yml
The EndToEnd test would already catch it if it was run with Swift 6.0
I think this would need a matrix job to set --swift-version 6.0-RELEASE
(and other options). I don't think just building on Swift 6.0 is enough.
Building with a Swift 6.0 SDK fails because the new
_FoundationCShims
framework headers can't be found:The necessary files are present in
$PLATFORM.sdk/usr/lib/swift
, but are not part of the list which is copied to$PLATFORM.sdk/usr/include
. The Static Linux SDK and WASM SDK generator don't copy these files into /usr/include; instead they set theswiftResourcesPath
andswiftStaticResourcesPath
fields inswift-sdk.json
, which causes the build system to look in those paths for framework headers.We can do the same for Linux SDKs, however we must stop copying the files to
/usr/include
, otherwise the build will fail because the framework header definitions are duplicated:Partial fix for #138