Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates from Pivx Upstream #174

Open
wants to merge 108 commits into
base: release-1.8.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
b81eb56
Miner: use std methods instead of boost for timing conditions
Fuzzbawls Oct 14, 2018
d36dbc8
Remove Boost dependency from the httpserver
Fuzzbawls Oct 14, 2018
cdf4e2a
Ust std threading in sync.{h,cpp}
Fuzzbawls Oct 14, 2018
44f8161
[RPC] Show BIP65 soft-fork progress in getblockchaininfo
Fuzzbawls Oct 20, 2018
bd068e5
WIN32 Seed Cleanup: Move nLastPerfmon behind win32 ifdef.
Feb 25, 2015
8d24bcb
nLastTry is only used for addrman entries
sipa Apr 19, 2015
d2cdaac
[Crypto] Switch from openssl to secp256k1 for consensus
Warrows Feb 19, 2018
002aef4
[Tests] Add new auto generated script tests
Warrows Feb 24, 2018
3bbebe8
[Crypto] Bring back function CKey.SetPrivKey for zPIV
Warrows May 9, 2018
7a63c62
[Crypto] Add ctx initialisation for bip38
Warrows Jun 10, 2018
8e304df
[Refactor] Remove begin/end_ptr functions
Warrows Jan 23, 2019
ffb4d90
Wipe zerocoin DB on reindex.
presstab Dec 8, 2017
a819103
[Bug] Fix CMasternodeConfig::read
Fuzzbawls May 2, 2018
670ae61
use c++11 for instead of boost for mnconf count
Fuzzbawls May 2, 2018
ad21d7b
[GUI] Fix wrongly displayed balance on Overview tab
Mrs-X May 6, 2018
1a9ae7c
[Build] Remove unnecessary BOOST dependency
Mrs-X May 10, 2018
fbf04f6
Check whether tx is in chain in ContextualCheckZerocoinMint().
presstab May 11, 2018
9b9ad39
[Build] Make sure Boost headers are included for libzerocoin
Fuzzbawls May 21, 2018
739e6e4
[Qt] Add Tor service icon to status bar
Fuzzbawls May 30, 2018
0d6514c
[UI] Remove useless help button from QT dialogs
Warrows Jun 5, 2018
538fab9
Move non-wallet RPC files to subdir
KolbyML Mar 13, 2020
c6ee535
Remove unnecessary namespace declarations
Fuzzbawls Jul 23, 2018
f5dcf5a
Remove boost dependency
Fuzzbawls Jul 23, 2018
f779b29
Clean up header includes
Fuzzbawls Jul 23, 2018
6821991
Add proper translation functions for user facing strings
Fuzzbawls Jul 23, 2018
7811144
Remove useless returns
Fuzzbawls Jul 23, 2018
134eacd
Comment/Whitespace/nullptr cleanup
Fuzzbawls Jul 23, 2018
61d6ac9
fix double locked coin when wallet and MN are on same machine
tofutim Jul 13, 2018
5f42959
GUI - sendcoins dialog: fee / SwiftX - intuitiveness
random-zebra Aug 1, 2018
fbfafdc
[Qt] Fix PIV balances on overview page
Fuzzbawls Jul 12, 2018
04130df
use c++11 for instead of boost for writeToMasternodeConf
KolbyML Mar 13, 2020
adee848
Fixes for tor
KolbyML Mar 13, 2020
50b68f7
Fixed bug in multisend
KolbyML Mar 13, 2020
7a730b1
Remove leveldb path in prep for subtree init
Fuzzbawls Jul 12, 2018
f4a667b
build: Build system changes to support only Qt5
laanwj Jun 13, 2018
b6a6c58
gui: Remove QT_VERSION fallbacks for Qt < 5
laanwj Jun 13, 2018
824dfc2
[Docu] Add missing automake dependency
Mrs-X Aug 26, 2018
ce74323
[UI] Add address to the payment request history
Warrows Aug 15, 2018
3825283
[Wallet] Avoid autocombine getting stuck
Warrows Aug 22, 2018
ebc70d7
[Build] Remove stale m4 file
Fuzzbawls Aug 17, 2018
5b38882
[RPC]: Don't allow backupwallet to overwrite the wallet-in-use
Fuzzbawls Sep 10, 2018
85b685a
GCC-7 and glibc-2.27 compat code
ken2812221 May 5, 2018
d475dc3
Use IN6ADDR_ANY_INIT instead of in6addr_any
Fuzzbawls Aug 27, 2018
6c87548
[Refactor] Remove GetCoinAge
Fuzzbawls Sep 20, 2018
d7b5832
[RPC] Fix verifychain
Fuzzbawls Sep 17, 2018
0f71c50
[RPC] Sanitize walletpassphrase timeout argument
Fuzzbawls Sep 17, 2018
4593d89
[RPC] Fix movecmd's help description to include amount
Fuzzbawls Sep 24, 2018
244c0d8
[RPC] Error when calling getreceivedbyaddress with non-wallet address
Fuzzbawls Sep 9, 2018
fde8f9a
fix bug with fWalletUnlockAnonymizeOnly flag setting
random-zebra Oct 2, 2018
e84827e
Stop using dummy strings in clientversion
Fuzzbawls Jul 13, 2018
a2a25be
[GUI] Add option to hide orphans in overview and txlist
random-zebra Oct 7, 2018
0c0a89b
[Utils] Update linters for python3
Fuzzbawls Sep 2, 2018
8f22d1c
[RPC]: Fix RPCTimerInterface ordering issue (https://github.com/bitco…
random-zebra Oct 3, 2018
2942f52
Replace 'boost::lexical_cast<std::string>' with 'std::to_string'
random-zebra Oct 7, 2018
a6d34fa
Replace 'const boost::bad_lexical_cast' with 'std::invalid_argument'
random-zebra Oct 7, 2018
250506d
Replace 'boost::lexical_cast<std::int>' with 'std::stoi'
random-zebra Oct 7, 2018
9601f0d
[Net] Pull uacomment in from upstream
Fuzzbawls Sep 19, 2018
f11afb9
Add masternode's pubkey to listmasternodes RPC
presstab Oct 10, 2018
5b38ec4
[RPC] Add mediantime to getblock/getblockheader output
Fuzzbawls Sep 19, 2018
a478538
[RPC] Show the configured/set txfee in getwalletinfo
Fuzzbawls Sep 19, 2018
e0cb565
[Build] Update genbuild.sh script
Fuzzbawls Sep 2, 2018
50493da
[Main] Unify shutdown proceedure in init rather than per-app
Fuzzbawls Nov 14, 2018
2c4e3ea
[GUI] Add action to hide orphans in overview and txlist
random-zebra Oct 8, 2018
49eee10
Remove Boost dependency from sync.cpp
Fuzzbawls Nov 15, 2018
5fe6a8f
Initialize lockstack to prevent null pointer deref
Fuzzbawls Nov 15, 2018
fb9cb1b
Remove unused fTry from push_lock
Fuzzbawls Nov 15, 2018
73d2fb8
Use c++11 nullptr instead of macros or void(0) in sync.cpp/h
Fuzzbawls Nov 15, 2018
2fe725f
Finalize cleanup of sync.cpp/h
Fuzzbawls Nov 15, 2018
8c81703
[Qt] Don't show staking/automint status icons without a wallet
Fuzzbawls Dec 14, 2018
ed4012a
fixed case nAnonymizePhoreAmount:
KolbyML Mar 14, 2020
7204399
ionRecord::StakeZPIV
KolbyML Mar 14, 2020
475c9b8
Depends: Update to most recent version
Fuzzbawls Aug 17, 2018
af123af
Update README.md
KolbyML Mar 14, 2020
0c1a764
Build: Add automated man page generation
Fuzzbawls Aug 18, 2018
9be21de
Build: Update coverage build target(s)
Fuzzbawls Aug 18, 2018
8d88d67
Build: Add bash completion support to the build system
Fuzzbawls Oct 17, 2018
e9007c3
Build: Introduce endian and byteswap
Fuzzbawls Jul 13, 2018
13a9e24
Build: Show PIC/PIE flags in configure summary
Fuzzbawls Aug 17, 2018
3e4248b
Build: Update build system to upstream master
Fuzzbawls Aug 18, 2018
ae2ae12
Update configure.ac
KolbyML Mar 14, 2020
4ac5150
Build: Introduce Symbol and Security check scripts to the build system.
Fuzzbawls Oct 17, 2018
ef75157
Build: utility test updates
Fuzzbawls Jul 14, 2018
1fb9d15
Gitian: remove reference datetime
Fuzzbawls Aug 17, 2018
db850e5
Gitian: update descriptors for bionic
Fuzzbawls Jul 21, 2018
8b36eb1
Contrib: Update macdeployqtplus subdir
Fuzzbawls Sep 4, 2018
4e55e6a
Update packages.mk
KolbyML Mar 14, 2020
386a52b
Update protobuf.mk
KolbyML Mar 14, 2020
f78dada
fixes for changes
KolbyML Mar 14, 2020
c72627f
Merge #783: [Depends] Update QT to 5.9.7
Fuzzbawls Jan 9, 2019
75f2c3b
Fix Missing Explorer Icon
sicXnull Jan 5, 2019
e61f804
Merge #795: [Build] Add support for RISC-V and build it with gitian
Mrs-X Jan 20, 2019
f84aadd
Update qt.mk
KolbyML Mar 14, 2020
61be3a4
Improve addrman Select() performance when buckets are nearly empty
sipa Aug 6, 2015
3a09580
Update zmq to 4.3.1
rex4539 Jan 17, 2019
7922e3c
cleanup, remove trading dialog form
furszy Mar 20, 2019
5663208
fix to display missing clock5.png tx image
joeuhren Mar 25, 2019
4bb73fe
[macOS] Remove DS_Store WindowBounds bytes object
jonasschnelli Oct 18, 2018
e5d8cb7
Fixed some names in a few files
KolbyML Mar 14, 2020
6f3249d
[Travis] Add separate job to check doc/logprint/subtree
Fuzzbawls Jun 19, 2018
ffc0a86
travis: run subtree checks for leveldb
Fuzzbawls Jul 12, 2018
02bbc02
Travis: Update to use docker with Bionic target
Fuzzbawls Aug 17, 2018
07eb90f
Travis: Introduce .travis subdir and better job folding
Fuzzbawls Sep 2, 2018
f93e697
Update .travis.yml
KolbyML Mar 14, 2020
ae8b73b
[Refactor] Delete secp256k1 folder for subtreefication
Warrows May 9, 2018
f8de61b
Merge commit '8a901f93d505af3516353837600fd71a0c53a692' as 'src/secp2…
Warrows May 9, 2018
e55c1df
Merge commit 'c6634ef065ceb295522f0d61a3d45d8d53abe51c' into libsecp_…
Warrows Oct 23, 2018
da72b62
Merge commit '4f5b53da1af363a5c41acc8e1d82f37dd7f393d9' as 'src/leveldb'
Fuzzbawls Jul 12, 2018
043e609
fixes for leveldb and travis
KolbyML Mar 15, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ src/leveldb/build_config.mk
Makefile
phore-qt
phore-Qt.app
background.tiff*

# Unit-tests
Makefile.test
phore-qt_test
src/test/buildenv.py

# Resources cpp
qrc_*.cpp
Expand All @@ -113,6 +113,8 @@ coverage_percent.txt
linux-coverage-build
linux-build
win32-build
test/config.ini
test/cache/*
qa/pull-tester/run-bitcoind-for-test.sh
qa/pull-tester/tests-config.sh
qa/pull-tester/cache/*
Expand All @@ -128,7 +130,7 @@ background.tiff@2x.png
/doc/doxygen/
doc/Doxyfile
/nbproject/

libbitcoinconsensus.pc
.idea
cmake-build-debug

Expand Down
168 changes: 122 additions & 46 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,71 +3,147 @@ 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_TESTS=true
- CHECK_DOC=1
- CHECK_LOGPRINT=1
- 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
matrix:
# ARM
- HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" CHECK_DOC=1 CHECK_LOGPRINT=1 GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
# Win32
- HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports"
# 32-bit + dash
- 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" PYZMQ=true
# Win64
- HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports"
# phored
- HOST=x86_64-unknown-linux-gnu PACKAGES="bc python3-zmq" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER" PYZMQ=true
# No wallet
# - HOST=x86_64-unknown-linux-gnu PACKAGES="python3" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
# Cross-Mac
- HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev" BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" OSX_SDK=10.11 GOAL="deploy"
- DOCKER_PACKAGES="build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache"

before_install:
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
- set -o errexit; source .travis/test_03_before_install.sh
install:
- if [ "$PYZMQ" = "true" ]; then pip install pyzmq --user ; fi
- if [ -n "$DPKG_ADD_ARCH" ]; then sudo dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
- set -o errexit; source .travis/test_04_install.sh
before_script:
- if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi
- if [ "$CHECK_LOGPRINT" = 1 ]; then contrib/devtools/logprint-scanner.py; fi
- unset CC; unset CXX
- 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
- make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
- set -o errexit; source .travis/test_05_before_script.sh
script:
- export TRAVIS_COMMIT_LOG=`git log --format=fuller -1`
- if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi
- 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"
- depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
- ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- make distdir PACKAGE=phore VERSION=$HOST
- cd phore-$HOST
- ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
- if [ "$RUN_TESTS" = "true" ]; then travis_wait 30 make $MAKEJOBS check VERBOSE=1; fi
- set -o errexit; source .travis/test_06_script.sh
after_script:
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
notifications:
slack:
secure: w22XjHoG/3xplxWzddS9Ma7i99Q/hq4FA3Q56xS+RtO2vlFgDT+eDzCppstdx96mn2/4e+/V1aiQ4E6GVEvJMeldqSUhPv9OBnKR0KJVAOwu4haNXt+0ZeQFt8lIndKB5cMVyOJkoq6peGoHNXslClM0lGuBn7g7VC2QPQYNWrJNrrGL7IiVb6fNOIKHWcC4URkzSvXAhO/WIqSSlmKxAAx0B2oEsM8LhdAbcjbp7Sm7zH87TIVGBZ7iTVuMc6B9+SfClbE8bBuRtvjTX57Q4UUZzn0zDtKdPdCte0oXdaQF4RdVim9mDodBGIpDo+avW4WL7EE+AK33fs94pwH5bu0LEandR/aeEvVpbSpQ2XsEKSe+6woizgl5i4GXFVZduJF62y/o1f+S/zC3qW9lIEEpiZc4PpX7pDy30X3p6S5nMrW7T/zNh+SjLhS1VP6XKdQtpD3WRCY4GKZYammZhk5RbOy3jTXAahIXuttWdhl/Q3Rb5VqfFJWlrG/qQXt73qOk2/DgJnABxXE6gnWO4MpHAq+kdomNR+nod4HeXI3DOk1wRuQRVoW1rSjiqQd6Db+TP56RKYgt4M4csOD0DG9G+W0AOtZkuKHTeoEtmQfkKFPZLYAQumv41cDN2UE9gKIECmvJSevj4sMCDTWtozKWqay/W4n2+cmhbzmGflY=

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"
8 changes: 8 additions & 0 deletions .travis/README.md
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.

9 changes: 9 additions & 0 deletions .travis/lint_04_install.sh
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
9 changes: 9 additions & 0 deletions .travis/lint_05_before_script.sh
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
18 changes: 18 additions & 0 deletions .travis/lint_06_script.sh
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

#Till we properly set it as a sub tree
#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
25 changes: 25 additions & 0 deletions .travis/test_03_before_install.sh
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
}

26 changes: 26 additions & 0 deletions .travis/test_04_install.sh
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

25 changes: 25 additions & 0 deletions .travis/test_05_before_script.sh
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/.phore # 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

Loading