2014-08-20 19:00:00 +02:00
# errata:
2016-02-09 23:17:09 +01:00
# - sudo/dist/group are set so as to get Blue Box VMs, necessary for [loopback]
# IPv6 support
2018-12-29 14:37:27 +01:00
dist : xenial
2014-08-20 19:00:00 +02:00
os : linux
2017-10-19 14:51:42 +02:00
language : minimal
2016-11-07 22:00:31 +01:00
2018-01-10 10:17:43 +01:00
services :
- docker
2016-11-07 22:00:31 +01:00
cache :
ccache : true
directories :
2018-07-12 15:28:59 +02:00
- $HOME/cache
2014-08-20 19:00:00 +02:00
env :
global :
2018-01-10 10:17:43 +01:00
# DOCKER_HUB_USER
- secure : "J0T+zrRBBzBnxoioCD378cRSJUF8Vms32QMmrENVVfuJl03oBQv0QxSatLEiD4PtRPrN00mJ8/k/HdqFQ0SN1yg6a00duOZ6C9jk6t/fExBO1LNhp3Z7lcaMUrNEyRN6sgfVeznDVTGj9jBQU2HNlwHk0UD9BNp/k+Bjhrtw7Njp9JTLZKBgxrXk0WZmfk0d75Q+9DajA1j2tSfWVpwzv6HMGfqIH1wsVEakBY+tnaE6EO3IdzdWHhf/iV+Tx0tL0Qz/6mejgSuoGLTJLmeTrceTTmsDlN3B95y+XfcYDs6EP7gpzN8Ffg/mLV8xJ2Myj7+b1o+smMJZE5tLuPIeAu0YsfkPNa/tNLotOlDxF72per0kXyNYbRf+JrpxiOu9pLCtdtd40V2SsiNhpQqHVy+b+wkkqo2syTHT+9UNkqEi3WFm6TqFuOeQNtDm6R0hRl/Talw/ZEeKs68z1Cf6VyBrZG5LqtOurtWlKwXCe/Tr1i2g4BEAcbywphtCCcfgMK9YSGQnjKkGk6k9gVEa2bneYLZz1RSh2OpXnIsIJOX7X0hNd5xtQDLgbpSUlKwVcEriWeGe12GCszKNX9gdEo2bHeq4xAJ6BE+ot745z9dc+nC2BJ6Su+I5L6zBg4m2FWn0TWhPvz/6JR26t6ls/E7m+hkwJTCHnIUiFmmzpEw="
# DOCKER_HUB_PASSWORD
- secure : "RLzlMhfLqwSBrZqJOVOd61suXBn+HtUR3vOZfuFYF/Qmjjj5TE41+rObZmzc54hP/ZL+OH6blnibpvfDXlX+eN38ivFQfuxkJIGL68SJsEwNBRwW39Yw6Hl5RdI41MLCH7ByN15wifLp1JKBilHJ7XGMOUjI7P0yl7JjX8GBXUCtJbVLRugo80/yn+XQ1NdnlpbpYHNjMEQFWSODPa3pSK5McWvyQjDZDgS+IkdrZmIYJPMa7bmKH5I/edUPSmXQT905FgEwq9u8XR0SyBopli21EK9l6GkXIIvmDTYz5vT26Apvi2B4Aoazlklg+KNRUJuLGerpt6kbnU0gMSUChVkFfFhOk6GRSN3a/AUfD2FOudvMhet2QvlPHx+GYdEUr5XVo5HW42pHsqfD6eDtHd8VLTsHP0q4C8V85fNMv21lkkehy2ry8fx/RRy6x4O2wg2mua+79UkGKXp75gMKzWEcth34PCFCOu37l2F8R/ANnrQ52K/8vIQ88TtU2OpYX89fHjLojBxu+WKEBGZH2LRPsZBOUHeeO5C/xKDrhZU24ORnMW8wg66Qg5GIX1KI4a8yp73Mpues5hzpJ6wkMuRrQt40ymKndLCjv8KSd+5BfP6Or/KIrzDNYdZaasjk7JNi6rcZmm9d3fTAo+Ja/mjpUCIOo3SX14luzVCJIig="
- DOCKER_BUILD=false
2016-11-07 22:00:31 +01:00
2019-05-29 07:48:19 +02:00
stages :
- build depends
- build src
- run tests
- build docker
builddepends : &builddepends
stage : build depends
script :
- $DOCKER_RUN_IN_BUILDER ./ci/build_depends.sh
buildsrc : &buildsrc
stage : build src
script :
- $DOCKER_RUN_IN_BUILDER ./ci/build_depends.sh
- $DOCKER_RUN_IN_BUILDER ./ci/build_src.sh
runtests : &runtests
stage : run tests
script :
- $DOCKER_RUN_IN_BUILDER ./ci/build_depends.sh
- $DOCKER_RUN_IN_BUILDER ./ci/build_src.sh
- $DOCKER_RUN_IN_BUILDER ./ci/test_unittests.sh
2020-07-17 01:44:20 +02:00
- if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then extended="--extended --exclude feature_pruning,feature_dbcrash"; fi
2020-03-27 22:58:51 +01:00
- $DOCKER_RUN_IN_BUILDER ./ci/test_integrationtests.sh --quiet --jobs=3 ${extended}
2019-05-29 07:48:19 +02:00
builddocker : &builddocker
stage : build docker
script :
# no need to run tests again here
- if [ "$DOCKER_BUILD" = "true" ]; then $DOCKER_RUN_IN_BUILDER ./ci/build_depends.sh && $DOCKER_RUN_IN_BUILDER ./ci/build_src.sh && BUILD_DIR=build-ci/dashcore-$BUILD_TARGET ./docker/build-docker.sh; fi
2018-08-27 15:33:59 +02:00
- MAKEJOBS=-j3
- RUN_UNIT_TESTS=true
- RUN_FUNCTIONAL_TESTS=true
- RUN_BENCH=false # Set to true for any one job that has debug enabled, to quickly check bench is not crashing or hitting assertions
2019-01-16 17:49:01 +01:00
- RUN_FUZZ_TESTS=false
2018-08-27 15:33:59 +02:00
- 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 :
2018-10-26 13:51:29 +02:00
- if [ $SECONDS -gt 1200 ]; then set +o errexit; echo "Travis early exit to cache current state"; false; else set -o errexit; source .travis/test_06_script.sh; fi
2018-08-27 15:33:59 +02:00
after_script :
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
2019-05-29 07:48:19 +02:00
jobs :
include :
# build depends
- << : *builddepends
2020-08-06 11:07:38 +02:00
name : depends-arm-linux
env : BUILD_TARGET=arm-linux
2019-05-29 07:48:19 +02:00
- << : *builddepends
2020-08-06 11:07:38 +02:00
name : depends-win64
env : BUILD_TARGET=win64
2019-05-29 07:48:19 +02:00
- << : *builddepends
2020-08-06 11:07:38 +02:00
name : depends-linux32
env : BUILD_TARGET=linux32
2019-05-29 07:48:19 +02:00
- << : *builddepends
2020-08-06 11:07:38 +02:00
name : depends-linux64
env : BUILD_TARGET=linux64
2019-05-29 07:48:19 +02:00
- << : *builddepends
2020-08-06 11:07:38 +02:00
name : depends-linux64_nowallet
env : BUILD_TARGET=linux64_nowallet
2019-05-29 07:48:19 +02:00
- << : *builddepends
2020-08-06 11:07:38 +02:00
name : depends-linux64_release
env :
- BUILD_TARGET=linux64_release
- DOCKER_BUILD=true
2019-05-29 07:48:19 +02:00
- << : *builddepends
2020-08-06 11:07:38 +02:00
name : depends-mac
env : BUILD_TARGET=mac
2019-05-29 07:48:19 +02:00
# build source
- << : *buildsrc
2020-08-06 11:07:38 +02:00
name : src-arm-linux
env : BUILD_TARGET=arm-linux
2019-05-29 07:48:19 +02:00
- << : *buildsrc
2020-08-06 11:07:38 +02:00
name : src-win64
env : BUILD_TARGET=win64
2019-05-29 07:48:19 +02:00
- << : *buildsrc
2020-08-06 11:07:38 +02:00
name : src-linux32
env : BUILD_TARGET=linux32
2019-05-29 07:48:19 +02:00
- << : *buildsrc
2020-08-06 11:07:38 +02:00
name : src-linux64
env : BUILD_TARGET=linux64
2019-05-29 07:48:19 +02:00
- << : *buildsrc
2020-08-06 11:07:38 +02:00
name : src-linux64_nowallet
env : BUILD_TARGET=linux64_nowallet
2019-05-29 07:48:19 +02:00
- << : *buildsrc
2020-08-06 11:07:38 +02:00
name : src-linux64_release
env :
- BUILD_TARGET=linux64_release
- DOCKER_BUILD=true
2019-05-29 07:48:19 +02:00
- << : *buildsrc
2020-08-06 11:07:38 +02:00
name : src-mac
env : BUILD_TARGET=mac
2019-05-29 07:48:19 +02:00
# run tests (no tests for arm-linux and mac)
- << : *runtests
2020-08-06 11:07:38 +02:00
name : tests-win64
env : BUILD_TARGET=win64
2019-05-29 07:48:19 +02:00
- << : *runtests
2020-08-06 11:07:38 +02:00
name : tests-linux32
env : BUILD_TARGET=linux32
2019-05-29 07:48:19 +02:00
- << : *runtests
2020-08-06 11:07:38 +02:00
name : tests-linux64
env : BUILD_TARGET=linux64
2019-05-29 07:48:19 +02:00
- << : *runtests
2020-08-06 11:07:38 +02:00
name : tests-linux64_nowallet
env : BUILD_TARGET=linux64_nowallet
2019-05-29 07:48:19 +02:00
- << : *runtests
2020-08-06 11:07:38 +02:00
name : tests-linux64_release
env :
- BUILD_TARGET=linux64_release
- DOCKER_BUILD=true
2019-05-29 07:48:19 +02:00
# build docker
- << : *builddocker
2020-08-06 11:07:38 +02:00
name : docker-linux64_release
env :
- BUILD_TARGET=linux64_release
- DOCKER_BUILD=true
2018-07-12 15:28:59 +02:00
before_cache :
# Save builder image
- docker save dash-builder-$BUILD_TARGET-$TRAVIS_JOB_NUMBER $(docker history -q dash-builder-$BUILD_TARGET-$TRAVIS_JOB_NUMBER | grep -v \<missing\>) | gzip -2 > $HOME/cache/docker/dash-builder-$BUILD_TARGET.tar.gz
2016-11-07 22:00:31 +01:00
2014-08-20 19:00:00 +02:00
install :
2020-01-24 17:59:06 +01:00
# Fix annoying Travis bug: a branch with a single commit has an empty TRAVIS_COMMIT_RANGE sometimes
- if [ -z "$TRAVIS_COMMIT_RANGE" ]; then export TRAVIS_COMMIT_RANGE="HEAD~..HEAD"; fi
2018-07-12 15:28:59 +02:00
# Our scripts try to be Travis agnostic
- export PULL_REQUEST="$TRAVIS_PULL_REQUEST"
2019-10-01 16:16:26 +02:00
- export COMMIT_RANGE="$TRAVIS_COMMIT_RANGE"
2018-07-12 15:28:59 +02:00
- export JOB_NUMBER="$TRAVIS_JOB_NUMBER"
- export HOST_SRC_DIR=$TRAVIS_BUILD_DIR
- export HOST_CACHE_DIR=$HOME/cache
2019-05-29 07:48:19 +02:00
- export TRAVIS_COMMIT_LOG=`git log --format=fuller -1`
2018-07-12 15:28:59 +02:00
- source ./ci/matrix.sh
- mkdir -p $HOST_CACHE_DIR/docker && mkdir -p $HOST_CACHE_DIR/ccache && mkdir -p $HOST_CACHE_DIR/depends && mkdir -p $HOST_CACHE_DIR/sdk-sources
# Keep this as it makes caching related debugging easier
- ls -lah $HOST_CACHE_DIR && ls -lah $HOST_CACHE_DIR/depends && ls -lah $HOST_CACHE_DIR/ccache && ls -lah $HOST_CACHE_DIR/docker
# Load cached builder image
- if [ -f $HOST_CACHE_DIR/docker/dash-builder-$BUILD_TARGET.tar.gz ]; then zcat $HOST_CACHE_DIR/docker/dash-builder-$BUILD_TARGET.tar.gz | docker load || true; fi
2019-03-22 11:51:33 +01:00
- travis_retry docker pull ubuntu:bionic
- travis_retry docker build -t $BUILDER_IMAGE_NAME --build-arg=USER_ID=$UID --build-arg=GROUP_ID=$UID --build-arg=BUILD_TARGET=$BUILD_TARGET -f ci/Dockerfile.builder ci
2014-08-20 19:00:00 +02:00
before_script :
2018-01-10 10:17:43 +01:00
# Make sure stdout is in blocking mode. Otherwise builds will fail due to large writes to stdout
# See https://github.com/travis-ci/travis-ci/issues/4704. If this gets fixed, this line can also be removed.
- python3 -c 'import os,sys,fcntl; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags&~os.O_NONBLOCK);'
2019-02-21 19:44:47 +01:00
# Build docker image only for develop branch of the main repo
- if [ "$TRAVIS_REPO_SLUG" != "dashpay/dash" -o "$TRAVIS_BRANCH" != "develop" -o "$TRAVIS_PULL_REQUEST" != "false" ]; then export DOCKER_BUILD="false"; echo DOCKER_BUILD=$DOCKER_BUILD; fi
2018-05-29 15:35:01 +02:00
# TODO: Check keys and signed commits
#- if [ "$TRAVIS_REPO_SLUG" = "dashpay/dash" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then while read LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys; fi
2018-06-12 17:23:37 +02:00
#- if [ "$TRAVIS_REPO_SLUG" = "dashpay/dash" -a "$TRAVIS_EVENT_TYPE" = "cron" ]; then travis_wait 30 contrib/verify-commits/verify-commits.py; fi
2014-08-20 19:00:00 +02:00
after_script :
2016-04-15 08:41:01 +02:00
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
2018-01-10 10:17:43 +01:00
after_success :
2019-02-21 19:44:47 +01:00
- if [ "$DOCKER_BUILD" = "true" ]; then docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PASSWORD && ./docker/push-docker.sh; fi
2018-08-27 15:33:59 +02:00
- stage : lint
2019-01-03 16:41:46 +01:00
name : 'lint'
2018-08-27 15:33:59 +02:00
env :
cache : false
language : python
2021-08-27 21:03:02 +02:00
python : '3.5' # Oldest supported version according to doc/dependencies.md
2018-08-27 15:33:59 +02:00
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
2019-01-03 16:41:46 +01:00
2018-08-27 15:33:59 +02:00
- stage : test
2019-01-03 16:41:46 +01:00
name: 'ARM [GOAL : install] [no unit or functional tests]'
2018-08-27 15:33:59 +02:00
env : >-
HOST=arm-linux-gnueabihf
2018-10-26 13:51:29 +02:00
PACKAGES="python3 g++-arm-linux-gnueabihf"
2018-08-27 15:33:59 +02:00
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
GOAL="install"
2018-08-27 20:00:38 +02:00
# -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"
2018-08-27 15:33:59 +02:00
- stage : test
2019-02-08 16:40:13 +01:00
name: 'Win64 [GOAL : deploy] [no gui or functional tests]'
2018-08-27 15:33:59 +02:00
env : >-
HOST=x86_64-w64-mingw32
PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64"
2019-02-08 16:40:13 +01:00
RUN_FUNCTIONAL_TESTS=false
2018-10-26 13:51:29 +02:00
GOAL="deploy"
BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests"
2019-01-03 16:41:46 +01:00
2018-08-27 15:33:59 +02:00
- stage : test
2019-02-14 22:26:01 +01:00
name: '32-bit + dash [GOAL: install] [GUI : no BIP70]'
2018-08-27 15:33:59 +02:00
env : >-
HOST=i686-pc-linux-gnu
PACKAGES="g++-multilib python3-zmq"
GOAL="install"
2019-02-14 22:26:01 +01:00
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --disable-bip70 --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
2018-08-27 15:33:59 +02:00
CONFIG_SHELL="/bin/dash"
2019-01-03 16:41:46 +01:00
2018-08-27 15:33:59 +02:00
- stage : test
Merge #15134: tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char)
0c78e49be3a258695b7f363f2d5b1cfdb93f9522 tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char) (practicalswift)
Pull request description:
Switch one of the Travis jobs to an unsigned char environment (`-funsigned-char`).
This will help us catch errors due to code written under the assumption that `char` has the same value range as `signed char`.
The signedness of `char` is implementation-defined.
Example:
```
$ uname -a
Linux […] x86_64 x86_64 x86_64 GNU/Linux
$ cat foo.cpp
#include <iostream>
int main() {
char c;
std::cin >> c;
int i = (unsigned char)c;
std::cout << i << "\n";
}
$ clang++ -o foo foo.cpp
$ echo -e "\xff" | ./foo
255
$ clang++ -fsigned-char -o foo foo.cpp
$ echo -e "\xff" | ./foo
255
$ clang++ -funsigned-char -o foo foo.cpp
$ echo -e "\xff" | ./foo
255
$ cat bar.cpp
#include <iostream>
int main() {
char c;
std::cin >> c;
int i = c;
std::cout << i << "\n";
}
$ clang++ -o bar bar.cpp
$ echo -e "\xff" | ./bar
-1
$ clang++ -fsigned-char -o bar bar.cpp
$ echo -e "\xff" | ./bar
-1
$ clang++ -funsigned-char -o bar bar.cpp
$ echo -e "\xff" | ./bar
255
```
`gcc` chars:
* signed: alpha, hppa, ia64, m68k, mips, sh, sparc, x86
* unsigned: arm, powerpc, s390
About `-funsigned-char`:
> Let the type "char" be unsigned, like "unsigned char".
>
> Each kind of machine has a default for what "char" should be. It is either like "unsigned char" by default or like "signed char" by default.
>
> Ideally, a portable program should always use "signed char" or "unsigned char" when it depends on the signedness of an object. But many programs have been written to use plain "char" and expect it to be signed, or expect it to be unsigned, depending on the machines they were written for.
>
> This option, and its inverse, let you make such a program work with the opposite default. The type "char" is always a distinct type from each of "signed char" or "unsigned char", even though its behavior is always just like one of those two.
ACKs for top commit:
laanwj:
ACK 0c78e49be3a258695b7f363f2d5b1cfdb93f9522
Tree-SHA512: ba04590415c0bb9a0bbd348623e57068f75274f53da7247d5c5ecad82e365a5b45893a4a491d318e82a8feb6a25f019d46e01990afb33162e2c9740d33a343d7
2019-07-30 16:58:16 +02:00
name: 'x86_64 Linux [GOAL : install] [bionic] [uses qt5 dev package instead of depends Qt to speed up build and avoid timeout] [unsigned char]'
2018-08-27 15:33:59 +02:00
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"
Merge #15134: tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char)
0c78e49be3a258695b7f363f2d5b1cfdb93f9522 tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char) (practicalswift)
Pull request description:
Switch one of the Travis jobs to an unsigned char environment (`-funsigned-char`).
This will help us catch errors due to code written under the assumption that `char` has the same value range as `signed char`.
The signedness of `char` is implementation-defined.
Example:
```
$ uname -a
Linux […] x86_64 x86_64 x86_64 GNU/Linux
$ cat foo.cpp
#include <iostream>
int main() {
char c;
std::cin >> c;
int i = (unsigned char)c;
std::cout << i << "\n";
}
$ clang++ -o foo foo.cpp
$ echo -e "\xff" | ./foo
255
$ clang++ -fsigned-char -o foo foo.cpp
$ echo -e "\xff" | ./foo
255
$ clang++ -funsigned-char -o foo foo.cpp
$ echo -e "\xff" | ./foo
255
$ cat bar.cpp
#include <iostream>
int main() {
char c;
std::cin >> c;
int i = c;
std::cout << i << "\n";
}
$ clang++ -o bar bar.cpp
$ echo -e "\xff" | ./bar
-1
$ clang++ -fsigned-char -o bar bar.cpp
$ echo -e "\xff" | ./bar
-1
$ clang++ -funsigned-char -o bar bar.cpp
$ echo -e "\xff" | ./bar
255
```
`gcc` chars:
* signed: alpha, hppa, ia64, m68k, mips, sh, sparc, x86
* unsigned: arm, powerpc, s390
About `-funsigned-char`:
> Let the type "char" be unsigned, like "unsigned char".
>
> Each kind of machine has a default for what "char" should be. It is either like "unsigned char" by default or like "signed char" by default.
>
> Ideally, a portable program should always use "signed char" or "unsigned char" when it depends on the signedness of an object. But many programs have been written to use plain "char" and expect it to be signed, or expect it to be unsigned, depending on the machines they were written for.
>
> This option, and its inverse, let you make such a program work with the opposite default. The type "char" is always a distinct type from each of "signed char" or "unsigned char", even though its behavior is always just like one of those two.
ACKs for top commit:
laanwj:
ACK 0c78e49be3a258695b7f363f2d5b1cfdb93f9522
Tree-SHA512: ba04590415c0bb9a0bbd348623e57068f75274f53da7247d5c5ecad82e365a5b45893a4a491d318e82a8feb6a25f019d46e01990afb33162e2c9740d33a343d7
2019-07-30 16:58:16 +02:00
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-debug CFLAGS=\"-g0 -O2 -funsigned-char\" CXXFLAGS=\"-g0 -O2 -funsigned-char\""
2021-08-24 21:27:12 +02:00
2019-01-30 21:11:50 +01:00
- stage : test
name: 'x86_64 Linux [GOAL : install] [trusty] [depends for now]'
env : >-
HOST=x86_64-unknown-linux-gnu
DOCKER_NAME_TAG=ubuntu:14.04
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libicu-dev libpng-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
RUN_FUNCTIONAL_TESTS=false
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=no"
2018-11-02 22:41:06 +01:00
- stage : test
2019-01-03 16:41:46 +01:00
name: 'x86_64 Linux [GOAL: install] [xenial] [no depends, only system libs, sanitizers : thread (TSan), no wallet]'
2018-11-02 22:41:06 +01:00
env : >-
HOST=x86_64-unknown-linux-gnu
DOCKER_NAME_TAG=ubuntu:16.04
2018-11-23 15:38:08 +01:00
PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-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"
2018-11-02 22:41:06 +01:00
NO_DEPENDS=1
2018-11-23 15:38:08 +01:00
RUN_FUNCTIONAL_TESTS=false # Disabled for now. TODO identify suppressions or exclude specific tests
2018-11-02 22:41:06 +01:00
GOAL="install"
2018-11-23 15:38:08 +01:00
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=thread --disable-hardening --disable-asm CC=clang CXX=clang++"
2021-08-24 21:27:12 +02:00
2018-08-27 15:33:59 +02:00
- stage : test
2019-01-03 16:41:46 +01:00
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers : address/leak (ASan + LSan) + undefined (UBSan) + integer]'
2018-08-27 15:33:59 +02:00
env : >-
HOST=x86_64-unknown-linux-gnu
2018-11-06 23:25:30 +01:00
PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-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"
2018-08-27 15:33:59 +02:00
NO_DEPENDS=1
RUN_BENCH=true
GOAL="install"
2018-11-23 15:38:08 +01:00
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=integer,undefined CC=clang CXX=clang++"
2021-08-26 18:26:03 +02:00
2019-01-16 17:49:01 +01:00
- stage : test
2019-01-03 16:41:46 +01:00
name: 'x86_64 Linux [GOAL : install] [bionic] [no wallet]'
2019-01-16 17:49:01 +01:00
env : >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="clang llvm python3 libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev"
NO_DEPENDS=1
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
RUN_FUZZ_TESTS=true
GOAL="install"
BITCOIN_CONFIG="--disable-wallet --disable-bench --with-utils=no --with-daemon=no --with-libs=no --with-gui=no --enable-fuzz --with-sanitizers=fuzzer,address CC=clang CXX=clang++"
2018-08-27 15:33:59 +02:00
- stage : test
env : >-
HOST=x86_64-unknown-linux-gnu
2018-10-08 06:39:53 +02:00
PACKAGES="python3-zmq"
2018-08-27 15:33:59 +02:00
DEP_OPTS="NO_WALLET=1"
GOAL="install"
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
2019-01-03 16:41:46 +01:00
2018-08-27 15:33:59 +02:00
- stage : test
2019-11-21 17:08:47 +01:00
name: 'macOS 10.12 [GOAL : deploy]'
2018-08-27 15:33:59 +02:00
env : >-
2021-10-02 05:09:55 +02:00
HOST=x86_64-apple-darwin19
2021-08-27 21:03:02 +02:00
PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools"
2021-08-26 09:46:53 +02:00
export XCODE_VERSION=11.3.1
export XCODE_BUILD_ID=11C505
2018-08-27 15:33:59 +02:00
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
2018-10-26 13:51:29 +02:00
GOAL="deploy"
2018-08-27 15:33:59 +02:00
BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --enable-werror"