Commit Graph

68 Commits

Author SHA1 Message Date
Alexander Block
f3e380659a Move to in-docker CI builds and add Jenkins support (#2178)
* GCC-7 and glibc-2.27 compat code

* Statically link libstdc++ for GCC based builds

Makes sure binaries which are built on a newer build host still work
on older distros.

* Use python3 when installing MacOS native tools

* Move actual build logic out of Travis and upgrade to gcc-7

Travis will now simply call a few scripts which do the actual work.
These scripts will first create a "builder image" which contains the
necessary environment for the actual build. Then scripts are called
inside this builder image to do the build.

This should make us more independant from Travis and also allows us
to do local CI testing.

The build matrix is also moved out of .travis.yml and instead moved
into ci/matrix.sh. This script is sourced with only "BUILD_TARGET" being
set so that it internally can figure out which other environment
variables need to be set.

This commit also upgrades the used GCC version to 7. This is due to the
use of ubuntu:bionic as base image for the builder image.

* Add Jenkinsfiles for regular CI and nightly gitian builds

* Automatically download OSX SDK in gitian-build.sh

* Remove bogus "export MAKEJOBS=-j5"

* Forward cache/src dirs into builder container

Fixes caching issues on Travis.

* fix

* Fail build immediately when building depends took too long
2018-07-12 16:28:59 +03:00
Alexander Block
228d774a64 Fix use of distdir and docker build dir 2018-01-21 14:14:34 +01:00
MarcoFalke
7dfcb15e64 Merge #9416: travis: make distdir before make
faaf3ca travis: make distdir before make (MarcoFalke)
2018-01-21 12:48:32 +01:00
Wladimir J. van der Laan
199170e5d5 Merge #9390: travis: make distdir
fad896d gitignore: Wipe line after java comp tool removal (MarcoFalke)
fad632e travis: make distdir (MarcoFalke)
2018-01-18 07:31:23 +01:00
Alexander Block
a46bf120bc Don't directly call "wine test_dash.exe" and let "make check" handle it (#1841)
Turned out "make check" will use wine if needed and for some reason does
not suffer from the same performance issues when called manually.
2018-01-10 12:18:52 +03:00
Alexander Block
e805f790e3 Automatically build and push docker image to docker.io/dashpay/dashd-develop (#1809)
* Automatically build and push docker image to dashpay/dashd-develop

* Remove DOCKER_REPO env var from .travis.yml and add new-line to .gitignore

This should not have been there and results in errournous pushes to
"dashpay/dashd/dashpay/dashd-develop".

Also add missing new-line in .gitignore

* Fix Travis build failures happening due to large writes to stdout

Travis issue: https://github.com/travis-ci/travis-ci/issues/4704

Build failure happened since the introduction of secrets in .travis.yml

* Fix BUILD_DIR

Due to changes in develop the build dir has changed to be just "build".

* Remove bogus upload example from .travis.yml

* Switch to pushing on "develop" branch

Used "pr_docker" before for testing purposes.

* Only push docker image when TRAVIS_PULL_REQUEST = false
2018-01-10 12:17:43 +03:00
Jonas Schnelli
5ff5474e47 Merge #8304: [travis] Update SDK_URL
fa6ad56 [travis] Update SDK_URL (MarcoFalke)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
68757db683 Merge #8210: [Qt] Bump to Qt5.6.1
2759597 Only pass -lQt5PlatformSupport if >=Qt5.6 (Jonas Schnelli)
59d063d Use runtime linking of QT libdbus, use custom/temp. SDK URL (Jonas Schnelli)
6194d9a Fix bitcoin_qt.m4 and fix-xcb-include-order.patch (Jonas Schnelli)
f6eb4e2 [depends] OpenSSL 1.0.1k - update config_opts (fanquake)
f25209a depends: bump OSX toolchain (Cory Fields)
2017-12-28 11:44:59 +01:00
Alexander Block
d9058aa04d Increase travis timeout for "wine src/test/test_dash.exe" call (#1820)
There are timeouts happening on Travis now. Increasing travis_wait to 60
minutes.
2017-12-28 03:47:23 +03:00
Alexander Block
10786fe8e8 Use travis_wait for "wine test_dash.exe" call to fix timeouts (#1812)
* Revert "Adjust tests to avoid Travis timeouts (#1745)"

This reverts commit 32f21698e8.

* Revert "Show test progress for tests running in wine to avoid Travis timeout (#1740)"

This reverts commit 31bc9d4ee8.

* Use travis_wait when calling "wine test_dash.exe"
2017-12-27 20:41:24 +03:00
Wladimir J. van der Laan
b95a338b30 Merge #8133: build: Finish up out-of-tree changes
d1a3d57 bulid: fix "make translate" when out-of-tree (Cory Fields)
340012d build: add temporary fix for "bad magic number" error in out-of-tree builds (Cory Fields)
142ffc7 travis: use out-of-tree build (Cory Fields)
92e37a3 build: fix out-of-tree 'make deploy' for osx (Cory Fields)
ab95d5d build: a few ugly hacks to get the rpc tests working out-of-tree (Cory Fields)
fc4ad0c build: more out-of-tree fixups (Cory Fields)
0cb0f26 build: out-of-tree fixups (Cory Fields)
2017-12-22 17:20:31 +01:00
Alexander Block
249167ab86 Python 3 in .travis.yml 2017-12-22 05:40:36 +01:00
Wladimir J. van der Laan
60159eb2f4 Merge #7798: [travis] Print the commit which was evaluated
fac9ca2 [travis] echo $TRAVIS_COMMIT_RANGE (MarcoFalke)
faef3b7 [travis] Print the commit which was evaluated (MarcoFalke)
2017-12-20 17:25:02 +01:00
Alexander Block
02785c8585 Disable check-doc.py for now until all backported PRs are merged and docs fixed 2017-12-11 08:30:26 +01:00
Wladimir J. van der Laan
48eddeea29 Merge #7455: [travis] Exit early when check-doc.py fails
fa5f193 [travis] Exit early when check-doc.py fails (MarcoFalke)
2017-12-11 08:30:26 +01:00
Wladimir J. van der Laan
07338feaee Merge #7620: [travis] Only run check-doc.py once
fa1b80d [travis] Only run check-doc.py once (MarcoFalke)
2017-12-11 08:30:26 +01:00
Wladimir J. van der Laan
42997ee8dc Merge pull request #7280
faeda0e [travis] Run contrib/devtools/check-doc.py early (MarcoFalke)
fada0c9 [travis] Fail when documentation is outdated (MarcoFalke)
2017-12-10 00:04:02 +01:00
UdjinM6
c166ed39b0
Allow compilation with --disable-wallet (#1733)
* Allow compilation with `--disable-wallet`

* fix remaining references

* Drop wallet references/include in CActiveMasternode and fix other files affected by this change

* Wrap privatesend-client.h include with ifdef/endif and fix other files affected by this change

* Re-enable Travis build with no wallet

reverts 267e57877b
2017-12-01 21:53:34 +03:00
UdjinM6
32f21698e8
Adjust tests to avoid Travis timeouts (#1745)
- add some stdout spam to heavy tests (versionbits_tests, coins_tests and PrevectorTests)
- replace `--show_progress` with `--log_level=test_suite` to print these messages and avoid timeout
2017-12-01 08:14:17 +03:00
UdjinM6
31bc9d4ee8
Show test progress for tests running in wine to avoid Travis timeout (#1740) 2017-11-27 21:07:54 +03:00
Pieter Wuille
c81394b975 Merge #10195: Switch chainstate db and cache to per-txout model
589827975 scripted-diff: various renames for per-utxo consistency (Pieter Wuille)
a5e02bc7f Increase travis unit test timeout (Pieter Wuille)
73de2c1ff Rename CCoinsCacheEntry::coins to coin (Pieter Wuille)
119e552f7 Merge CCoinsViewCache's GetOutputFor and AccessCoin (Pieter Wuille)
580b02309 [MOVEONLY] Move old CCoins class to txdb.cpp (Pieter Wuille)
8b25d2c0c Upgrade from per-tx database to per-txout (Pieter Wuille)
b2af357f3 Reduce reserved memory space for flushing (Pieter Wuille)
41aa5b79a Pack Coin more tightly (Pieter Wuille)
97072d668 Remove unused CCoins methods (Pieter Wuille)
ce23efaa5 Extend coins_tests (Pieter Wuille)
508307968 Switch CCoinsView and chainstate db from per-txid to per-txout (Pieter Wuille)
4ec0d9e79 Refactor GetUTXOStats in preparation for per-COutPoint iteration (Pieter Wuille)
13870b56f Replace CCoins-based CTxMemPool::pruneSpent with isSpent (Pieter Wuille)
05293f3cb Remove ModifyCoins/ModifyNewCoins (Pieter Wuille)
961e48397 Switch tests from ModifyCoins to AddCoin/SpendCoin (Pieter Wuille)
8b3868c1b Switch CScriptCheck to use Coin instead of CCoins (Pieter Wuille)
c87b957a3 Only pass things committed to by tx's witness hash to CScriptCheck (Matt Corallo)
f68cdfe92 Switch from per-tx to per-txout CCoinsViewCache methods in some places (Pieter Wuille)
000391132 Introduce new per-txout CCoinsViewCache functions (Pieter Wuille)
bd83111a0 Optimization: Coin&& to ApplyTxInUndo (Pieter Wuille)
cb2c7fdac Replace CTxInUndo with Coin (Pieter Wuille)
422634e2f Introduce Coin, a single unspent output (Pieter Wuille)
7d991b55d Store/allow tx metadata in all undo records (Pieter Wuille)
c3aa0c119 Report on-disk size in gettxoutsetinfo (Pieter Wuille)
d34242430 Remove/ignore tx version in utxo and undo (Pieter Wuille)
7e0032290 Add specialization of SipHash for 256 + 32 bit data (Pieter Wuille)
e484652fc Introduce CHashVerifier to hash read data (Pieter Wuille)
f54580e7e error() in disconnect for disk corruption, not inconsistency (Pieter Wuille)
e66dbde6d Add SizeEstimate to CDBBatch (Pieter Wuille)

Tree-SHA512: ce1fb1e40c77d38915cd02189fab7a8b125c7f44d425c85579d872c3bede3a437760997907c99d7b3017ced1c2de54b2ac7223d99d83a6658fe5ef61edef1de3
2017-10-31 21:19:11 +01:00
UdjinM6
1b1d52ac3e workaround for travis (#1526) 2017-07-14 17:19:07 +03:00
UdjinM6
adf97e12ab fix travis ci mac build (#1483) 2017-05-31 06:50:27 +03:00
crowning-
f21c7cc9d8 [Build] Re-include Windows/wine test into Travis build (#1137) 2016-11-09 02:53:52 +04:00
crowning-
b11cc8f1a8 [Build] fix travis.yml (#1133) 2016-11-08 01:00:31 +04:00
TheLazieR Yip
768eb2044f Add support for compile with ENABLE_DASH_DEBUG defined (#1112) 2016-10-31 13:56:24 +04:00
UdjinM6
6af7a58d92 Merge remote-tracking branch 'bitcoin/0.12' into mergebtc12, fix/dashify
NOTE: .travis.yml was mostly preserved, probably needs additional attention
2016-08-26 04:09:20 +03:00
Cory Fields
4fd6008105 travis: 'make check' in parallel and verbose
Github-Pull: #8072
Rebased-From: 401ae654b2
2016-06-09 23:30:18 +02:00
Cory Fields
564aaa2cd0 travis: switch to Trusty
Github-Pull: #7920
Rebased-From: 06fdffd222, 9267a47d86, cf77fcdb1f, 174023c9b0, a33b7c9cb5
2016-04-27 12:29:56 +02:00
TheLazieR Yip
91b2546d8b Update .travis.yml to use travis's container based with public cache directories
- Remove sudo: required
 - Use addons to install apt packages
 - Use pip to install pyzmq
 - Use wine package from precise, so running windows binary for test need to call via wine.

Closes #743
2016-03-17 13:47:25 +01:00
UdjinM6
5a198a25dc fix travis - install dash_hash 2016-03-07 12:18:47 +01:00
Luke Dashjr
3c36bcf532 Workaround Travis-side CI issues
Github-Pull: #7487
Rebased-From: 149641e8fc c01f08db12 5d1148cb79 1ecbb3b0f7
2016-03-07 12:18:16 +01:00
Luke Dashjr
00d57b4d3a
Workaround Travis-side CI issues
Github-Pull: #7487
Rebased-From: 149641e8fc c01f08db12 5d1148cb79 1ecbb3b0f7
2016-03-01 15:03:44 +01:00
Holger Schinzel
267e57877b fixing test suite 2016-02-23 10:37:21 +01:00
UdjinM6
a5ac60b868 Merge remote-tracking branch 'bitcoin/0.12' into HEAD
+ merge fixes
+ keepass on evhttp
2016-02-06 16:48:04 +03:00
Holger Schinzel
66ce5f1d60 fix test suite 2016-01-29 23:35:23 +01:00
Holger Schinzel
3523eee497 fixing SDK url 2016-01-27 13:15:35 +01:00
Holger Schinzel
86d4672936 travis: for travis generating an extra build
see bfadae3374
2016-01-12 12:01:45 +01:00
MarcoFalke
9999cb0626 Fix url in .travis.yml 2015-11-30 16:34:33 +01:00
James O'Beirne
b5cbd396ca Add basic coverage reporting for RPC tests
Thanks to @MarcoFalke @dexX7 @laanwj for review.
2015-11-11 10:33:43 -08:00
ptschip
5467820be5 Migrated rpc-tests.sh to all python rpc-tests.py
1) created rpc-tests.py
2) deleted rpc-tests.sh
3) travis.yml points to rpc-tests.py
4) Modified Makefile.am
5) Updated README.md
6) Added tests_config.py and deleted tests-config.sh
7) Modified configure.ac with script to set correct path in tests_config.py
2015-10-01 11:28:11 -07:00
Cory Fields
745f909925 travis: install a recent libzmq and pyzmq for tests 2015-10-01 15:40:57 +02:00
Jonas Schnelli
a9c27cdf55 [travis] add zmq python module 2015-10-01 14:02:26 +02:00
Cory Fields
10e469ae37 travis: bump wine to 1.7 2015-09-02 11:42:27 -04:00
Cory Fields
bfadae3374 travis: for travis generating an extra build 2015-09-01 21:45:23 -04:00
Cory Fields
cc602d0f83 travis: don't spew fixme messages when running wine tests 2015-05-04 11:05:25 -04:00
Suhas Daftuar
29bff0e684 Add some travis debugging for python scripts
Adds printing to the console before/after calls to bitcoin-cli -rpcwait,
if the PYTHON_DEBUG environment variable is initialized.
2015-04-28 16:51:46 -04:00
UdjinM6
fabca0a428 more bitcoin->dash fixes 2015-04-06 00:56:58 +03:00
Pieter Wuille
5abe2cf110 Reorder travis builds for faster response 2015-03-13 07:12:37 -07:00
Gavin Andresen
69866436be
Run unit tests in different orders
Set the BOOST_TEST_RANDOM environment variable, to
run unit tests in different orders for each test in the
test matrix that runs tests.
2015-03-06 12:15:08 -05:00