Commit Graph

81 Commits

Author SHA1 Message Date
Alexander Block
24fee30513
Add support for Gitlab CI (#3149)
* Add .gitlab-ci.yml

* Use | instead of > for multiline commands

This honor new-lines and makes ; unnecessary

* Use ubuntu:bionic as base image

* Move cache initialization before apt-get installs

* Cache apt packages

* Move installation of wget and unzip up as we need it for the cache

* Prevent apt from deleting caches

* Collect test logs into artifact

* Make combine_logs.py always look for the template in the correct dir

* Move final cache stuff into after_script

* Reintroduce PYTHON_DEBUG=1, but only for .travis.yml

* Install jinja2 in Travis builder image

* Enable ChainLocks after quorums have been created

Creating 4 quorums causes a lot of blocks to be created and signed by
ChainLocks, which then causes timeouts later.

* Increase timeout in wallet-dump.py test

The first dumpwallet is quite slow sometimes, which then makes the
later called dumpwallet throw a wallet locked exception.
2019-10-16 11:48:46 +02:00
UdjinM6
d9e98e31ea
Fix scripted diff check condition (#3128) 2019-10-01 17:16:26 +03:00
Wladimir J. van der Laan
f8aca185b1 Merge #11521: travis: move back to the minimal image
3d1c311 Revert "travis: filter out pyenv" (Cory Fields)
a86e81b travis: move back to the minimal image (Cory Fields)

Pull request description:

  The most recent update replaced the minimal image with a large one for the
  'generic' image. Switching back to 'minimal' should reduce dependencies and
  maybe speed us up some.

  It should also eliminiate the need for aa2e0f09e.

Tree-SHA512: 0e5f3e97e8d97add07ea228bc5ce1e51e8e069950dbb2871a7eece297995f20b671afdf1c68211ce404cba3ba393d61dfef30ed54d46d6805fde9388f6b4455e
2019-09-30 08:33:16 +02:00
Alexander Block
63424fb26a Fix 2 common Travis failures which happen when Travis has network issues (#3003)
* Retry downloading of depends sources 3 times

* Manually invoke apt-get update and install instead of using addon

This allows us to use travis_retry on these operations.

* Add exception for depends/Makefile in .gitignore

* Remove --retry from curl call

This avoids future confusion as we don't rely on curl anymore to properly
retry downloads. curls does only retry on transient errors, while Travis
might cause all kinds of errors which circumvent the retry logic of curl.
2019-06-27 23:25:30 +03:00
Alexander Block
6677a614a7 Run extended tests when Travis is started through cron (#2983)
This allows daily testing of extended tests. The --exclude also contains
"dbcrash", which we haven't backported yet, but I decided to leave it in
when I copied the code from Bitcoin, so that we later don't forget to add
it.
2019-06-18 14:34:00 +03:00
UdjinM6
66b336c937
Use Travis stages instead of custom timeouts (#2948) 2019-05-29 08:48:19 +03:00
Alexander Block
f1fe24b676 Only gracefully timeout Travis when integration tests need to be run (#2933)
* Split RUN_TESTS into RUN_UNITTESTS and RUN_INTEGRATIONTESTS

* Only gracefully timeout when RUN_INTEGRATIONTESTS=true
2019-05-23 00:21:21 +03:00
Alexander Block
7c05aa8213 Also gracefully timeout Travis builds when building source takes >30min (#2932)
We assume 15-20 minutes for running integration tests, so we can spend a
maximum of 30 minutes for building depends and source.
2019-05-22 22:49:05 +03:00
Alexander Block
3ead8cd85d
Fix potential travis failures due to network failures (#2795)
* Manually pull builder base image and let travis retry it on failure

* Split base package installation in Dockerfile.builder into multiple RUN lines

This allows better local cache usage on failure and retry.

* Use travis_retry for docker build
2019-03-22 11:51:33 +01:00
UdjinM6
0fd1fb7d57
Don't build docker image when running Travis job on some another repo (#2718) 2019-02-21 21:44:47 +03:00
PastaPastaPasta
a49f4123e5 Backports 0.15 pr1 (#2590)
* Merge #9744: Remove unused module from rpc-tests

a432aa0 Remove unused module from rpc-tests (Takashi Mitsuta)

* Merge #9696: [trivial] Fix recently introduced typos in comments

0c9b9b7 [trivial] Fix recently introduced typos in comments (practicalswift)

* Merge #9657: Improve rpc-tests.py

a6a3e58 Various review markups for rpc-tests.py improvements (John Newbery)
3de3ccd Refactor rpc-tests.py (John Newbery)
afd38e7 Improve rpc-tests.py arguments (John Newbery)
91bffff Use argparse in rpc_tests.py (John Newbery)
1581ecb Use configparser in rpc-tests.py (John Newbery)

* Merge #9724: Qt/Intro: Add explanation of IBD process

f6d18f5 Qt/Intro: Explain a bit more what will happen first time (Luke Dashjr)
50c5657 Qt/Intro: Storage shouldn't grow significantly with pruning enabled (Luke Dashjr)
9adb694 Qt/Intro: Move sizeWarningLabel text into C++ code (Luke Dashjr)

* Merge #9794: Minor update to qrencode package builder

1bfe6b4 Use package name variable inside $(package)_file_name variable (Mitchell Cash)

* Merge #9726: netbase: Do not print an error on connection timeouts through proxy

3ddfe29 netbase: Do not print an error on connection timeouts through proxy (Wladimir J. van der Laan)
13f6085 netbase: Make InterruptibleRecv return an error code instead of bool (Wladimir J. van der Laan)

* Merge #9727: Remove fallbacks for boost_filesystem < v3

056aba2 Remove fallbacks for boost_filesystem < v3 (Wladimir J. van der Laan)

* Merge #9485: ZMQ example using python3 and asyncio

b471daf Adddress nits, use asyncio signal handling, create_task (Bob McElrath)
4bb7d1b Add python version checks and 3.4 example (Bob McElrath)
5406d51 Rewrite to not use Polling wrapper for asyncio, link to python2.7 example (Bob McElrath)
5ea5368 ZMQ example using python3 and asyncio (Bob McElrath)

* Merge #9807: RPC doc fix-ups.

851f6a3 [qa][doc] Correct rpc test options in readme (fanquake)
41e7219 [trivial] Add tests_config.ini to .gitignore (fanquake)

* Dashify

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>

* Change file permissions

* update travis.yml -parallel -> --jobs
2019-01-03 12:18:47 +03:00
Alexander Block
f65e74682a Pass "-parallel=3" to reduce load on Travis nodes while testing 2018-11-15 08:04:58 +01:00
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