diff --git a/.travis.yml b/.travis.yml index d051971bcec..91a5dd5b91f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,3 @@ -sudo: required dist: trusty language: rust branches: @@ -8,45 +7,33 @@ branches: - /^stable-.*$/ - /^beta$/ - /^stable$/ + git: depth: 3 + matrix: - fast_finish: true - allow_failures: - - rust: nightly include: - rust: stable env: FEATURES="--features travis-beta" RUN_TESTS="true" - # - rust: beta - # env: FEATURES="--features travis-beta" RUN_TESTS="true" - - 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" - # - rust: nightly - # env: FEATURES="--features travis-nightly" RUN_BENCHES="true" - - rust: nightly - env: FEATURES="--features travis-nightly" RUN_TESTS="true" + env: global: - # 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= - - 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" - - ARCHIVE_SUFFIX="-${TRAVIS_OS_NAME}-${TRAVIS_TAG}" - - KCOV_FEATURES="" - - 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" + - RUST_BACKTRACE="1" - RUN_TESTS="false" - RUN_COVERAGE="false" - - RUN_BUILD="false" - - RUN_BENCHES="false" - - RUST_BACKTRACE="1" + # GH_TOKEN for documentation + - 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= + - KCOV_CMD="./kcov-master/tmp/usr/local/bin/kcov" + cache: apt: true directories: - $TRAVIS_BUILD_DIR/target + - $TRAVIS_BUILD_DIR/kcov-master - $HOME/.cargo + addons: apt: packages: @@ -55,54 +42,24 @@ addons: - libdw-dev script: - - if [ "$RUN_TESTS" = "true" ]; then cargo test --release --verbose ${FEATURES} ${TARGETS}; fi - - if [ "$RUN_BENCHES" = "true" ]; then cargo bench --no-run ${FEATURES} ${TARGETS}; fi - - if [ "$RUN_BUILD" = "true" ]; then cargo build --release --verbose ${FEATURES}; fi - - if [ "$RUN_BUILD" = "true" ]; then tar cvzf parity${ARCHIVE_SUFFIX}.tar.gz -C target/release parity; fi - -after_success: | - [ "$RUN_COVERAGE" = "true" ] && - 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} && - $KCOV_CMD target/debug/deps/ethkey-* && - $KCOV_CMD target/debug/deps/ethstore-* && - $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-* && - $KCOV_CMD target/debug/deps/ethjson-* && - $KCOV_CMD target/debug/parity-* && - [ $TRAVIS_BRANCH = master ] && - [ $TRAVIS_PULL_REQUEST = false ] && - [ $TRAVIS_RUST_VERSION = stable ] && - cargo doc --no-deps --verbose ${KCOV_FEATURES} ${TARGETS} && - echo '' > 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 - -deploy: - provider: releases - api_key: - 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=" - skip_cleanup: true - file: parity${ARCHIVE_SUFFIX}.tar.gz - on: - tags: true + - if [ "$RUN_TESTS" = "true" ]; then ./test.sh; fi -notifications: - webhooks: - urls: - - https://hooks.slack.com/services/${SLACK_WEBHOOK} - on_success: always - on_failure: always - on_start: never +install: + - [ "$RUN_COVERAGE" = "true" ] && + 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 ../.. -notifications: - slack: - rooms: - - ethcore:4EGxt9WP6AS7uX4JKXSfR9vi#chatops +after_success: + - [ "$RUN_COVERAGE" = "true" ] && ./scripts/cov.sh "$KCOV_CMD" + - [ $TRAVIS_BRANCH = master ] && + [ $TRAVIS_PULL_REQUEST = false ] && + [ $TRAVIS_RUST_VERSION = stable ] && + ./scripts/doc.sh && + 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 diff --git a/add_license.sh b/add_license.sh deleted file mode 100755 index 1d916f42796..00000000000 --- a/add_license.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -for f in $(find . -name '*.rs'); do - cat license_header $f > $f.new - mv $f.new $f -done diff --git a/cov.sh b/cov.sh deleted file mode 100755 index 8de2264c05c..00000000000 --- a/cov.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Installing KCOV under ubuntu -# https://users.rust-lang.org/t/tutorial-how-to-collect-test-coverages-for-rust-project/650# -### Install deps -# $ sudo apt-get install libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev -# -### Compile kcov -# $ wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz && tar xf master.tar.gz -# $ cd kcov-master && mkdir build && cd build -# $ cmake .. && make && sudo make install - -### Running coverage -if ! type kcov > /dev/null; then - echo "Install kcov first (details inside this file). Aborting." - exit 1 -fi - -cargo test \ - -p ethkey \ - -p ethstore \ - -p ethash \ - -p ethcore-util \ - -p ethcore \ - -p ethsync \ - -p ethcore-rpc \ - -p parity \ - -p ethcore-signer \ - -p ethcore-dapps \ - --no-run || exit $? -rm -rf target/coverage -mkdir -p target/coverage - -EXCLUDE="~/.multirust,rocksdb,secp256k1,src/tests,util/json-tests,util/src/network/tests,sync/src/tests,ethcore/src/tests,ethcore/src/evm/tests,ethstore/tests" -kcov --exclude-pattern $EXCLUDE --include-pattern src --verify target/coverage target/debug/deps/ethkey-* -kcov --exclude-pattern $EXCLUDE --include-pattern src --verify target/coverage target/debug/deps/ethstore-* -kcov --exclude-pattern $EXCLUDE --include-pattern src --verify target/coverage target/debug/deps/ethcore-* -kcov --exclude-pattern $EXCLUDE --include-pattern src --verify target/coverage target/debug/deps/ethash-* -kcov --exclude-pattern $EXCLUDE --include-pattern src --verify target/coverage target/debug/deps/ethcore_util-* -kcov --exclude-pattern $EXCLUDE --include-pattern src --verify target/coverage target/debug/deps/ethsync-* -kcov --exclude-pattern $EXCLUDE --include-pattern src --verify target/coverage target/debug/deps/ethcore_rpc-* -kcov --exclude-pattern $EXCLUDE --include-pattern src --verify target/coverage target/debug/deps/ethcore_signer-* -kcov --exclude-pattern $EXCLUDE --include-pattern src --verify target/coverage target/debug/deps/ethcore_dapps-* -xdg-open target/coverage/index.html diff --git a/doc.sh b/doc.sh deleted file mode 100755 index 41251f7a884..00000000000 --- a/doc.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# generate documentation only for partiy and ethcore libraries - -cargo doc --no-deps --verbose \ - -p ethkey \ - -p ethstore \ - -p ethash \ - -p ethcore-util \ - -p ethcore \ - -p ethsync \ - -p ethcore-rpc \ - -p ethcore-signer \ - -p ethcore-dapps \ - -p parity \ diff --git a/fmt.sh b/fmt.sh deleted file mode 100755 index 624b404ffcf..00000000000 --- a/fmt.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -RUSTFMT="rustfmt --write-mode overwrite" - -$RUSTFMT ./ethash/src/lib.rs -$RUSTFMT ./ethcore/src/lib.rs -$RUSTFMT ./evmjit/src/lib.rs -$RUSTFMT ./json/src/lib.rs -$RUSTFMT ./miner/src/lib.rs -$RUSTFMT ./parity/main.rs -$RUSTFMT ./rpc/src/lib.rs -$RUSTFMT ./signer/src/lib.rs -$RUSTFMT ./dapps/src/lib.rs -$RUSTFMT ./sync/src/lib.rs -$RUSTFMT ./util/src/lib.rs - diff --git a/hook.sh b/hook.sh deleted file mode 100755 index 9ce825f800b..00000000000 --- a/hook.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -FILE=./.git/hooks/pre-push -echo "#!/bin/sh\n" > $FILE -# Exit on any error -echo "set -e" >> $FILE -# Run release build -echo "cargo build --features dev" >> $FILE -# Build tests -echo "cargo test --no-run --features dev \\" >> $FILE -echo " -p ethkey -p ethstore -p ethash -p ethcore-util -p ethcore -p ethsync -p ethcore-rpc -p parity -p ethcore-dapps -p ethcore-signer" >> $FILE -echo "" >> $FILE -chmod +x $FILE diff --git a/test.sh b/test.sh index a62c835e8a0..0de4d758c04 100755 --- a/test.sh +++ b/test.sh @@ -1,15 +1,18 @@ #!/bin/sh # Running Parity Full Test Sute -cargo test --features ethcore/json-tests $1 \ - -p ethkey \ - -p ethstore \ - -p ethash \ - -p ethcore-util \ - -p ethcore \ - -p ethsync \ - -p ethcore-rpc \ - -p ethcore-signer \ - -p ethcore-dapps \ - -p parity \ - -p bigint +FEATURES="--features ethcore/json-tests" + +case $1 in + --no-json) + FEATURES="" + shift # past argument=value + ;; + *) + # unknown option + ;; +esac + +. ./scripts/targets.sh +cargo test $FEATURES $TARGETS $1 \ +