blob: fa153d997cc3f008be525305b5f6ab7df65ce0fe [file] [log] [blame]
sudo: false
language: rust
rust: nightly
cache:
cargo: true
directories:
- tests/rust
matrix:
include:
- rust: stable
env: ROLE=build
- rust: beta
env: ROLE=build
- rust: 1.15.1
env: ROLE=build
allow_failures:
- env: ROLE=clippy
fast_finish: true
script:
- |
case $ROLE in
build)
cargo build --no-default-features &&
cargo build &&
cargo build --features full &&
cargo build --features 'fold visit visit-mut' &&
cargo build --features 'full fold visit visit-mut' &&
cargo build --no-default-features --features derive &&
cargo build --no-default-features --features 'derive parsing' &&
cargo build --no-default-features --features 'derive printing' &&
cargo build --no-default-features --features 'full parsing' &&
cargo build --no-default-features --features 'full printing' &&
cargo build --no-default-features --features 'full parsing printing' &&
cargo build --no-default-features --features 'fold visit visit-mut parsing printing' &&
cargo build --no-default-features --features 'full fold visit visit-mut parsing printing'
;;
test)
cargo test --all-features --release
;;
clippy)
cargo install clippy --debug --force || exit
cargo clippy --all-features -- -Dclippy
;;
codegen)
(cd codegen && cargo run) &&
git diff --exit-code
;;
*)
exit 1
;;
esac
env:
matrix:
- ROLE=build
- ROLE=test
- ROLE=clippy
- ROLE=codegen
global:
- RUST_MIN_STACK=20000000