juniper/.travis.yml
Magnus Hallin 5f69b1d45e Stop building on older Rusts than 1.17.0
While the library still works, all targets can't be tested since the
"required features" feature in Cargo is absent, making it try to
compile the Rocket integration when running the test suite.
2017-06-14 16:45:21 +02:00

74 lines
3 KiB
YAML

language: rust
cache: cargo
rust:
- stable
- beta
- nightly
# Prevent accidentally breaking older Rust versions
- 1.17.0
- 1.18.0
matrix:
allow_failures:
- rust: nightly
env:
global:
- secure: "SsepHEYRmW9ee3RhxPpqGuPigZINFfA/yOwUJFseQt4t+Zs90r1xdl3Q8eDfPlnvBsL7Rd0QQrFDO7JUaimVLlgQkUnrl62o0CYzkodp+qtocyAHS00W6WTqi8Y6E6KBxPshCl03dRLaySUfx5TqTLTIHkJ0G6vDW35k7hRrA3221lRphs5rrpvAZ21pqsDsNLH3HVo792L6A0kOtBa3ocw1pgHLxnBbArIViu2htUuFvY/TgsmVbAdlow0efw/xkcJ/p0/r5q7igLek6Iqk8udfRc7CktvoiFQ2vUnhtNtQu/zYll3Q7OUx5d+w5lhbzz2QINmsezBEisH9k1haL7dMviLPp0pn4WZed60KovO0Iqfgjy1utTaKvJVfNWYsgkfU8c9a/z2rcZOKwXNKQW2ptBrtVjaB9dk7eMoyuFCDZwNtKqvG+ZKmvMpun+R8mmx+buOmN8Vlf5ygIoGxz3nbEtlLYGVTXHfdXXqRkFIwtiYVJEO7SLRKT9pbx1E++ARsi2+y8bXJT4e4z0osYMq9EsiFUpw3J2gcshrgseqkB7UgCZ3SXuitJnJNfDAU3a3nwwS/JiAunZMNnC4rKUBbl7WbTB4Cpw7EgVOlCqcyyzlkNl3xabLzTFzLOfSHLTVX5FmGNsD21vBoS5/8ejftx9wuV3rGHxuO3i3+A3k="
script:
# Build library standalone, with Iron, and with Rocket integrations enabled, respectively
- cargo build --verbose
- cargo build --verbose --features iron-handlers
- |
if [ "$TRAVIS_RUST_VERSION" = "nightly" ]; then
cargo build --verbose --features rocket-handlers
fi
# Build example binaries; first Iron, then Rocket examples
- cargo build --verbose --example server --features "iron-handlers expose-test-schema"
- |
if [ "TRAVIS_RUST_VERSION" = "nightly" ]; then
cargo build --verbose --example rocket-server --features "rocket-handlers expose-test-schema"
fi
# Run all tests for the base library and available integrations
- export TEST_FEATURES="iron-handlers expose-test-schema"
- |
if [ "$TRAVIS_RUST_VERSION" = "nightly" ]; then
export TEST_FEATURES="$TEST_FEATURES rocket-handlers"
fi
- cargo test --verbose --features "$TEST_FEATURES"
before_deploy:
- rm -rf target/package/
- cargo package --verbose
deploy:
provider: releases
api_key:
secure: "qsMOCWmD3+y30loMSqeEZrNvy2NQaIi4TixRtu7cZyOZwal4nzHJPhozDjbm3Po59s8lH7JaIuzpVJ62bfI/BHk+ZjXU+q93cHrVqiDtf6tScOMn6TYnVcF4Af36dYKNgjOXufT01cHQXWTBUW5oEYaL7z69d7UYFhYnFo54Dd5YA5Y1vTPFEC/nLD7wdnedG1y6V0vAkXQ0tgMauUx6JJ6iids4QVTT6wIFiZDV0vilHqRNjM9WkFTS9JQHsOwdLN71Ry1rxm4/PukUm4Ly/Ouup2i0buJa0FdZW/1Ym1Db4CitvrnulCjSahkNMPjRaQDiuYCuEq+PiVu0n6gucNS/WlC41qLl6TGjAWGlKKCQz2KnBweGYtghLuUujBPCLpkMEDf/XH+sDfiV6S5Fe6MbgcF/zGccqXwh4LFh1MIU389ZX6UDukF3Ovx5xsE8ha84RyNgzDfT1if/vAXJXaPODxk5/KKP/pvUpvQR2hGz6KhzMTGT/WPN49uW/WAHUEze2ZwuqVH7u8JubtHuGif1PReUnGzEK3o7CUb+Cd4/X9tnKd8cJxV2qU7MFORZbmZQ5qk7VcBQ4ur3uGpenQZQyAdTEgJaznLxjOW3brZ/JDe56QrAi6WzBGrfd26kgg2GmdQq7TACSryjAD4oH6hM4JAmYpPYLn8hXlzO4FE="
file: target/package/juniper-$TRAVIS_TAG.crate
skip_cleanup: true
on:
tags: true
branch: master
condition: "$TRAVIS_RUST_VERSION = stable"
after_deploy:
- cargo publish --token "$CRATES_IO_TOKEN"
before_cache:
rm -rf target/debug/juniper*
rm -rf target/debug/libjuniper*
rm -rf target/debug/.fingerprint/juniper*
rm -rf target/release/juniper*
rm -rf target/release/libjuniper*
rm -rf target/release/.fingerprint/juniper*
rm -rf target/package/