-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 8142065
Showing
1,443 changed files
with
408,609 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
sudo: required | ||
dist: trusty | ||
os: linux | ||
language: minimal | ||
cache: | ||
ccache: true | ||
directories: | ||
- depends/built | ||
- depends/sdk-sources | ||
- $HOME/.ccache | ||
stages: | ||
- lint | ||
- test | ||
env: | ||
global: | ||
- MAKEJOBS=-j3 | ||
- RUN_UNIT_TESTS=true | ||
- RUN_FUNCTIONAL_TESTS=false # Not Yet Implemented | ||
- RUN_BENCH=false # Set to true for any one job that has debug enabled, to quickly check bench is not crashing or hitting assertions | ||
- DOCKER_NAME_TAG=ubuntu:18.04 | ||
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID | ||
- CCACHE_SIZE=100M | ||
- CCACHE_TEMPDIR=/tmp/.ccache-temp | ||
- CCACHE_COMPRESS=1 | ||
- CCACHE_DIR=$HOME/.ccache | ||
- BASE_OUTDIR=$TRAVIS_BUILD_DIR/out | ||
- SDK_URL=https://bitcoincore.org/depends-sources/sdks | ||
- WINEDEBUG=fixme-all | ||
- DOCKER_PACKAGES="build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache" | ||
|
||
before_install: | ||
- set -o errexit; source .travis/test_03_before_install.sh | ||
install: | ||
- set -o errexit; source .travis/test_04_install.sh | ||
before_script: | ||
- set -o errexit; source .travis/test_05_before_script.sh | ||
script: | ||
- set -o errexit; source .travis/test_06_script.sh | ||
after_script: | ||
- echo $TRAVIS_COMMIT_RANGE | ||
- echo $TRAVIS_COMMIT_LOG | ||
|
||
jobs: | ||
include: | ||
# lint stage | ||
- stage: lint | ||
env: | ||
sudo: false | ||
cache: false | ||
language: python | ||
python: '3.6' | ||
install: | ||
- set -o errexit; source .travis/lint_04_install.sh | ||
before_script: | ||
- set -o errexit; source .travis/lint_05_before_script.sh | ||
script: | ||
- set -o errexit; source .travis/lint_06_script.sh | ||
# ARM | ||
- stage: test | ||
env: >- | ||
HOST=arm-linux-gnueabihf | ||
PACKAGES="python3 g++-arm-linux-gnueabihf" | ||
DEP_OPTS="NO_QT=1" | ||
RUN_UNIT_TESTS=false | ||
RUN_FUNCTIONAL_TESTS=false | ||
GOAL="install" | ||
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1" | ||
# This could be removed once the ABI change warning does not show up by default | ||
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi" | ||
# AArch64 | ||
- stage: test | ||
env: >- | ||
HOST=aarch64-linux-gnu | ||
PACKAGES="python3 g++-aarch64-linux-gnu" | ||
DEP_OPTS="NO_QT=1" | ||
RUN_UNIT_TESTS=false | ||
RUN_FUNCTIONAL_TESTS=false | ||
GOAL="install" | ||
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" | ||
# Win32 | ||
- stage: test | ||
env: >- | ||
HOST=i686-w64-mingw32 | ||
DPKG_ADD_ARCH="i386" | ||
DEP_OPTS="NO_QT=1" | ||
PACKAGES="python3 nsis g++-mingw-w64-i686 wine-binfmt wine32" | ||
GOAL="install" | ||
BITCOIN_CONFIG="--enable-reduce-exports" | ||
# Win64 | ||
- stage: test | ||
env: >- | ||
HOST=x86_64-w64-mingw32 | ||
DEP_OPTS="NO_QT=1" | ||
PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64" | ||
GOAL="install" | ||
BITCOIN_CONFIG="--enable-reduce-exports" | ||
# 32-bit + dash | ||
- stage: test | ||
env: >- | ||
HOST=i686-pc-linux-gnu | ||
PACKAGES="g++-multilib python3-zmq" | ||
DEP_OPTS="NO_QT=1" | ||
GOAL="install" | ||
BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" | ||
CONFIG_SHELL="/bin/dash" | ||
# x86_64 Linux (uses qt5 dev package instead of depends Qt to speed up build and avoid timeout) | ||
- stage: test | ||
env: >- | ||
HOST=x86_64-unknown-linux-gnu | ||
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev libprotobuf-dev" | ||
DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1" | ||
GOAL="install" | ||
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER" | ||
# x86_64 Linux (no depends, only system libs) | ||
- stage: test | ||
env: >- | ||
HOST=x86_64-unknown-linux-gnu | ||
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev" | ||
NO_DEPENDS=1 | ||
GOAL="install" | ||
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER" | ||
# x86_64 Linux (sanitizers) | ||
# - stage: test | ||
# env: >- | ||
# HOST=x86_64-unknown-linux-gnu | ||
# PACKAGES="clang python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev" | ||
# NO_DEPENDS=1 | ||
# RUN_BENCH=true | ||
# RUN_FUNCTIONAL_TESTS=false # Disabled for now, can be combined with the other x86_64 linux NO_DEPENDS job when functional tests pass the sanitizers | ||
# GOAL="install" | ||
# BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=undefined CC=clang CXX=clang++" | ||
# x86_64 Linux, No wallet | ||
# - stage: test | ||
# env: >- | ||
# HOST=x86_64-unknown-linux-gnu | ||
# PACKAGES="python3" | ||
# DEP_OPTS="NO_WALLET=1" | ||
# GOAL="install" | ||
# BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" | ||
# Cross-Mac | ||
- stage: test | ||
env: >- | ||
HOST=x86_64-apple-darwin14 | ||
PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git" | ||
OSX_SDK=10.11 | ||
RUN_UNIT_TESTS=false | ||
RUN_FUNCTIONAL_TESTS=false | ||
GOAL="all deploy" | ||
BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --enable-werror" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
## travis build scripts | ||
|
||
The `.travis` directory contains scripts for each build step in each build stage. | ||
Currently the travis build defines two stages `lint` and `test`. Each stage has | ||
it's own [lifecycle](https://docs.travis-ci.com/user/customizing-the-build/#the-build-lifecycle). | ||
Every script in here is named and numbered according to which stage and lifecycle | ||
step it belongs to. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Copyright (c) 2018 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
export LC_ALL=C | ||
|
||
travis_retry pip install flake8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Copyright (c) 2018 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
export LC_ALL=C | ||
|
||
git fetch --unshallow |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Copyright (c) 2018 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
export LC_ALL=C | ||
|
||
|
||
contrib/devtools/git-subtree-check.sh src/secp256k1 | ||
contrib/devtools/git-subtree-check.sh src/univalue | ||
contrib/devtools/git-subtree-check.sh src/leveldb | ||
contrib/devtools/check-doc.py | ||
contrib/devtools/logprint-scanner.py | ||
|
||
if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then | ||
contrib/devtools/lint-whitespace.sh | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Copyright (c) 2018 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
export LC_ALL=C.UTF-8 | ||
|
||
PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g") | ||
export PATH | ||
|
||
BEGIN_FOLD () { | ||
echo "" | ||
CURRENT_FOLD_NAME=$1 | ||
echo "travis_fold:start:${CURRENT_FOLD_NAME}" | ||
} | ||
|
||
END_FOLD () { | ||
RET=$? | ||
echo "travis_fold:end:${CURRENT_FOLD_NAME}" | ||
if [ $RET != 0 ]; then | ||
echo "${CURRENT_FOLD_NAME} failed with status code ${RET}" | ||
fi | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Copyright (c) 2018 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
export LC_ALL=C.UTF-8 | ||
|
||
travis_retry docker pull "$DOCKER_NAME_TAG" | ||
env | grep -E '^(CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL)' | tee /tmp/env | ||
if [[ $HOST = *-mingw32 ]]; then | ||
DOCKER_ADMIN="--cap-add SYS_ADMIN" | ||
fi | ||
DOCKER_ID=$(docker run $DOCKER_ADMIN -idt --mount type=bind,src=$TRAVIS_BUILD_DIR,dst=$TRAVIS_BUILD_DIR --mount type=bind,src=$CCACHE_DIR,dst=$CCACHE_DIR -w $TRAVIS_BUILD_DIR --env-file /tmp/env $DOCKER_NAME_TAG) | ||
|
||
DOCKER_EXEC () { | ||
docker exec $DOCKER_ID bash -c "cd $PWD && $*" | ||
} | ||
|
||
if [ -n "$DPKG_ADD_ARCH" ]; then | ||
DOCKER_EXEC dpkg --add-architecture "$DPKG_ADD_ARCH" | ||
fi | ||
|
||
travis_retry DOCKER_EXEC apt-get update | ||
travis_retry DOCKER_EXEC apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES $DOCKER_PACKAGES | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Copyright (c) 2018 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
export LC_ALL=C.UTF-8 | ||
|
||
#DOCKER_EXEC echo \> \$HOME/.fls # Make sure default datadir does not exist and is never read by creating a dummy file | ||
|
||
mkdir -p depends/SDKs depends/sdk-sources | ||
|
||
if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then | ||
curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz | ||
fi | ||
if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then | ||
tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz | ||
fi | ||
if [[ $HOST = *-mingw32 ]]; then | ||
DOCKER_EXEC update-alternatives --set $HOST-g++ \$\(which $HOST-g++-posix\) | ||
fi | ||
if [ -z "$NO_DEPENDS" ]; then | ||
DOCKER_EXEC CONFIG_SHELL= make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS | ||
fi | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Copyright (c) 2018 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
export LC_ALL=C.UTF-8 | ||
|
||
TRAVIS_COMMIT_LOG=$(git log --format=fuller -1) | ||
export TRAVIS_COMMIT_LOG | ||
|
||
OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST | ||
BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib" | ||
if [ -z "$NO_DEPENDS" ]; then | ||
DOCKER_EXEC ccache --max-size=$CCACHE_SIZE | ||
fi | ||
|
||
BEGIN_FOLD autogen | ||
if [ -n "$CONFIG_SHELL" ]; then | ||
DOCKER_EXEC "$CONFIG_SHELL" -c "./autogen.sh" | ||
else | ||
DOCKER_EXEC ./autogen.sh | ||
fi | ||
END_FOLD | ||
|
||
mkdir build | ||
cd build || (echo "could not enter build directory"; exit 1) | ||
|
||
BEGIN_FOLD configure | ||
DOCKER_EXEC ../configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false) | ||
END_FOLD | ||
|
||
BEGIN_FOLD distdir | ||
DOCKER_EXEC make distdir VERSION=$HOST | ||
END_FOLD | ||
|
||
cd "fls-$HOST" || (echo "could not enter distdir fls-$HOST"; exit 1) | ||
|
||
BEGIN_FOLD configure | ||
DOCKER_EXEC ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false) | ||
END_FOLD | ||
|
||
BEGIN_FOLD build | ||
DOCKER_EXEC make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && DOCKER_EXEC make $GOAL V=1 ; false ) | ||
END_FOLD | ||
|
||
if [ "$RUN_UNIT_TESTS" = "true" ]; then | ||
BEGIN_FOLD unit-tests | ||
DOCKER_EXEC LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib make $MAKEJOBS check VERBOSE=1 | ||
END_FOLD | ||
fi | ||
|
||
if [ "$RUN_BENCH" = "true" ]; then | ||
BEGIN_FOLD bench | ||
DOCKER_EXEC LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib $OUTDIR/bin/bench_fls -scaling=0.001 | ||
END_FOLD | ||
fi | ||
|
||
if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then | ||
extended="--extended --exclude feature_pruning,feature_dbcrash" | ||
fi | ||
|
||
if [ "$RUN_FUNCTIONAL_TESTS" = "true" ]; then | ||
BEGIN_FOLD functional-tests | ||
DOCKER_EXEC test/functional/test_runner.py --combinedlogslen=4000 --coverage --quiet --failfast ${extended} | ||
END_FOLD | ||
fi |
Oops, something went wrong.