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

More updates from Pivx Upstream #175

Open
wants to merge 153 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 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
b219997
[Qt] Don't show staking/automint status icons without a wallet
Fuzzbawls Dec 14, 2018
5567d14
Depends: Update to most recent version
Fuzzbawls Aug 17, 2018
e7831a3
Update README.md
KolbyML Mar 14, 2020
bba85be
Build: Add automated man page generation
Fuzzbawls Aug 18, 2018
876157c
Build: Update coverage build target(s)
Fuzzbawls Aug 18, 2018
2a82aa2
Build: Add bash completion support to the build system
Fuzzbawls Oct 17, 2018
a6ee821
Build: Introduce endian and byteswap
Fuzzbawls Jul 13, 2018
1e5065f
Build: Show PIC/PIE flags in configure summary
Fuzzbawls Aug 17, 2018
af2e520
Build: Update build system to upstream master
Fuzzbawls Aug 18, 2018
b03c835
Update configure.ac
KolbyML Mar 14, 2020
f3fde8d
Build: Introduce Symbol and Security check scripts to the build system.
Fuzzbawls Oct 17, 2018
3b7ac65
Build: utility test updates
Fuzzbawls Jul 14, 2018
4054d74
Gitian: remove reference datetime
Fuzzbawls Aug 17, 2018
35d799c
Gitian: update descriptors for bionic
Fuzzbawls Jul 21, 2018
f29fd36
Contrib: Update macdeployqtplus subdir
Fuzzbawls Sep 4, 2018
c9e008c
Update packages.mk
KolbyML Mar 14, 2020
135920c
Update protobuf.mk
KolbyML Mar 14, 2020
927677b
fixes for changes
KolbyML Mar 14, 2020
52a2aa1
Merge #783: [Depends] Update QT to 5.9.7
Fuzzbawls Jan 9, 2019
7e9257e
Fix Missing Explorer Icon
sicXnull Jan 5, 2019
8e7f1ce
Merge #795: [Build] Add support for RISC-V and build it with gitian
Mrs-X Jan 20, 2019
019619a
Update qt.mk
KolbyML Mar 14, 2020
20794ba
Improve addrman Select() performance when buckets are nearly empty
sipa Aug 6, 2015
a1230f1
Update zmq to 4.3.1
rex4539 Jan 17, 2019
f5d27cf
cleanup, remove trading dialog form
furszy Mar 20, 2019
66265fb
fix to display missing clock5.png tx image
joeuhren Mar 25, 2019
76e664a
[macOS] Remove DS_Store WindowBounds bytes object
jonasschnelli Oct 18, 2018
988211f
Fixed some names in a few files
KolbyML Mar 14, 2020
99f9cdc
[Travis] Add separate job to check doc/logprint/subtree
Fuzzbawls Jun 19, 2018
7bbc7a2
travis: run subtree checks for leveldb
Fuzzbawls Jul 12, 2018
d7b4b9d
Travis: Update to use docker with Bionic target
Fuzzbawls Aug 17, 2018
5143287
Travis: Introduce .travis subdir and better job folding
Fuzzbawls Sep 2, 2018
160b7c7
Update .travis.yml
KolbyML Mar 14, 2020
13b2e6a
[Refactor] Delete secp256k1 folder for subtreefication
Warrows May 9, 2018
e962924
Merge commit '8a901f93d505af3516353837600fd71a0c53a692' as 'src/secp2…
Warrows May 9, 2018
77a172f
Merge commit 'c6634ef065ceb295522f0d61a3d45d8d53abe51c' into libsecp_…
Warrows Oct 23, 2018
a042ebf
Merge commit '4f5b53da1af363a5c41acc8e1d82f37dd7f393d9' as 'src/leveldb'
Fuzzbawls Jul 12, 2018
af85bbd
fixes for leveldb and travis
KolbyML Mar 15, 2020
6ddc927
Don't return an invalid state when shutting down the wallet
Fuzzbawls Apr 13, 2019
bff690a
[Qt] Prevent double deletion of progress dialog
Fuzzbawls Apr 7, 2019
c33b217
[Refactor] Move per-chain budget cycle blocks to chainparams
Fuzzbawls Apr 2, 2019
9e300f6
[RPC] Remove deprecated masternode/budget RPC commands
Fuzzbawls Apr 26, 2019
e25cc7d
[Refactor] Remove unused setStakeSeen variable
Warrows May 8, 2019
54ec03d
Replace BOOST FOREACH with for :
KolbyML Mar 17, 2020
b53103d
Remove useless BOOST includes and readd where needed
KolbyML Mar 17, 2020
fa75235
Reinitialize state in between individual unit tests.
sipa Mar 3, 2015
2294dff
tests: add a BasicTestingSetup and apply to all tests
laanwj Mar 12, 2015
1b3f55e
[Log] Handle errors during log message formatting
Warrows May 20, 2019
9fb8ac7
Fix typos and oversights in listunspent
CaveSpectre11 May 16, 2019
90eeb2f
Creates unittests for addrman, makes addrman testable.
EthanHeilman Sep 22, 2015
70978dc
Increase test coverage for addrman and addrinfo
EthanHeilman Dec 13, 2015
45dc84d
[Code Style] Remove std namespace in test file
Warrows May 20, 2019
a7474f6
[Build] Initial CMake support
Fuzzbawls May 3, 2019
aa474f6
fix config.h include file name
Fuzzbawls May 27, 2019
8363e56
use non-Cellar OpenSSL path for macOS
Fuzzbawls Jun 10, 2019
652a81a
[Build] Clean all coverage files during make clean
Fuzzbawls Jun 7, 2019
6122fb2
Update accumulators.cpp
furszy Jun 14, 2019
3cde88d
Don't assert if we were beaten to the block
CaveSpectre11 Jun 10, 2019
d80b035
[code review] LogPrintf nit change
CaveSpectre11 Jun 14, 2019
9afa2ea
[Gitian] Bump gitian build versions
Fuzzbawls Jun 10, 2019
79de815
[Backport] Max tip age to consider a node in IBD status customizable.…
furszy Jun 15, 2019
201f3e4
depends: Update from upstream
Fuzzbawls Jun 8, 2019
0b1179f
[Travis] Update TravisCI from upstream
Fuzzbawls Jun 9, 2019
020b349
[Qt] Remove unused obfuscationconfig
Fuzzbawls Feb 27, 2019
5ec7727
Remove unused code in DoAutomaticDenominating
Fuzzbawls Feb 27, 2019
812cae8
Remove nAnonymizePivxAmount and nLiquidityProvider
Fuzzbawls Feb 27, 2019
b507482
Remove unused functions in wallet.cpp
Fuzzbawls Feb 28, 2019
933f610
Remove more useless obfuscation code
Fuzzbawls Feb 28, 2019
a707e54
Remove more useless obfuscation code
Fuzzbawls Feb 28, 2019
4e3fc4b
fixes for Remove unused functions in wallet.cpp
KolbyML Mar 19, 2020
7913c0e
removed redelcared function
KolbyML Mar 20, 2020
9f4a1f3
[Qt] Add blockhash + datadir to information tab
Mrs-X Jun 20, 2019
2373c18
show the progress of functional test
isghe Oct 17, 2018
9ab759d
tests: Print dots by default
ken2812221 Oct 30, 2018
fdb8553
tests: Print remaining jobs in test_runner.py
stevenroose Feb 22, 2019
a45c962
[Travis] Log more info
Warrows Jul 9, 2019
3b5a9fb
travis: Fix caching issues
Jun 14, 2019
c4cc553
travis: Use absolute paths for cache dirs
Jun 14, 2019
9f6dcb7
[Travis] Give more time to tests
Warrows Jul 9, 2019
4e8af1b
Remove all "using namespace" statements
KolbyML Mar 20, 2020
6ddf321
[Wallet] Remove (explicitely) unused tx comparator
Warrows Jul 2, 2019
ab725af
[Refactor] Combine parameter checking of budget commands
KolbyML Mar 25, 2020
92195bc
Remove Bitcoin Core 0.8 block hardlinking
Aug 9, 2019
fc6a04b
[RPC] require valid URL scheme on budget commands
CaveSpectre11 Jul 13, 2019
a35d772
Cleaned up spacing and got travis working
KolbyML Apr 11, 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 @@ [email protected]
/doc/doxygen/
doc/Doxyfile
/nbproject/

libbitcoinconsensus.pc
.idea
cmake-build-debug

Expand Down
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.5.6
244 changes: 190 additions & 54 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,73 +1,209 @@
sudo: required
dist: trusty
# The test build matrix (stage: test) is constructed to test a wide range of
# configurations, rather than a single pass/fail. This helps to catch build
# failures and logic errors that present on platforms other than the ones the
# author has tested.
#
# Some builders use the dependency-generator in `./depends`, rather than using
# apt-get to install build dependencies. This guarantees that the tester is
# using the same versions as Gitian, so the build results are nearly identical
# to what would be found in a final release.
#
# In order to avoid rebuilding all dependencies for each build, the binaries
# are cached and re-used when possible. Changes in the dependency-generator
# will trigger cache-invalidation and rebuilds as necessary.
#
# These caches can be manually removed if necessary. This is one of the very
# few manual operations that is possible with Travis, and it can be done by a
# PIVX GitHub member via the Travis web interface [0].
#
# Travis CI uploads the cache after the script phase of the build [1].
# However, the build is terminated without saving the chache if it takes over
# 50 minutes [2]. Thus, if we spent too much time in early build stages, fail
# with an error and save the cache.
#
# [0] https://travis-ci.org/pivx-project/pivx/caches
# [1] https://docs.travis-ci.com/user/caching/#build-phases
# [2] https://docs.travis-ci.com/user/customizing-the-build#build-timeouts

dist: xenial
os: linux
language: minimal
cache:
ccache: true
directories:
- depends/built
- depends/sdk-sources
- $HOME/.ccache
- $TRAVIS_BUILD_DIR/depends/built
- $TRAVIS_BUILD_DIR/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"
- 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."
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
- 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/test_06_script_a.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
- if [ $SECONDS -gt 1500 ]; then export CONTINUE=0; fi # Likely the build took very long; The tests take about 1000s, so we should abort if we have less than 50*60-1000=2000s left
- if [ $CONTINUE = "1" ]; then set -o errexit; source .travis/test_06_script_b.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
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=
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
jobs:
include:

- stage: lint
name: 'lint'
env:
cache: false
language: python
python: '3.5' # Oldest supported version according to doc/dependencies.md
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

- stage: test
name: 'ARM 32-bit [GOAL: install] [no unit or functional tests]'
env: >-
HOST=arm-linux-gnueabihf
PACKAGES="python3 g++-arm-linux-gnueabihf"
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"

- stage: test
name: 'ARM 64-bit [GOAL:install] [no unit or functional tests]'
env: >-
HOST=aarch64-linux-gnu
PACKAGES="python3 g++-aarch64-linux-gnu"
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
GOAL="install"
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"

- stage: test
name: 'Win32 [GOAL: deploy] [no functional tests]'
env: >-
HOST=i686-w64-mingw32
DPKG_ADD_ARCH="i386"
PACKAGES="python3 nsis g++-mingw-w64-i686 wine-binfmt wine32"
RUN_FUNCTIONAL_TESTS=false
GOAL="deploy"
BITCOIN_CONFIG="--enable-reduce-exports"

- stage: test
name: 'Win64 [GOAL: deploy] [no functional tests]'
env: >-
HOST=x86_64-w64-mingw32
PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64"
RUN_FUNCTIONAL_TESTS=false
GOAL="deploy"
BITCOIN_CONFIG="--enable-reduce-exports"

- stage: test
name: '32-bit + dash [GOAL: install] [no gui]'
env: >-
HOST=i686-pc-linux-gnu
PACKAGES="g++-multilib python3-zmq"
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
CONFIG_SHELL="/bin/dash"

# - stage: test
# name: 'x86_64 Linux [GOAL: install] [bionic] [uses qt5 dev package instead of depends Qt to speed up build and avoid timeout]'
# 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"
# RUN_FUNCTIONAL_TESTS=true
# #TEST_RUNNER_EXTRA="--coverage --extended" # Run extended tests so that coverage does not fail, but exclude the very slow dbcrash
# GOAL="install"
# BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports"

# - stage: test
# name: 'x86_64 Linux [GOAL: install] [trusty] [no functional tests, no depends, only system libs]'
# 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-program-options-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev"
# NO_DEPENDS=1
# RUN_FUNCTIONAL_TESTS=false
# GOAL="install"
# BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=no"

- stage: test
name: 'x86_64 Linux [GOAL: install] [xenial] [no depends, only system libs]'
env: >-
HOST=x86_64-unknown-linux-gnu
DOCKER_NAME_TAG=ubuntu:16.04
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl-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 --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --disable-hardening --disable-asm"

- stage: test
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs]'
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 --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER"

# - stage: test
# name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: fuzzer,address]'
# 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_UNIT_TESTS=false
# RUN_FUNCTIONAL_TESTS=false
# RUN_BENCH=true
# 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++"

# - stage: test
# name: 'x86_64 Linux [GOAL: install] [bionic] [no wallet]'
# env: >-
# HOST=x86_64-unknown-linux-gnu
# PACKAGES="python3-zmq"
# DEP_OPTS="NO_WALLET=1"
# GOAL="install"
# BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"

- stage: test
name: 'macOS 10.10 [GOAL: deploy] [no functional tests]'
env: >-
HOST=x86_64-apple-darwin14
PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools"
OSX_SDK=10.11
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
GOAL="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.

15 changes: 15 additions & 0 deletions .travis/lint_04_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/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 codespell==1.13.0
travis_retry pip install flake8==3.5.0
travis_retry pip install vulture==0.29

SHELLCHECK_VERSION=v0.6.0
curl -s "https://storage.googleapis.com/shellcheck/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/
export PATH="/tmp/shellcheck-${SHELLCHECK_VERSION}:${PATH}"
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
27 changes: 27 additions & 0 deletions .travis/test_03_before_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/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")
# Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers.
PATH=$PATH:/usr/lib/llvm-6.0/bin/
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
}

Loading