diff --git a/.github/actions/install-rust/action.yml b/.github/actions/install-rust/action.yml index 3c16f0c..099c0dc 100644 --- a/.github/actions/install-rust/action.yml +++ b/.github/actions/install-rust/action.yml @@ -37,6 +37,8 @@ runs: if [ "${{ inputs.toolchain }}" = "nightly" ]; then rustup target add wasm32-wasip3 + rustup component add rustfmt + rustup component add clippy fi # Save disk space by avoiding incremental compilation. Also turn down diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 598dd5f..35e38e6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -51,8 +51,14 @@ jobs: - name: rust version run: cargo --version - - name: check - run: cargo check --workspace --all --bins --examples + - name: check p2 + run: cargo check --workspace --all --bins --examples --target wasm32-wasip2 + + # TODO: remove all nightly conditions for p3 targets once wasm32-wasip3 is + # stable. + - name: check p3 + if: matrix.rust == 'nightly' + run: cargo check --workspace --all --bins --examples --target wasm32-wasip3 - name: wstd p2 tests run: cargo test -p wstd -p wstd-axum --target wasm32-wasip2 -- --nocapture @@ -75,15 +81,22 @@ jobs: steps: - uses: actions/checkout@master - uses: ./.github/actions/install-rust + with: + toolchain: nightly - name: fmt run: cargo fmt --all -- --check - name: Docs - run: cargo doc + run: | + cargo doc --target wasm32-wasip2 + cargo doc --target wasm32-wasip3 - name: Clippy - run: cargo clippy --all + run: | + cargo clippy --workspace --exclude test-programs --target wasm32-wasip2 + cargo clippy --workspace --exclude test-programs --target wasm32-wasip3 + cargo clippy -p test-programs verify-publish: name: Verify publish @@ -92,6 +105,8 @@ jobs: steps: - uses: actions/checkout@master - uses: ./.github/actions/install-rust + with: + toolchain: nightly - run: rustc ci/publish.rs # Make sure we can bump version numbers for the next release - run: ./publish bump diff --git a/ci/publish.rs b/ci/publish.rs index 66867ce..17e0495 100644 --- a/ci/publish.rs +++ b/ci/publish.rs @@ -322,6 +322,10 @@ fn publish(krate: &Crate) -> bool { .arg("publish") .current_dir(krate.manifest.parent().unwrap()) .arg("--no-verify") + .arg("--target") + .arg("wasm32-wasip2") + .arg("--target") + .arg("wasm32-wasip3") .status() .expect("failed to run cargo"); if !status.success() { @@ -362,6 +366,10 @@ fn verify(crates: &[Crate]) { let mut cmd = Command::new("cargo"); cmd.arg("package") .arg("--allow-dirty") + .arg("--target") + .arg("wasm32-wasip2") + .arg("--target") + .arg("wasm32-wasip3") .arg("--manifest-path") .arg(&krate.manifest) .env("CARGO_TARGET_DIR", "./target"); diff --git a/src/lib.rs b/src/lib.rs index 43030ba..e3fb694 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -65,7 +65,6 @@ pub mod io; pub mod iter; #[cfg(all(target_os = "wasi", target_env = "p2"))] pub mod net; -#[cfg(target_os = "wasi")] pub mod rand; pub mod runtime; #[cfg(all(target_os = "wasi", target_env = "p2"))]