Skip to content

Commit

Permalink
WASI support (#202)
Browse files Browse the repository at this point in the history
* fix: use different claim for wasi

Signed-off-by: Anton Whalley <[email protected]>

* fix: remove main hyper

Signed-off-by: Anton Whalley <[email protected]>

* fix: ignore runtimes docs in wasi test

Signed-off-by: Anton Whalley <[email protected]>

* fix: reference attributed rust-claim

Signed-off-by: Anton Whalley <[email protected]>

* fix: use supported claims

Signed-off-by: Anthony Whalley <[email protected]>

* fix: update ticks

Signed-off-by: Anton Whalley <[email protected]>

* test: wasi target_os and hyper conditional

Signed-off-by: Anton Whalley <[email protected]>

* fix: revert toml format and param for target

Signed-off-by: Anton Whalley <[email protected]>

* fix: remove formatting of cargo file

Signed-off-by: Fabrizio Lazzaretti <[email protected]>

---------

Signed-off-by: Anton Whalley <[email protected]>
Signed-off-by: Anthony Whalley <[email protected]>
Signed-off-by: Fabrizio Lazzaretti <[email protected]>
Co-authored-by: Fabrizio Lazzaretti <[email protected]>
  • Loading branch information
No9 and Lazzaretti authored Apr 30, 2024
1 parent a59c3f5 commit 13c36fd
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 5 deletions.
21 changes: 19 additions & 2 deletions .github/workflows/rust_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,17 @@ jobs:
- x86_64-unknown-linux-gnu
- x86_64-unknown-linux-musl
- wasm32-unknown-unknown
- wasm32-wasi
steps:
- uses: actions/checkout@v2

# setup wasmedge
- run: curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | sudo bash -s -- -p /usr/local
# Setup musl if needed
- run: sudo apt-get update
if: matrix.target == 'x86_64-unknown-linux-musl'
- run: sudo apt-get install -y musl musl-dev musl-tools cmake
if: matrix.target == 'x86_64-unknown-linux-musl'

# # Caching stuff
- uses: actions/cache@v2
with:
Expand Down Expand Up @@ -96,7 +98,22 @@ jobs:
command: build
toolchain: ${{ matrix.toolchain }}
args: --target wasm32-unknown-unknown --features reqwest

- uses: actions-rs/cargo@v1
name: "Build"
if: matrix.target == 'wasm32-wasi'
with:
command: build
toolchain: ${{ matrix.toolchain }}
args: --target ${{ matrix.target }} --features "http-binding hyper hyper_wasi"
- uses: actions-rs/cargo@v1
name: "Test"
if: matrix.target == 'wasm32-wasi'
with:
command: test
toolchain: ${{ matrix.toolchain }}
args: --target ${{ matrix.target }} --features "http-binding hyper hyper_wasi"
env:
CARGO_TARGET_WASM32_WASI_RUNNER: wasmedge
# Build examples
- uses: actions-rs/cargo@v1
name: "Build reqwest-wasm-example"
Expand Down
25 changes: 22 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ async-trait = { version = "^0.1.33", optional = true }
bytes = { version = "^1.0", optional = true }
futures = { version = "^0.3", optional = true }
http = { version = "0.2", optional = true }
hyper = { version = "^0.14", optional = true }
axum-lib = { version = "^0.6", optional = true, package="axum"}
http-body = { version = "^0.4", optional = true }
poem-lib = { version = "=1.2.34", optional = true, package = "poem" }
Expand All @@ -64,6 +63,12 @@ hostname = "^0.3"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
web-sys = { version = "^0.3", features = ["Window", "Location"] }

[target.'cfg(not(target_os = "wasi"))'.dependencies]
hyper = { version = "^0.14", optional = true }

[target.'cfg(all(target_arch = "wasm32", target_os = "wasi"))'.dependencies]
hyper_wasi = { version = "0.15", features = ["full"], optional = true }

[dev-dependencies]
rstest = "0.6"
claims = "0.7.1"
Expand All @@ -72,11 +77,25 @@ serde_yaml = "0.8"
rmp-serde = "1"

# runtime dev-deps
actix-rt = { version = "^2" }

url = { version = "^2.1", features = ["serde"] }
serde_json = { version = "^1.0" }
chrono = { version = "^0.4", features = ["serde"] }
mockito = "0.25.1"
tokio = { version = "^1.0", features = ["full"] }
mime = "0.3"


[target.'cfg(not(target_os = "wasi"))'.dev-dependencies]
actix-rt = { version = "^2" }
tokio = { version = "^1.0", features = ["full"] }
tower = { version = "0.4", features = ["util"] }

[target.'cfg(all(target_arch = "wasm32", target_os = "wasi"))'.dev-dependencies]
tokio_wasi = { version = "1", features = [
"io-util",
"fs",
"net",
"time",
"rt",
"macros",
] }
2 changes: 2 additions & 0 deletions tests/version_number.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
#[test]
#[cfg_attr(target_os = "wasi", ignore)]
fn test_readme_deps() {
version_sync::assert_markdown_deps_updated!("README.md");
}

#[test]
#[cfg_attr(target_os = "wasi", ignore)]
fn test_html_root_url() {
version_sync::assert_html_root_url_updated!("src/lib.rs");
}

0 comments on commit 13c36fd

Please sign in to comment.