language: rust before_script: - set -o errexit script: - shopt -s expand_aliases - alias build="cargo build ${TARGET+--target=$TARGET}" - build --no-default-features - build - build --features full - build --features 'fold visit visit-mut' - build --features 'full fold visit visit-mut' - build --no-default-features --features derive - build --no-default-features --features 'derive parsing' - build --no-default-features --features 'derive printing' - build --no-default-features --features 'proc-macro parsing printing' - build --no-default-features --features full - build --no-default-features --features 'full parsing' - build --no-default-features --features 'full printing' - build --no-default-features --features 'full parsing printing' - build --no-default-features --features 'fold visit visit-mut parsing printing' - build --no-default-features --features 'full fold visit visit-mut parsing printing' matrix: include: - rust: nightly name: Tests install: - rustup component add rustc-dev script: - cargo test --all-features --release - rust: nightly - rust: stable - rust: beta - rust: 1.31.0 - rust: nightly name: Examples script: - cargo check --manifest-path examples/dump-syntax/Cargo.toml - cargo check --manifest-path examples/heapsize/example/Cargo.toml - cargo check --manifest-path examples/lazy-static/example/Cargo.toml - cargo check --manifest-path examples/trace-var/example/Cargo.toml - rust: nightly name: Codegen script: - (cd codegen && cargo run) - git diff --exit-code - rust: nightly name: Minimal versions script: - cargo update -Z minimal-versions - cargo build --all-features - rust: nightly name: Clippy script: - rustup component add clippy || travis_terminate 0 - cargo clippy --all-features - rust: nightly name: WebAssembly env: TARGET=wasm32-unknown-unknown install: - rustup target add "${TARGET}" - rust: nightly name: WASI env: TARGET=wasm32-wasi install: - rustup target add "${TARGET}" allow_failures: - rust: nightly name: Clippy fast_finish: true env: global: - RUST_MIN_STACK=20000000