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>
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>
Right now, features are always enabled across all targets. This means
that if _any_ Custom RNG is used _anywhere_ in a crate's dependancy
graph on _any_ target. The "custom" feature will be active on all
targets.
This makes it impossible to have a bare metal target that uses "cpu" on
x86_64 and a Custom RNG on aarch64. This solution also makes sure that
any implementation `getrandom` itself provides cannot be overridden.
Signed-off-by: Joe Richey <joerichey@google.com>
Right now, while our implementations for stdweb and wasm-bindgen use
similar APIs, they do not use similar implementations. This change:
- Switches to using the same error codes for both implementations
- Uses error codes that detail exactly what API is missing
- Cleans up the implemetnations to make them much more readable
- Consitantly use thread_local in both implementations
This makes issues easier to debug and the code easier to understand.
Signed-off-by: Joe Richey <joerichey@google.com>
Split emscripten stuff into its own target and stop relying on cargo web
to download/manage then emscripten toolchain. We can just get it
ourselves. We also now run the emscripten tests.
Signed-off-by: Joe Richey <joerichey@google.com>