See #194
This installs (and caches) the emsdk toolchain at the last version compatible w/ stable rust. It also tests on both asmjs and wasm32, uses node by default, and works around an asm.js bug.
Most of the advantages from testing various Rust versions already come
from running those tests on Linux and Windows. There's very little
gain from also running these tests on macOS, while macOS jobs are the
slowest to schedule.
Signed-off-by: Joe Richey <joerichey@google.com>
- Cleanup `tests.yml`
- Add better binary downloads
- Add minimal dependancies check
- Add tests for `custom` feature
- Build/Link for iOS
- Run cross tests on aarch64 linux and Android
- Link on Solaris and Netbsd
- Test wasm code on Node, Chrome, Firefox
- Test WASI
- No need for RDRAND feature on VxWorks
Signed-off-by: Joe Richey <joerichey@google.com>
Point the build status badges to point to Github Actions
Add badges for:
- Downloads
- License
Fix formatting to make updating easier
Signed-off-by: Joe Richey <joerichey@google.com>
Also, pin the version of rustc, so that nightly updates don't break
our build. This means that we can add the nightlies back into the
blocking set of tests.
Update the Ubuntu version to 20.04
Don't run any cargo-web tests (upstream is broken)
Signed-off-by: Joe Richey <joerichey@google.com>
Older NetBSD kernels cannot handle buffers bigger than 256 bytes, and
all FreeBSD and NetBSD kernels only return up to 256 bytes per call.
Signed-off-by: Joe Richey <joerichey@google.com>
Right now "cargo web test" is broken due to upstream changes. We will
disable stdweb tests until the stdweb project fixes things.
See: https://github.com/koute/cargo-web/issues/243
Signed-off-by: Joe Richey <joerichey@google.com>
Add back the "test-in-browser" feature. This makes it easier to manage
a single file containing all of the test code.
Signed-off-by: Joe Richey <joerichey@google.com>
They will be gated behind the "js" feature, as we can now do detect,
at compile-time, which implementation (wasm-bindgen vs stdweb) we
should use.
The "js" implementation takes precedence over the "custom"
implementation. This prevents issues that arise from the buggy way
Cargo handles features across multiple targets.
Signed-off-by: Joe Richey <joerichey@google.com>