diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml new file mode 100644 index 000000000..7e9c22dee --- /dev/null +++ b/.github/workflows/wasm.yml @@ -0,0 +1,55 @@ +on: + pull_request: + push: + branches: + - main + +name: WASM + +env: + RUSTDOCFLAGS: "-D warnings" + CARGO_REGISTRIES_CRATES_IO_PROTOCOL: "sparse" + +jobs: + # Default + test-features-default: + name: "Build & Test" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - run: cargo build + - run: cargo test + + fmt: + name: Rustfmt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + components: rustfmt + - run: cargo fmt -- --check + + clippy: + name: Clippy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: nightly + components: clippy + - run: cargo +nightly clippy -- -D warnings + + doc: + name: Documentation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + components: doc + - run: cargo doc \ No newline at end of file diff --git a/bindings/wasm/src/lib.rs b/bindings/wasm/src/lib.rs index cd3827840..a65b0561f 100644 --- a/bindings/wasm/src/lib.rs +++ b/bindings/wasm/src/lib.rs @@ -1,3 +1,7 @@ +#![deny(unsafe_code)] +#![forbid(unsafe_code)] +#![warn(missing_docs)] +#![warn(clippy::missing_docs_in_private_items)] #![allow(non_snake_case)] // JS uses camelCase by default #![allow(clippy::new_without_default)] // Default is useless for WASM