-
Notifications
You must be signed in to change notification settings - Fork 10.4k
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
build: Build Swift SDK for WebAssembly #72728
build: Build Swift SDK for WebAssembly #72728
Conversation
@swift-ci test WebAssembly platform |
Hmm, CI is still using Swift 5.8 but swift-sdk-generator requires 5.9. We might need to wait swiftlang/swift-docker#368 or relax minimum version requirement on swift-sdk-generator? CC: @MaxDesiatov |
I think lowering the requirement to 5.8 should be possible, I will look into that. |
utils/swift_build_support/swift_build_support/products/wasmstdlib.py
Outdated
Show resolved
Hide resolved
@swift-ci test WebAssembly |
Looks like there's some bug with CI status propagation. A build seems to be running, but its status is not reflected in the list of current PR checks 😞 |
utils/swift_build_support/swift_build_support/products/wasmstdlib.py
Outdated
Show resolved
Hide resolved
7f57dee
to
d9e2380
Compare
@swift-ci test WebAssembly |
d9e2380
to
ba94629
Compare
@swift-ci test WebAssembly |
ba94629
to
28d0e1e
Compare
@swift-ci test WebAssembly |
28d0e1e
to
5715425
Compare
@swift-ci test WebAssembly |
@swift-ci smoke test |
utils/swift_build_support/swift_build_support/products/wasmstdlib.py
Outdated
Show resolved
Hide resolved
5715425
to
a0ff5f1
Compare
@swift-ci smoke test |
@swift-ci test WebAssembly |
a0ff5f1
to
3cbc37e
Compare
@swift-ci test WebAssembly |
@swift-ci smoke test |
@swift-ci test WebAssembly |
@swift-ci smoke test Linux platform |
This change adds a new product, WasmSwiftSDK, to build the Swift SDK for WebAssembly. The product is built using the swift-sdk-generator package and takes just built WebAssembly stdlib, clang runtime libraries, and wasi-sysroot as input, and produces a Swift SDK artifactbundle under swift-sdk-generator/Bundles.
swift-nio and swift-async-algorithms have been updated to support `SWIFTCI_USE_LOCAL_DEPS` convention. This change updates them to the versions including the support.
Just built Swift SDK would be useful for SwiftPM to perform integration tests. All of those products do not depend on just built SwiftPM (WasmKit is built using host tools), so it is safe to build them earlier.
3cbc37e
to
1148e26
Compare
@swift-ci test WebAssembly |
@swift-ci smoke test |
@shahmishal Could you add swift-sdk-generator repository to checkout in CI infrastructure? 🙏 |
@@ -123,7 +125,7 @@ | |||
"swift-crypto": "3.0.0", | |||
"swift-certificates": "1.0.1", | |||
"swift-asn1": "1.0.0", | |||
"swift-async-algorithms": "1.0.0", | |||
"swift-async-algorithms": "main", |
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.
Is there a reason we are using main branch now?
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.
We need to use a revision including apple/swift-async-algorithms@6ae9a05 to make SDK generator build work.
But it's not ideal situation, so I asked a new release including the fix just now apple/swift-async-algorithms#314
@shahmishal Gentle ping🙏 |
We've temporarily unpinned this repository in #72728 to get recent changes. Now a new tag is available, we should pin it again.
We've temporarily unpinned this repository in swiftlang#72728 to get recent changes. Now a new tag is available, we should pin it again.
This change adds a new product, WasmSwiftSDK, to build the Swift SDK for WebAssembly. The product is built using the swift-sdk-generator package and takes just built WebAssembly stdlib, clang runtime libraries, and wasi-sysroot as input, and produces a Swift SDK artifactbundle under swift-sdk-generator/Bundles.
The main purpose of building SDK on CI is to test WebAssembly target-specific code in SwiftPM like test runner for now