Commit Graph

169 Commits

Author SHA1 Message Date
Alexander Block
fcea333ba8
Rewrite handling of too long depends builds in .travis.yml (#2385)
The old solution was unnecessarily complicated and resulted in failed tests
to be shown as successful (the exit code was ignored).
2018-10-26 12:15:43 +02:00
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
Cory Fields
06715165f9 build: change reduce exports/static libstdc++ options for gitian and travis
For Gitian releases:
  - Windows builds remain unchanged. libstdc++ was already linked statically.
  - OSX builds remain unchanged. libstdc++ is tied to the SDK and not worth
    messing with.
  - Linux builds now statically link libstdc++.

For Travis:
  - Match the previous behavior by adding --enable-reduce-exports as
  necessary.
  - Use static libstdc++ for the full Linux build.
2015-02-23 18:22:58 -05:00
Cory Fields
f0172bf91e osx: bump build sdk to 10.9 2015-01-20 01:49:20 -05:00
Cory Fields
46f54bf796 build: osx builders no longer need 32bit compiler support 2015-01-02 15:09:43 -05:00
Cory Fields
c54d647a92 travis: let travis use shared libs for tests 2014-11-19 22:49:41 -05:00
Pieter Wuille
3c1e10b161
Merge pull request #5297
096efc5 travis: install less packages from apt-get (Cory Fields)
2014-11-18 14:21:15 +01:00
Cory Fields
560e99636c travis: attempt to fix unlikely build issue
This is a long chain of errors, and there are likely other changes that could
be made to cope in other places along that chain.

If depends don't build successfully, don't bother trying again for the sake of
better logging. That's likely to hurt more than help. In this case, qt build
failed, and on the second attempt, it appeared to be successful. However, due
to a bad object from an internal gcc error on the first build, the resulting
lib was unusable. This caused bitcoin-qt to not be built, and tests and
packaging which expected bitcoin-qt to be there failed.

The root cause:
Mingw is especially crashy when using -jX, likely compounded by low-memory
environments. I've seen multiple problems with this combo in Gitian as well.

In this case:
i686-w64-mingw32-g++: internal compiler error: Killed (program cc1plus)
...
make[3]: *** [.obj/release/qdrawhelper.o] Error 4

The workaround:
Bump Travis down to using -j2 by default. Additionaly, enable --with-gui for
the windows builds. This will cause configure to fail if qt is not working
while also testing the config flag.

Other failures which may be worth revisiting separately:
- If a depends package fails, maybe remove the workdir so that it doesn't taint
  subsequent runs
- See if there's anything repeatable about the ICE when building qt
2014-11-13 04:09:19 -05:00
Cory Fields
096efc5812 travis: install less packages from apt-get 2014-11-12 18:35:18 -05:00
Cory Fields
2191eac812 add tests to travis 2014-10-31 00:28:52 -04:00
Luke Dashjr
caecb42b38 Travis: Descriptive build names 2014-10-10 03:36:49 +00:00
Cory Fields
d6b0539f45 travis: add non-default shell testing to travis. 2014-10-03 18:56:04 -04:00
Cory Fields
e9f3fa7c0b travis: enable windows tests 2014-10-01 06:59:59 -04:00
Matt Corallo
e166c177bc Revert "travis: retry tests before giving up"
This reverts commit 7e3821c097.
2014-09-30 12:14:22 -07:00
Cory Fields
93e24dddf3 travis: use debug for one build
For the all-off build, enable the wallet and debug. This ensures that debug
options will catch wallet problems as well.

In order to make sure the no-wallet path is still tested, disable the wallet
in the other x86_64 build.
2014-09-25 14:56:26 -04:00
Cory Fields
1b0c981cb6 travis: use DEBUG_LOCKORDER for our quick/small Linux build 2014-09-16 14:23:55 -04:00
Cory Fields
7e3821c097 travis: retry tests before giving up 2014-09-16 13:39:25 -04:00
Luke Dashjr
21b7addc9b Bugfix: Add missing equals-sign to Travis config 2014-09-15 07:41:53 +00:00
Cory Fields
81061ffd69 travis: add osx build 2014-09-04 14:18:13 -04:00
Cory Fields
9380d019a1 travis: initial descriptor 2014-08-25 11:48:31 -04:00