| 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 |
| |
| before_script: |
| - pip install 'travis-cargo<0.2' --user |
| - export PATH=$HOME/.local/bin:$PATH |
| |
| 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 '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 --features 'full fold visit visit_mut' -- -Dclippy |
| ;; |
| codegen) |
| (cd syn_codegen && cargo run) && |
| git diff --exit-code |
| ;; |
| *) |
| exit 1 |
| ;; |
| esac |
| |
| after_success: |
| - | |
| if [ "$ROLE" = build ] && [ "$TRAVIS_RUST_VERSION" = nightly ]; then |
| SYN=$(curl -sS https://crates.io/api/v1/crates/syn | jq -r .crate.max_version) |
| SYNOM=$(curl -sS https://crates.io/api/v1/crates/synom | jq -r .crate.max_version) |
| echo "Documenting syn ${SYN}" |
| curl -sSLo syn.crate.tgz "https://crates.io/api/v1/crates/syn/${SYN}/download" && |
| tar xf syn.crate.tgz && |
| cd "syn-${SYN}" && |
| curl -sSLo synom.crate.tgz "https://crates.io/api/v1/crates/synom/${SYNOM}/download" && |
| tar xf synom.crate.tgz && |
| mv "synom-${SYNOM}" synom && |
| cargo doc --features 'full fold visit visit_mut' && |
| travis-cargo doc-upload |
| fi |
| |
| env: |
| matrix: |
| - ROLE=build |
| - ROLE=test |
| - ROLE=clippy |
| - ROLE=codegen |
| global: |
| - RUST_MIN_STACK=16000000 |
| - TRAVIS_CARGO_NIGHTLY_FEATURE="" |
| # GH_TOKEN |
| - secure: E2sT5g8HshdADgO9E7t8cukYM59/wHxwztzKeceUxYE5TQ7ZCTufBIfqh8oFimKf98y0s7lvWS9sMrmNdo73tKsO/YvXeUorVfjj43GM7opejlQnSd2iLUk05RnWYeT4sZu88JXxOTOapi3rW2M35E+oVA2I6eMurShNAJI/wZka/LDhZp2YwoaCoOc4RVrZoy1j3ODw/9P+whUTaMPQb6fBq2H0UfWLUQFP6w1+8khqERMLLYq234A19wI73rfbsR1k2lf6HNbtPPLfc+CLsthGPfbn74E6HlZ+/7Dm2RIaRaPWmX9h68aspWnaOoQ8ca1APwia6GSwrPlKQcc8xcwHKTAi8FH1WP6cTGvBnoER9Ajbmq2UKAVD3BpD758y4IJctuJ6d/5gR0rFr3Z8upHWiUSUdgkr0Sspiib8kDXJpyLTw85pwhRZm8mWsUwjzMdti020pimwKkJ/YbCXxKMArzRkCRBsQvaVubivg+2nS+EpYUbVC4JOJ4JHwvVOnH5GZ5iYPtP+W2ryYQ1+fXCmVdZP6E9NKpebJm5bPcsMmN1l3ek/E3ws1CSw7lEKwdlSoX3GBfNpYUknFctaMOeGm3itewI7JXAsMT/I3IphXguvxAVd3Ijk4MlxkHSqObnlQ8IdVRJ5Go7BQsMqkNgAOHthXAcA54F9z/n6GXc= |