language: rust
cache:
  cargo: true
  timeout: 240
before_cache:
- rm -rf target/tmp
dist: trusty
sudo: required
rust:
- stable
addons:
  apt:
    sources:
    - ubuntu-toolchain-r-test
    packages:
    - g++-5
    - cmake
    - libcurl4-openssl-dev
    - libelf-dev
    - libdw-dev
    - cmake
    - gcc
    - binutils-dev
env:
  global:
  - RUST_BACKTRACE="1"
  - RUST_FLAGS="-C debug-assertions"
  matrix:
  - RUST_TEST_THREADS=1 TEST_DIR=servers
  - TEST_DIR=store
  - TEST_DIR=chain
  - TEST_DIR=pool
  - TEST_DIR=wallet
  - TEST_DIR=p2p
  - TEST_DIR=api
  - TEST_DIR=keychain
  - TEST_DIR=core
  - TEST_DIR=util
  - TEST_DIR=config
script: cd $TEST_DIR && cargo test --release
deploy:
  provider: releases
  api_key:
    secure: PBTFcoUmiQITkDdtFzrBlNR/5OgYHTCw+xVWGYu205xwTlj/ARBgw7DNt8dIdptLx+jOM2V5SbJqSFxs/CJ2ZcOHQZ6ubwpAJlRfuk3xDAi5JmuHYfcY+4SQ9l/0MgHnGfuml093xP7vTIYm2Vwwgdq8fd3jdWmvwgk9zgaGXB4UIXQA0yIs3EzxZpqiLg629Ouv7edMfyffwlG+rgQ1koe6sqeMCxIs0N3p97GCx19kNe0TV4dC7XAN74HreMdHmwxPKAK4xG/jtA1Snm0pMQ50Z0Kizt+0yrGOPMLnWwO9sS38iosBn3Vh1R8HKle2xBGflTtT/LG9lHdQZ5NF572q6681x6t7str4OjJ5bboy1PtNLFxG7RJCVIpp9gbouzdxIaJWRTxIdlk8UNQMrD8ieiNE6V1vZtbHGtJHRSJN1vO/XxsLlQDCyakLhG/nmSKXgiT9wIsu+zj/3oDe+LBt5QetEGYGBrCwUewjaQ7EP1rsT7alQrHTMad5DPjYftJuvfR+yBtz1qbzQwZVJpQC1KY1c476mXPQsaywuUrj56hH92p7P3vl6aMN2OPJZP+zENOVSURHc56KeTsDS55+KKzcRjCMA2L0LR1hP33+V5kavMHgCRrWIkxAkZ4eRqnermalzp8vlzL6EEoGm0VFLzv4mJmzrY1mC1LyCHo=
  file: target/release/grin
  on:
    repo: mimblewimble/grin
    tags: true
