Continuous Integration

We use GitHub Actions to build and run tests continuously. (But jobs without cache takes 2~3 hours to be completed)

Currently (2020/10/4), we only run stdlib tests on Linux CI because the job execution time and storage reached GitHub Actions limits.

References:

Nightly distribution

We distribute latest swiftwasm branch and swiftwasm-release/5.3 branch toolchains at UTC 00:00 everyday. You can check the latest toolchain at GitHub Release Page

Cache

Compilation time of LLVM and the Swift toolchain is very long, so we recommend to cache the artifacts using sccache. The "Getting started" guide from the upstream toolchain provides more details about the use of sccache.

References

Debugging

When you want to debug a WebAssembly binary, wasminspect can help in the investigation if the debugged binary does not rely on integration with JavaScript. We recommend splitting your packages into separate executable targets, most of which shouldn't assume the availability of JavaScript to make debugging easier.

demo