Skip to content
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

feat(netwatch): Add browser support for rough network changes (online/offline) #14

Merged
merged 12 commits into from
Mar 4, 2025
3 changes: 3 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[target.wasm32-unknown-unknown]
runner = "wasm-bindgen-test-runner"
rustflags = ['--cfg', 'getrandom_backend="wasm_js"']
34 changes: 34 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,40 @@ jobs:
env:
RUST_LOG: ${{ runner.debug && 'TRACE' || 'DEBUG' }}

wasm_test:
name: Build & test wasm32 for browsers
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable

- name: Add wasm target
run: rustup target add wasm32-unknown-unknown

- name: Install cargo-binstall
uses: cargo-bins/cargo-binstall@main

- name: Install wasm-bindgen-test-runner
run: cargo binstall wasm-bindgen-cli --locked --no-confirm

- name: Install wasm-tools
uses: bytecodealliance/actions/wasm-tools/setup@v1

- name: wasm32 build (netwatch)
run: cargo build --target wasm32-unknown-unknown -p netwatch

# If the Wasm file contains any 'import "env"' declarations, then
# some non-Wasm-compatible code made it into the final code.
- name: Ensure no 'import "env"' in netwatch Wasm
run: |
! wasm-tools print --skeleton target/wasm32-unknown-unknown/debug/netwatch.wasm | grep 'import "env"'

- name: Run smoke test in wasm
run: cargo test -p netwatch --test smoke --target=wasm32-unknown-unknown

check_semver:
runs-on: ubuntu-latest
env:
Expand Down
Loading
Loading