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.
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.
Ninja 1.12 just released and seems to be dying silently while building
the Swift stdlib. Lets go ahead and pin it to the old tag. Pinned
dependencies are better from a security standpoint anyway.
I'm leaving `next` on the ninja release branch so that we still have
some signal from it, but folks aren't generally living on `next`, so it
should have less impact.
These repositories are used by https://github.com/apple/swift-sdk-generator, which needs to be built as a part of Swift CI jobs for creating a Swift SDK for WASI for CI testing purposes.
* Stash for each submodule for consistency.
* Stash untracked changes too.
* Don't redundantly hard-reset along the stash path.
* Add some comments and a more truthful description to `--stash` and
`--clean`.
Use of `--clean` can lead to irreversible loss of uncommitted data. We still need to reset Swift project repositories to a clean state, but without deleting all in-progress changes. Passing `--stash` instead of (or in addition to) `--clean` will preserve uncommitted changes in stashes of corresponding repositories.
This patch adds a new product, WasmKit, which is a Wasm runtime that is
going to be used to run executable tests targeting Wasm. Note that the
product is not shipped as a part of the toolchain, but is used only for
testing purposes.
The `release/5.10` specification of update-checkout on the `main` branch was out-of-date and didn’t clone e.g. `zlib`. This caused CI testing for the `release/5.10` branch of swift-syntax to fail.
Update the build.ps1 to match the current state which introduces
`-BuildTo` and updates most of the dependencies. Take the opportunity to
migrate to update-checkout for the majority of the dependencies. The
SQLite amalgamation and installer image are still fetched later, and ICU
is still cloned in the CI wrapper.
This patch adds a new build products to build and test the Swift stdlib
for WebAssembly.
This adds WebAssembly specific stdlib product instead of adding the new
target in `stdlib-deployment-targets` because unlike darwin platforms
Wasm target has quite different stdlib configuration from host target
and there is no way to specify different stdlib configuration for each
target in `stdlib-deployment-targets` for now.
This patch adds 1 new dependency `wasi-libc` and 3 new build products:
1. `WASILibc` - wasi-libc is a libc implementation for WebAssembly
System Interface (WASI). This product is required to build the
compiler runtimes and Swift stdlib.
2. `WasmLLVMRuntimeLibs` - This product builds `./runtimes` directory
in llvm-project, which contains compiler-rt, libcxx and libcxxabi.
This product is required to build Swift stdlib.
3. `WasmStdlib` - This product builds standalone Swift stdlib for
WebAssembly. (Similar to `MinimalStdlib` product, but configured for
WebAssembly target)
In order to work with further improvements to static linking on Windows
to enable Swift in Swift and C++ Interop, we need to bump the s-a-p with
a fix for underlinking.