juniper 0.6.3

GraphQL server library
Documentation
language: rust
cache: cargo

rust:
  - stable
  - beta
  - nightly

  # The three most recent stable releases before "stable"
  - 1.12.1
  - 1.13.0
  - 1.14.0

matrix:
  allow_failures:
    - rust: nightly

addons:
  apt:
    packages:
      - libcurl4-openssl-dev
      - libelf-dev
      - libdw-dev
      - binutils-dev

env:
  global:
    - secure: "SsepHEYRmW9ee3RhxPpqGuPigZINFfA/yOwUJFseQt4t+Zs90r1xdl3Q8eDfPlnvBsL7Rd0QQrFDO7JUaimVLlgQkUnrl62o0CYzkodp+qtocyAHS00W6WTqi8Y6E6KBxPshCl03dRLaySUfx5TqTLTIHkJ0G6vDW35k7hRrA3221lRphs5rrpvAZ21pqsDsNLH3HVo792L6A0kOtBa3ocw1pgHLxnBbArIViu2htUuFvY/TgsmVbAdlow0efw/xkcJ/p0/r5q7igLek6Iqk8udfRc7CktvoiFQ2vUnhtNtQu/zYll3Q7OUx5d+w5lhbzz2QINmsezBEisH9k1haL7dMviLPp0pn4WZed60KovO0Iqfgjy1utTaKvJVfNWYsgkfU8c9a/z2rcZOKwXNKQW2ptBrtVjaB9dk7eMoyuFCDZwNtKqvG+ZKmvMpun+R8mmx+buOmN8Vlf5ygIoGxz3nbEtlLYGVTXHfdXXqRkFIwtiYVJEO7SLRKT9pbx1E++ARsi2+y8bXJT4e4z0osYMq9EsiFUpw3J2gcshrgseqkB7UgCZ3SXuitJnJNfDAU3a3nwwS/JiAunZMNnC4rKUBbl7WbTB4Cpw7EgVOlCqcyyzlkNl3xabLzTFzLOfSHLTVX5FmGNsD21vBoS5/8ejftx9wuV3rGHxuO3i3+A3k="

script:
  - cargo build --verbose
  - cargo build --verbose --features iron-handlers
  - cargo test --verbose --features "iron-handlers expose-test-schema"

before_deploy:
  - rm -rf target/package/
  - cargo package --verbose

  - |
    if [ "$TRAVIS_BRANCH" = master -a "$TRAVIS_PULL_REQUEST" = false -a "$TRAVIS_RUST_VERSION" = stable ]; then
      set -e

      cargo doc --features iron-handlers

      mkdir -p ~/.ssh
      openssl aes-256-cbc -K $encrypted_7258158212d8_key -iv $encrypted_7258158212d8_iv -in _build/travis-juniper.enc -out ~/.ssh/id_rsa -d
      chmod 600 ~/.ssh/id_rsa

      git clone --branch gh-pages git@github.com:mhallin/juniper deploy_docs
      cd deploy_docs

      git config user.name 'Juniper Documentation Builder'
      git config user.email 'nobody@example.com'

      rm -rf *
      mv ../target/doc/* .

      echo '<meta http-equiv="refresh" content="0; url=juniper/index.html">' > index.html

      git add -A *
      git commit -qm 'Update documentation for Juniper'
      git push -q origin gh-pages
    fi

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/