| 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 |