forked from BitcoinUnlimited/BitcoinUnlimited
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
157 lines (152 loc) · 6.69 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
dist: xenial
os: linux
language: shell
cache:
ccache: true
directories:
- $TRAVIS_BUILD_DIR/depends/built
- $TRAVIS_BUILD_DIR/depends/sdk-sources
- $HOME/.ccache
env:
global:
- MAKEJOBS=-j2
- RUN_TESTS=false
- RUN_FORMATTING_CHECK=false
- DOCKER_NAME_TAG=ubuntu:18.04
- CHECK_DOC=0
- 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://www.bitcoinunlimited.info/sdks
- LINTER_DEB_URL=https://www.bitcoinunlimited.info/depends-sources/
- PYTHON_DEBUG=1
- WINEDEBUG=fixme-all
- DOCKER_PACKAGES="build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache python3"
- DOCKER_PACKAGES_RPM="build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache"
- DIST=DEB
- CACHE_ERR_MSG="Error! Initial build successful, but not enough time remains to run later build stages and tests. Please manually re-run this job by using the travis restart button or asking a bitcoin maintainer to restart. The next run should not time out because the build cache has been saved."
jobs:
include:
#x86_64 Linux + deps as via system lib
- compiler: gcc
env:
- A="ia64 linux full tests system deps, enable debug, debug boost"
- CXX=g++ CC=gcc
- HOST=x86_64-unknown-linux-gnu
- PACKAGES="python python3-zmq libzmq3-dev qttools5-dev-tools qttools5-dev libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-program-options-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
- NODEPENDS=true
- RUN_FORMATTING_CHECK=true
- RUN_TESTS=true
- GOAL="install"
- BITCOIN_CONFIG="--enable-debug --with-incompatible-bdb --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports"
#bitcoind
- compiler: gcc
env:
- A="ia64 linux gcc full test"
- CXX=g++ CC=gcc
- HOST=x86_64-unknown-linux-gnu
- PACKAGES="libedit2 python3-zmq"
- DEP_OPTS="NO_UPNP=1 DEBUG=1"
- RUN_TESTS=true
- GOAL="install"
- BITCOIN_CONFIG="--enable-shared --enable-zmq --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER" #need to test also libdb 4.8
#bitcoind clang (no depend, only system lib installed via apt)
- compiler: clang
env:
- A="ia64 linux clang no test"
- CXX=clang++-5.0 CC=clang-5.0
- CXXFLAGS="-std=c++14"
- HOST=x86_64-unknown-linux-gnu
- RUN_TESTS=false
- PACKAGES="python3-zmq libzmq3-dev qttools5-dev-tools qttools5-dev clang-5.0 libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-program-options-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
- GOAL="install"
- BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 CC=clang-5.0 --with-incompatible-bdb CXX=clang++-5.0 CPPFLAGS=-DDEBUG_LOCKORDER CXXFLAGS=\"-std=c++14\""
- NODEPENDS=true
#ARM64
- compiler: gcc
env:
- A="ARM64 linux no test"
- CXX=g++ CC=gcc
- HOST=aarch64-linux-gnu
- PACKAGES="g++-aarch64-linux-gnu"
- GOAL="install"
- BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi"
#ARM32
- compiler: gcc
env:
- A="ARM32 linux no test"
- CXX=g++ CC=gcc
- HOST=arm-linux-gnueabihf
- PACKAGES="g++-arm-linux-gnueabihf"
- GOAL="install"
- BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
#Win32
- compiler: gcc
env:
- A="ia32 win32 no test"
- CXX=g++ CC=gcc
- HOST=i686-w64-mingw32
- DPKG_ADD_ARCH="i386"
- DEP_OPTS="NO_QT=1"
- PACKAGES="python3 nsis g++-mingw-w64-i686 wine32 wine-binfmt"
- RUN_TESTS=false GOAL="install"
- BITCOIN_CONFIG="--enable-reduce-exports"
#Win64
- compiler: gcc
env:
- A="ia64 win64 no test"
- CXX=g++ CC=gcc
- HOST=x86_64-w64-mingw32
- DEP_OPTS="NO_QT=1"
- PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine64 wine-binfmt"
- RUN_TESTS=true GOAL="install"
- BITCOIN_CONFIG="--enable-reduce-exports"
#Linux32-bit + dash
- compiler: gcc
env:
- A="ia32 linux gcc full test"
- CXX=g++ CC=gcc
- HOST=i686-pc-linux-gnu
- PACKAGES="g++-multilib bc python3-zmq"
- DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install"
- BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
- USE_SHELL="/bin/dash"
#Cross-Mac
- compiler: gcc
env:
- A="ia64 apple gcc no test"
- HOST=x86_64-apple-darwin11
- PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git"
- BITCOIN_CONFIG="--enable-reduce-exports"
- OSX_SDK=10.11 GOAL="deploy"
- compiler: gcc
env:
- A="ia64 centos no test"
- CXX=g++ CC=gcc
- HOST=x86_64-unknown-linux-gnu
- DOCKER_NAME_TAG=centos:7.6.1810
- DIST=RPM
- DEP_OPTS="ALLOW_HOST_PACKAGES=1"
- PACKAGES="libtool libevent-devel autoconf automake openssl-devel python36u libdb4-devel libdb4-cxx-devel devtoolset-7-gcc* miniupnpc-devel zeromq-devel"
- RUN_TESTS=false GOAL="install"
- BITCOIN_CONFIG="--enable-zmq --with-gui=no --disable-bench"
- NODEPENDS=true
before_install:
- set -o errexit; source .travis/before_install.sh
install:
- set -o errexit; source .travis/install.sh
before_script:
- set -o errexit; source .travis/before_script.sh
script:
- export CONTINUE=1
- if [ $SECONDS -gt 1200 ]; then export CONTINUE=0; fi # Likely the depends build took very long
- if [ $CONTINUE = "1" ]; then set -o errexit; source .travis/script_a.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
- if [ $SECONDS -gt 2100 -a "$RUN_TESTS"="true" ]; then export CONTINUE=0; echo "$SECONDS"; fi # Likely the build took very long
- if [ $CONTINUE = "1" ]; then set -o errexit; source .travis/script_b.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
after_script:
- set -o errexit; cd $TRAVIS_BUILD_DIR; source .travis/after_script.sh
after_failure:
- set -o errexit; cd $TRAVIS_BUILD_DIR; source .travis/after_failure.sh