openethereum/.travis.yml

113 lines
5.1 KiB
YAML
Raw Normal View History

2016-01-28 17:39:06 +01:00
sudo: required
dist: trusty
2016-01-20 15:55:29 +01:00
language: rust
branches:
only:
- master
2016-02-15 23:39:58 +01:00
- /^beta-.*$/
- /^stable-.*$/
2016-02-08 15:54:13 +01:00
- /^beta$/
- /^stable$/
2016-03-15 10:57:09 +01:00
git:
depth: 3
2016-01-28 17:39:06 +01:00
matrix:
2016-03-15 15:09:12 +01:00
fast_finish: true
2016-02-19 01:13:00 +01:00
allow_failures:
- rust: nightly
2016-01-28 17:39:06 +01:00
include:
2016-03-05 11:35:44 +01:00
- rust: stable
2016-03-15 10:57:09 +01:00
env: FEATURES="--features travis-beta" RUN_TESTS="true"
2016-03-15 15:55:37 +01:00
# - rust: beta
# env: FEATURES="--features travis-beta" RUN_TESTS="true"
2016-03-15 10:57:09 +01:00
- rust: stable
env: FEATURES="--features travis-beta" RUN_BUILD="true"
- rust: beta
env: FEATURES="--features travis-beta" RUN_BUILD="true"
- rust: stable
env: FEATURES="--features travis-beta" RUN_COVERAGE="true"
2016-03-15 15:55:37 +01:00
# - rust: nightly
# env: FEATURES="--features travis-nightly" RUN_BENCHES="true"
2016-01-28 17:39:06 +01:00
- rust: nightly
2016-03-15 10:57:09 +01:00
env: FEATURES="--features travis-nightly" RUN_TESTS="true"
env:
global:
2016-07-08 15:25:24 +02:00
- TRAVIS_NODE_VERSION="6"
2016-03-15 10:57:09 +01:00
# GH_TOKEN
- secure: bumJASbZSU8bxJ0EyPUJmu16AiV9EXOpyOj86Jlq/Ty9CfwGqsSXt96uDyE+OUJf34RUFQMsw0nk37/zC4lcn6kqk2wpuH3N/o85Zo/cVZY/NusBWLQqtT5VbYWsV+u2Ua4Tmmsw8yVYQhYwU2ZOejNpflL+Cs9XGgORp1L+/gMRMC2y5Se6ZhwnKPQlRJ8LGsG1dzjQULxzADIt3/zuspNBS8a2urJwlHfGMkvHDoUWCviP/GXoSqw3TZR7FmKyxE19I8n9+iSvm9+oZZquvcgfUxMHn8Gq/b44UbPvjtFOg2yam4xdWXF/RyWCHdc/R9EHorSABeCbefIsm+zcUF3/YQxwpSxM4IZEeH2rTiC7dcrsKw3XsO16xFQz5YI5Bay+CT/wTdMmJd7DdYz7Dyf+pOvcM9WOf/zorxYWSBOMYy0uzbusU2iyIghQ82s7E/Ahg+WARtPgkuTLSB5aL1oCTBKHqQscMr7lo5Ti6RpWLxEdTQMBznc+bMr+6dEtkEcG9zqc6cE9XX+ox3wTU6+HVMfQ1ltCntJ4UKcw3A6INEbw9wgocQa812CIASQ2fE+SCAbz6JxBjIAlFUnD1lUB7S8PdMPwn9plfQgKQ2A5YZqg6FnBdf0rQXIJYxQWKHXj/rBHSUCT0tHACDlzTA+EwWggvkP5AGIxRxm8jhw=
2016-07-01 20:37:42 +02:00
- TARGETS="-p ethkey -p ethstore -p ethash -p ethcore-util -p ethcore -p ethsync -p ethcore-rpc -p parity -p ethjson -p ethcore-dapps -p ethcore-signer -p bigint"
2016-03-15 10:57:09 +01:00
- ARCHIVE_SUFFIX="-${TRAVIS_OS_NAME}-${TRAVIS_TAG}"
- KCOV_FEATURES=""
2016-06-20 10:18:53 +02:00
- KCOV_CMD="./kcov-master/tmp/usr/local/bin/kcov --exclude-pattern /usr/,/.cargo,/root/.multirust,src/tests,util/json-tests,util/src/network/tests,sync/src/tests,ethcore/src/tests,ethcore/src/evm/tests,ethstore/tests target/kcov"
2016-03-15 10:57:09 +01:00
- RUN_TESTS="false"
- RUN_COVERAGE="false"
- RUN_BUILD="false"
- RUN_BENCHES="false"
2016-03-20 11:35:46 +01:00
- RUST_BACKTRACE="1"
2016-01-20 16:43:29 +01:00
cache:
2016-01-28 17:39:06 +01:00
apt: true
2016-01-20 16:43:29 +01:00
directories:
2016-03-15 10:57:09 +01:00
- $TRAVIS_BUILD_DIR/target
2016-02-18 20:06:59 +01:00
- $HOME/.cargo
2016-01-28 17:39:06 +01:00
addons:
apt:
packages:
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
2016-03-15 10:57:09 +01:00
2016-07-08 13:35:25 +02:00
install:
- rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install $TRAVIS_NODE_VERSION
2016-01-28 17:39:06 +01:00
script:
2016-07-13 11:58:55 +02:00
- if [ "$RUN_TESTS" = "true" ]; then cargo test --release --verbose --no-default-features ${FEATURES} ${TARGETS}; fi
- if [ "$RUN_BENCHES" = "true" ]; then cargo bench --no-run --no-default-features ${FEATURES} ${TARGETS}; fi
- if [ "$RUN_BUILD" = "true" ]; then cargo build --release --verbose --no-default-features ${FEATURES}; fi
2016-03-15 10:57:09 +01:00
- if [ "$RUN_BUILD" = "true" ]; then tar cvzf parity${ARCHIVE_SUFFIX}.tar.gz -C target/release parity; fi
2016-01-28 17:39:06 +01:00
after_success: |
2016-03-15 10:57:09 +01:00
[ "$RUN_COVERAGE" = "true" ] &&
2016-01-28 17:39:06 +01:00
wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
tar xzf master.tar.gz && mkdir kcov-master/build && cd kcov-master/build && cmake .. && make && make install DESTDIR=../tmp && cd ../.. &&
cargo test --no-run ${KCOV_FEATURES} ${TARGETS} &&
2016-06-20 10:18:53 +02:00
$KCOV_CMD target/debug/deps/ethkey-* &&
$KCOV_CMD target/debug/deps/ethstore-* &&
2016-03-15 10:57:09 +01:00
$KCOV_CMD target/debug/deps/ethcore_util-* &&
$KCOV_CMD target/debug/deps/ethash-* &&
$KCOV_CMD target/debug/deps/ethcore-* &&
$KCOV_CMD target/debug/deps/ethsync-* &&
$KCOV_CMD target/debug/deps/ethcore_rpc-* &&
$KCOV_CMD target/debug/deps/ethcore_dapps-* &&
$KCOV_CMD target/debug/deps/ethcore_signer-* &&
2016-03-19 18:46:28 +01:00
$KCOV_CMD target/debug/deps/ethjson-* &&
2016-03-15 10:57:09 +01:00
$KCOV_CMD target/debug/parity-* &&
2016-01-28 17:39:06 +01:00
[ $TRAVIS_BRANCH = master ] &&
[ $TRAVIS_PULL_REQUEST = false ] &&
2016-03-05 11:35:44 +01:00
[ $TRAVIS_RUST_VERSION = stable ] &&
2016-02-02 02:32:58 +01:00
cargo doc --no-deps --verbose ${KCOV_FEATURES} ${TARGETS} &&
2016-01-28 17:48:10 +01:00
echo '<meta http-equiv=refresh content=0;url=ethcore/index.html>' > target/doc/index.html &&
pip install --user ghp-import &&
/home/travis/.local/bin/ghp-import -n target/doc &&
git push -fq https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages
2016-02-02 14:33:02 +01:00
deploy:
provider: releases
api_key:
2016-02-03 10:00:58 +01:00
secure: "t+oGT/4lsy7IScw5s86Dpntl5Nyck4qG6nhHwMScc6FYzwLldgwgJaafL8Ej+HG+b7nFLriN+Snoa4YQ5o74X5ZlSWubVREOYQlL/fq7vcPB0DwAZ0Jufq1QW2R1M+3SwwF1eAwTv2W3G7A2K7dxjCVvENcy/gdxnZ36NeUPsqaCC9UcI2Yc7+4jyQwvx6ZfBvQeu+HbKENA0eUNs2ZQOID/1IPy0LJBvSyxAQYsysXdjTzGdNu4+Iba20E8uWYe4fAbgz+gwGarXg1L6D6gKyMlWkViqWjvXWBuDJJqMQZ3rw41AwZOoh3mKd2Lc0l6l4oZcEqPuob0yKTNjz1tuJy9xKTC2F2bDzsvUgk1IRfMK5ukXXXS09ZCZWuA9/GtnsqJ1xGTiwX+DhQzpVBHaBiseSNlYE1YN/3jNyGY+iSts1qut+1BwE7swmcTLsAPoAy8Ue+f7ErNoCg1lm71vq7VO2DLn7x2NqHyHUEuJ+7olDHSdE84G7d9otDRu/+TfMOw7GXwTaha6yJRInuNsnj4CFMLNVvYACzCC2idB7f7nUZoSFi9jf18S9fCMPVmazMrFj4g95HWrVHkjpV5zRTeUdTWw6DJl6pC9HFqORHdCvLv4Rc4dm5r3CmOcAQ0ZuiccV2oKzw4/Wic96daae8M5f5KSQ/WTr+h0wXZKp0="
2016-02-02 14:33:02 +01:00
skip_cleanup: true
2016-02-02 15:01:18 +01:00
file: parity${ARCHIVE_SUFFIX}.tar.gz
2016-02-02 14:33:02 +01:00
on:
tags: true
2016-02-05 13:51:35 +01:00
notifications:
2016-03-28 15:47:57 +02:00
webhooks:
urls:
- https://hooks.slack.com/services/${SLACK_WEBHOOK}
on_success: always
on_failure: always
on_start: never
notifications:
slack:
rooms:
- ethcore:4EGxt9WP6AS7uX4JKXSfR9vi#chatops