appro-eq 0.3.1

Approximately equal traits and assertion
Documentation
language: rust

rust:
- stable
- beta
- nightly

sudo: true

os:
- linux

matrix:
  allow_failures:
  - rust: nightly

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

before_script:
- |
  if [ "${TRAVIS_OS_NAME}" = 'osx' ]; then
    export PATH=$HOME/Library/Python/2.7/bin:$PATH
  fi
- |
  if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
    pippackage=("ghp-import" "pytoml")
    comm -13 <(pip freeze | cut -d= -f1 | sort) <(for i in ${pippackage[*]};do echo $i;done | sort) | grep -v '^#' | xargs pip install --user
    export CARGO_PACKAGE_NAME=$(echo 'import pytoml as toml; print(toml.load(open("Cargo.toml", "rb"))["package"]["name"])' | python2)
    echo CARGO_PACKAGE_NAME=$CARGO_PACKAGE_NAME
  fi
- |
  if [ "$TRAVIS_RUST_VERSION" = "nightly" ]; then
    export FEATURES="complex rational ndarray"
  else
    export FEATURES="complex rational ndarray"
  fi
- cargo install cargo-update || echo "cargo-update already installed"
- cargo install cargo-travis || echo "cargo-travis already installed"
- cargo install-update -a || true # update outdated cached binaries

script:
- cargo build --features="$FEATURES"
- cargo test --no-run --features="$FEATURES"
- cargo build --release --features="$FEATURES"
- cargo test --release --no-run --features="$FEATURES"
- |
  if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
    cargo coveralls --features="$FEATURES" ||
      cargo test --features="$FEATURES"
  else
    cargo test --features="$FEATURES"
  fi
- cargo test --release --features="$FEATURES"
- |
  if [ "$TRAVIS_RUST_VERSION" = "nightly" ]; then
    cargo bench --verbose --features="$FEATURES"
  fi
- |
  if [ "${TRAVIS_OS_NAME}" = "linux" ] &&
     [ "${TRAVIS_RUST_VERSION}" = "nightly" ]; then
    cargo doc --no-deps --features="docs" &&
    echo "<meta http-equiv=refresh content=0;url=`echo $CARGO_PACKAGE_NAME`/index.html>" > target/doc/index.html &&
    ghp-import -n target/doc
  fi
- |
  if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
    cargo login ${CRATES_TOKEN} &&
    cargo package
  fi

after_success:
- |
  if [ "${TRAVIS_OS_NAME}" = "linux" ] &&
     [ "${TRAVIS_RUST_VERSION}" = "nightly" ] &&
     [ "${TRAVIS_BRANCH}" = "master" ] &&
     [ "${TRAVIS_PULL_REQUEST}" = "false" ] &&
     [ "${RUSTFLAGS}"="-C debug-assertions=off" ] &&
     [ "${TRAVIS_EVENT_TYPE}" = "push" ]; then
    git push -fq https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages &&
    cargo publish
  fi

env:
  matrix:
    - RUSTFLAGS="-C debug-assertions=on"
    - RUSTFLAGS="-C debug-assertions=off"
  global:
    secure: K76k+cWN808HPtLvgnUKQmOBlfjzzQJ0KZAJzffkn1JO2zBpmJwMiIZZKGbLk1N+lP4eGUSx0DBwytyo6owG/6KPtIHWp3WA1p6vpTMRAELwMLH+/AKFPBp43c+Rm3mMI3HKsN6IB2yOfsWwxEdBROLnRO+sT38BnHIuXBSW/UTNqg4lml3OAhui+oa1lR0BIcL1dkEuDjZdDSzWzrQAULgR3C4maaFVQoaVhZNpSlE8D1lHompghxvjFk5vzewERUJMbLe5uozkxdQNwcJMMB775l6p7kAvHIy/mEoDrOqOeSPMdr8bnr/DDS/asU992R5AONd6Ml4h83WJZGLk2NRF9E16LzE939i7imrrg8Zprs7J1S9NzfQIXH83YsJIQ2A+9fAvLwKDvfm0epgw5MZhNP538inrmUT0IXG5aqqlI5ISHzqLRUNmOO/VaxkpKQer0GuOBvReheh+h/6XizzGGsI6yLHiimQ8SQV0o10jBXi+Flo9hwxY3ZhbbNRSTaHGjawx/vkNraBlHCX6otRr2ewTodlsl46uM0J97j/eg2S4UUSiMHyyl4JhJQ5iJxNmZEsdLCzStrdFtGfAc4oA77NJVLjMRHSUxybokKeUBVbXuQ3MpNrdmjlKvg0o2oMFsYLI2AXoVfWxq8JVdDHtads1Lh302HsDDms0eTY=

cache:
  cargo: true
  apt: true
  pip: true

notifications:
  email:
    on_success: never
    on_failure: always