language: rust cache: cargo rust: - stable - beta - nightly - 1.22.0 os: - linux - windows matrix: # rand 0.6 actually needs Rust 1.22, which leads to build failures on Rust 1.14 on Windows. # This is a problem, because # - we insist on rust 1.22 since #92 # - but "rand" is only an optional dependency. exclude: - rust: 1.22.0 os: windows script: - cargo build --verbose --features=fuzztarget - cargo build --verbose --features=rand - cargo test --verbose --features=rand - cargo test --verbose --features="rand serde" - cargo test --verbose --features="rand serde recovery endomorphism" - cargo build --verbose --no-default-features - cargo build --verbose --no-default-features --features="serde" - cargo build --verbose --no-default-features --features="rand" - cargo build --verbose --no-default-features --features="rand serde recovery endomorphism" - cargo build --verbose --no-default-features --features="fuzztarget recovery" - cargo build --verbose --no-default-features --features="lowmemory" - cargo build --verbose - cargo test --verbose - cargo build --release - cargo test --release - cargo bench - if [ "$(rustup show | grep default | grep stable)" != "" ]; then cargo doc; fi - if [ "$(rustup show | grep default | grep stable)" != "" -a "$TRAVIS_OS_NAME" = "linux" ]; then cargo install --force cargo-web && cargo web build --target=asmjs-unknown-emscripten && cargo web test --target=asmjs-unknown-emscripten --nodejs; fi