Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,13 @@ jobs:
-p wasmtime-wasi --no-default-features --features p2
-p wasmtime-wasi --no-default-features --features p3

- name: wasmtime-wasi-tls
checks: |
-p wasmtime-wasi-tls --no-default-features
-p wasmtime-wasi-tls --no-default-features --features rustls
-p wasmtime-wasi-tls --no-default-features --features nativetls
-p wasmtime-wasi-tls --no-default-features --features openssl

- name: wasmtime-wizer
checks: |
-p wasmtime-wizer --no-default-features
Expand Down Expand Up @@ -942,17 +949,17 @@ jobs:
# Run the tests!
- run: cargo test -p wasmtime-wasi-nn --features ${{ matrix.feature }}

# Test `wasmtime-wasi-tls-nativetls` & `wasmtime-wasi-tls-openssl` in their
# own job. This is because they depends on OpenSSL, which is not easily
# available on all platforms.
# Test `wasmtime-wasi-tls` in its own job, as not all of its providers are
# compatible with all targets. The primary culprit is the OpenSSL dependency,
# which is not easily available on all platforms.
#
# The Windows base image has OpenSSL installed by default, but not in a way
# that is automatically discoverable by `openssl-sys`. We need to configure
# the OPENSSL_DIR & OPENSSL_LIB_DIR paths manually.
# Additionally, the GH actions Windows image does not ship with a CA cert
# bundle, so we use the one from cUrl.
test_wasi_tls:
name: Test wasi-tls using native-tls & openssl providers
name: Test wasi-tls
needs: determine
if: needs.determine.outputs.run-full
runs-on: ${{ matrix.os }}
Expand All @@ -976,8 +983,7 @@ jobs:
"SSL_CERT_FILE=$sslCertFile" | Out-File -FilePath $env:GITHUB_ENV -Append
"OPENSSL_DIR=$opensslDir" | Out-File -FilePath $env:GITHUB_ENV -Append
"OPENSSL_LIB_DIR=$opensslLibDir" | Out-File -FilePath $env:GITHUB_ENV -Append
- run: cargo test -p wasmtime-wasi-tls-openssl
- run: cargo test -p wasmtime-wasi-tls-nativetls
- run: cargo test -p wasmtime-wasi-tls --all-features

# Test the `wasmtime-fuzzing` crate. Split out from the main tests because
# `--all-features` brings in OCaml, which is a pain to get setup for all
Expand Down
33 changes: 5 additions & 28 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,6 @@ members = [
"crates/test-programs",
"crates/wasi-preview1-component-adapter",
"crates/wasi-preview1-component-adapter/verify",
"crates/wasi-tls-nativetls",
"crates/wasi-tls-openssl",
"crates/debugger",
"crates/wizer/fuzz",
"crates/wizer/tests/regex-test",
Expand Down Expand Up @@ -253,8 +251,6 @@ wasmtime-wasi-config = { path = "crates/wasi-config", version = "44.0.0" }
wasmtime-wasi-keyvalue = { path = "crates/wasi-keyvalue", version = "44.0.0" }
wasmtime-wasi-threads = { path = "crates/wasi-threads", version = "44.0.0" }
wasmtime-wasi-tls = { path = "crates/wasi-tls", version = "44.0.0" }
wasmtime-wasi-tls-nativetls = { path = "crates/wasi-tls-nativetls", version = "44.0.0" }
wasmtime-wasi-tls-openssl = { path = "crates/wasi-tls-openssl", version = "44.0.0" }
wasmtime-wast = { path = "crates/wast", version = "=44.0.0" }

# Internal Wasmtime-specific crates.
Expand Down
8 changes: 2 additions & 6 deletions ci/run-tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@
# - wasmtime-wasi-nn: mutually-exclusive features that aren't available for all
# targets, needs its own CI job.
#
# - wasmtime-wasi-tls-nativetls: the openssl dependency does not play nice with
# cross compilation. This crate is tested in a separate CI job.
#
# - wasmtime-wasi-tls-openssl: the openssl dependency does not play nice with
# - wasmtime-wasi-tls: the openssl dependency does not play nice with
# cross compilation. This crate is tested in a separate CI job.
#
# - wasmtime-fuzzing: enabling all features brings in OCaml which is a pain to
Expand All @@ -29,8 +26,7 @@
args = ['cargo', 'test', '--workspace', '--all-features']
args.append('--exclude=test-programs')
args.append('--exclude=wasmtime-wasi-nn')
args.append('--exclude=wasmtime-wasi-tls-nativetls')
args.append('--exclude=wasmtime-wasi-tls-openssl')
args.append('--exclude=wasmtime-wasi-tls')
args.append('--exclude=wasmtime-fuzzing')
args.append('--exclude=wasm-spec-interpreter')
args.append('--exclude=veri_engine')
Expand Down
25 changes: 0 additions & 25 deletions crates/wasi-tls-nativetls/Cargo.toml

This file was deleted.

68 changes: 0 additions & 68 deletions crates/wasi-tls-nativetls/tests/main.rs

This file was deleted.

25 changes: 0 additions & 25 deletions crates/wasi-tls-openssl/Cargo.toml

This file was deleted.

68 changes: 0 additions & 68 deletions crates/wasi-tls-openssl/tests/main.rs

This file was deleted.

18 changes: 14 additions & 4 deletions crates/wasi-tls/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ description = "Wasmtime implementation of the wasi-tls API"
[lints]
workspace = true

[features]
default = ["rustls"]
rustls = ["dep:rustls", "dep:tokio-rustls", "dep:webpki-roots"]
nativetls = ["dep:native-tls", "dep:tokio-native-tls"]
openssl = ["dep:openssl", "dep:tokio-openssl"]

[dependencies]
bytes = { workspace = true }
tokio = { workspace = true, features = [
Expand All @@ -21,10 +27,14 @@ tokio = { workspace = true, features = [
] }
wasmtime = { workspace = true, features = ["runtime", "component-model"] }
wasmtime-wasi = { workspace = true }

tokio-rustls = { workspace = true }
rustls = { workspace = true }
webpki-roots = { workspace = true }
cfg-if = { workspace = true }
tokio-rustls = { workspace = true, optional = true }
rustls = { workspace = true, optional = true }
webpki-roots = { workspace = true, optional = true }
tokio-native-tls = { workspace = true, optional = true }
native-tls = { workspace = true, optional = true }
tokio-openssl = { workspace = true, optional = true }
openssl = { workspace = true, optional = true }

[dev-dependencies]
test-programs-artifacts = { workspace = true }
Expand Down
Loading
Loading