diff --git a/.travis.yml b/.travis.yml index aaa56d9e..7a73219b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,6 +58,21 @@ matrix: os: osx rust: stable + # wasm stdweb + - env: TARGET=wasm32-unknown-unknown WEB=web FEATURES=stdweb + os: linux + rust: stable + - env: TARGET=wasm32-unknown-unknown WEB=web FEATURES=stdweb + os: linux + rust: nightly + # wasm web-sys + - env: TARGET=wasm32-unknown-unknown FEATURES=web-sys + os: linux + rust: stable + - env: TARGET=wasm32-unknown-unknown FEATURES=web-sys + os: linux + rust: nightly + install: - rustup self update - rustup target add $TARGET; true @@ -66,11 +81,19 @@ install: script: - cargo +stable fmt --all -- --check - - cargo build --target $TARGET --verbose - - cargo build --target $TARGET --features serde --verbose + # Install cargo-web to build stdweb + - if [[ $WEB = "web" ]]; then cargo install -f cargo-web; fi + # Build without serde then with serde + - if [[ -z "$FEATURES" ]]; then + cargo $WEB build --target $TARGET --verbose; + else + cargo $WEB build --target $TARGET --features $FEATURES --verbose; + fi + - cargo $WEB build --target $TARGET --features serde,$FEATURES --verbose # Running iOS apps on macOS requires the Simulator so we skip that for now - - if [[ $TARGET != *-apple-ios ]]; then cargo test --target $TARGET --verbose; fi - - if [[ $TARGET != *-apple-ios ]]; then cargo test --target $TARGET --features serde --verbose; fi + # The web targets also don't support running tests + - if [[ $TARGET != *-apple-ios && $TARGET != wasm32-* ]]; then cargo test --target $TARGET --verbose; fi + - if [[ $TARGET != *-apple-ios && $TARGET != wasm32-* ]]; then cargo test --target $TARGET --features serde --verbose; fi after_success: - |