sozu/.travis.yml

80 lines
2.4 KiB
YAML

language: rust
# sudo is required to enable kcov to use the personality syscall
sudo: required
dist: xenial
cache: cargo
os:
- linux
- mac
rust:
- nightly
- beta
- stable
before_install:
- export ROOT_PATH=`pwd`
before_script:
- export PATH=$HOME/.cargo/bin:$PATH
- eval git pull --rebase https://github.com/sozu-proxy/sozu
- eval git log --pretty=oneline HEAD~10..HEAD
matrix:
include:
- rust: nightly
env: CODECOV=1
before_script:
- which cargo-tarpaulin || `RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin`
script:
cd $ROOT_PATH && cargo +nightly tarpaulin --all --ciserver travis-ci --coveralls $TRAVIS_JOB_ID
allow_failures:
- rust: nightly
env: CODECOV=1
# Dependencies of kcov, used by coverage
addons:
apt:
packages:
- libcurl4-openssl-dev # should we delete this?
- libelf-dev
- libdw-dev
- binutils-dev
- libssl-dev
- libssl1.0.0
- cmake
- pkg-config
- zlib1g-dev
sources:
- kalakris-cmake
homebrew:
packages:
- openssl # should we delete this?
- cmake
- pkg-config
script:
- cd $ROOT_PATH/lib && cargo test --verbose
- cd $ROOT_PATH/command && cargo test --verbose
- cd $ROOT_PATH/bin && cargo build --verbose
cache:
directories:
- /home/travis/.cargo
before_cache:
- rm -rf /home/travis/.cargo/registry
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/a8be0f69e0165e590dcb
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # options: [always|never|change] default: always
slack:
secure: CLqbnIKNGAMownPW99FlbUMzgrEqHhKI4W5+w5kSi3OIW9fDnZXcDRDR9bN9C9ppmLbw8K23Ht5kQRJ4ZT2hpby9SDXUFHKJbcHLpe9sHiiYqKKs0WP7V4YJmoh/Pn3REbrTP5/mSKbuGXtMCBsO7ae7Fqfedv/b55/GxIK0BEz/MNkB1/HtU7OqsGVbENt3u5soLiiV05rbfEGJr5Ku0Z8UqldzH7vUD8raxbURSdAthHcGpTl3/+6zeZ4gq+fs1oVBq8RG14UiN1mlIlVRGe4ik4FZOKQgrh/UwD9F0akUlPVGb6tkKlHV78yV7hnLXPNqAxBlC7wRjbYgw541LzVNHGA/Aefio76QgQCyaq/8epNmaGEgj3aLf6Z1jCTBifz2cLiRoLGJAcfqvtaierBV8MvpqWMe1c91sRRrWa5QzdUcmuptOc0U5UnzaHxuDBAIPif0WumemW2kK3cBMM39zY5P9zJZMcNi1XO/nduVVJ+MSuYbHsvRWcgvWFahxW5cYxCrGVafVfKSgFyL6sPdh4Lk/CduuRmbzo9F6zQM5v2si50jbCrwHD6vSyFjHyKZ4eMFvBr8E6yA0ZDWPCleKFB/IZ4Wxt4NhjPPXsgej9xb2qUXVrLSdHKxsgikZptXp58dovm+soisV9TrsMnGGxjRPMvJJOOiDr0y0Yo=