language: rust matrix: include: - rust: stable script: - cd "${TRAVIS_BUILD_DIR}/serde" - cargo build --features rc - cargo build --no-default-features - cd "${TRAVIS_BUILD_DIR}/serde_test" - cargo build - cargo test --features serde/derive,serde/rc - rust: beta script: - cd "${TRAVIS_BUILD_DIR}/serde" - cargo build --features rc - cd "${TRAVIS_BUILD_DIR}/test_suite" - cargo test - rust: nightly script: - cd "${TRAVIS_BUILD_DIR}/serde" - cargo build - cargo build --no-default-features - cargo build --no-default-features --features alloc - cargo build --no-default-features --features rc,alloc - cargo test --features derive,rc,unstable - cd "${TRAVIS_BUILD_DIR}/test_suite" - cargo test --features unstable - cd "${TRAVIS_BUILD_DIR}/test_suite/no_std" - cargo build - rust: 1.13.0 script: - cd "${TRAVIS_BUILD_DIR}/serde" - cargo build --features rc - cargo build --no-default-features - cd "${TRAVIS_BUILD_DIR}/serde_test" - cargo build - rust: 1.19.0 - rust: 1.20.0 - rust: 1.21.0 - rust: 1.25.0 - rust: 1.26.0 # Work around failing to parse manifest because editions are unstable. - rust: 1.27.0 before_script: sed -i /test_suite/d Cargo.toml - rust: 1.28.0 before_script: sed -i /test_suite/d Cargo.toml - rust: 1.31.0 script: - cd "${TRAVIS_BUILD_DIR}/serde_derive" - cargo build - rust: 1.34.0 - rust: 1.36.0 script: - cd "${TRAVIS_BUILD_DIR}/serde" - cargo build --no-default-features --features alloc - rust: nightly name: Clippy script: - rustup component add clippy || travis_terminate 0 - cargo clippy -- -D clippy::all - cd "${TRAVIS_BUILD_DIR}/serde" - cargo clippy --features rc,unstable -- -D clippy::all - cd "${TRAVIS_BUILD_DIR}/serde_derive" - cargo clippy -- -D clippy::all - cd "${TRAVIS_BUILD_DIR}/serde_test" - cargo clippy -- -D clippy::all - cd "${TRAVIS_BUILD_DIR}/test_suite" - cargo clippy --tests --features unstable -- -D clippy::all - cd "${TRAVIS_BUILD_DIR}/test_suite/no_std" - cargo clippy -- -D clippy::all - rust: nightly name: Emscripten script: - CARGO_WEB_RELEASE=$(curl -L -s -H Accept:application/json https://github.com/koute/cargo-web/releases/latest) - CARGO_WEB_VERSION=$(echo "${CARGO_WEB_RELEASE}" | jq -r .tag_name) - CARGO_WEB_URL="https://github.com/koute/cargo-web/releases/download/${CARGO_WEB_VERSION}/cargo-web-x86_64-unknown-linux-gnu.gz" - nvm install 9 - mkdir -p ~/.cargo/bin - curl -L "${CARGO_WEB_URL}" | gzip -d > ~/.cargo/bin/cargo-web - chmod +x ~/.cargo/bin/cargo-web - cd "${TRAVIS_BUILD_DIR}/test_suite" - cargo web test --target=asmjs-unknown-emscripten --nodejs - cargo web test --target=wasm32-unknown-emscripten --nodejs allow_failures: - rust: nightly name: Clippy - rust: nightly name: Emscripten script: - cd "${TRAVIS_BUILD_DIR}/serde" - cargo build --no-default-features - cargo build