Commit graph

165 commits

Author SHA1 Message Date
Chun Kuan Lee fc91c1f28e Revert "travis: Save cache on build error"
This reverts commit d3ecc3d695.
2018-12-13 21:18:14 +08:00
Sjors Provoost 74ce326831
[test] Travis: enforce Python 3.4 support in functional tests
Make lint/check-doc.py Python 3.4 compatible.

Also add .python-version for pyenv which will cause tests with too
modern syntax to fail on developer machine rather than on Travis.
2018-12-12 10:39:32 +01:00
MarcoFalke c62b151189
Merge #14231: travis: Save cache even when build or test fail
d3ecc3d695 travis: Save cache on build error (Chun Kuan Lee)

Pull request description:

  In current travis setup, the job will terminate immediately if an error occur. There is no chance to save the cache. This was accidentally introduced by #13863. This PR is to fix the issue and travis would save cache on error.

  test for build error: https://travis-ci.org/bitcoin/bitcoin/builds/429172128

Tree-SHA512: fb8beb97928e10932c695d1884948bf8972a6501042d5212111fba1f258160d813a4c6cc72e9da78f2acd9518382c21943347b820d8e15b5eb874e7707c928b2
2018-12-03 11:07:19 -05:00
practicalswift ff7212ec32 Add ASan Travis build 2018-11-26 22:20:46 +01:00
MarcoFalke 2607c38fc5
Merge #14764: travis: Run thread sanitizer on unit tests
fa7d36b8e7 test: Move UBSAN suppressions to test/sanitizer_suppressions/ubsan (MarcoFalke)
fa36d4e456 travis: --disable-hardening for xenial thread sanitizer (MarcoFalke)
89bf196c88 travis: Run thread sanitizer (MarcoFalke)

Pull request description:

  On unit tests only for now. Disabled for the gui unit tests and all functional tests.

Tree-SHA512: 56f7d3b44e7cb68c76a2dc5abd85658955b1c2188932e988667c5a1cbcdd6be995d37bb949d62c6eb08a4aebfc43ff0370b7da1719d4e4f322a3495c1941a5e0
2018-11-23 09:38:33 -05:00
MarcoFalke fa36d4e456
travis: --disable-hardening for xenial thread sanitizer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67308
2018-11-22 11:48:58 -05:00
MarcoFalke 89bf196c88 travis: Run thread sanitizer 2018-11-22 11:47:36 -05:00
Julian Fleischer feeef7d30e
Do not specify sudo in .travis
Travis is deprecating the `sudo` keyword and moves everything to
the same infrastructure (sudo really selects between two infrastructures).

See https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration?utm_source=in-app&utm_medium=intercom for more info.
2018-11-20 15:50:30 +01:00
practicalswift 4773fa8207 Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers. 2018-11-06 17:45:54 +01:00
practicalswift 9f49db7335 Enable functional tests in UBSAN job. Enable -fsanitize=integer (part of UBSAN). Merge UBSAN Travis job with no depends. 2018-11-05 20:04:02 +01:00
MarcoFalke 73a8408bc3
Merge #14092: tests: Dry run bench_bitcoin as part "make check" to allow for quick identification of assertion/sanitizer failures in benchmarking code
dfef0df840 tests: Dry run bench_bitcoin (-evals=1 -scaling=0: <1 second running time) as part "make check" to allow for quick identification of assertion/sanitizer failures in benchmarking code (practicalswift)
00c6306a61 Remove RUN_BENCH logic (practicalswift)

Pull request description:

  Dry run `bench_bitcoin` (`-evals=1 -scaling=0`: <1 second running time) as part `make check` to allow for quick identification of assertion/sanitizer failures or crashes in benchmarking code.

  This is already tested in Travis but it is nice to have it locally too. The cost is near zero.

Tree-SHA512: 1f51b86b34bf97f75785f2694891d80f1bfb3e050211e6f6c35d8d9bc80c75bdebaa5ebfa51855ac0cf76d8773c3026bc576f60d0227afb0e646d728b83abde7
2018-11-05 09:31:01 -05:00
MarcoFalke 742ee21349
Merge #14528: travis: Compile once on xenial
fa4bcaf82a travis: Compile once on xenial (MarcoFalke)

Pull request description:

  Currently we only build on bionic (since that is also the current gitian environment). However, building on the current and previous Ubuntu LTS should be supported with only system packages and without depends.

Tree-SHA512: bf5725cfb1be09220510d53010c7b7deb20051a9995e39fe5e83505c63db09ac877a41b896c97b253052fefea58ca0a9b6d9c5962a7ac4b258782c476d6ee7c0
2018-11-02 17:41:07 -04:00
Chun Kuan Lee d3ecc3d695 travis: Save cache on build error 2018-10-28 06:48:35 +08:00
MarcoFalke f4e4ea1cee
Merge #13515: travis: Enable qt for all jobs
3387bb0829 travis: avoid timeout without saving caches, also enable all qt (Chun Kuan Lee)

Pull request description:

  - If depends build take more than 20 mins, skip Bitcoin Core build to store depends caches and mark it fail. Then restart the job for Bitcoin Core build.
  - Enable Qt build for Windows and 32-bit Linux
  - Enable wallet for depends x86-64 Linux
  - Disable gui tests for Windows since they are not supported

  This would be helpful for upgrading Qt (#12971) and protobuf (#13513)

Tree-SHA512: e943cbd848d90f9f70e29c94ed717f96ad2c2d27b433bafea762015756a2d2794fc28976c54aee087bf0f3726ac2c9140920272445a902038719b956e2160cf9
2018-10-26 07:51:33 -04:00
MarcoFalke fa4bcaf82a
travis: Compile once on xenial 2018-10-20 07:24:48 -03:00
MarcoFalke faa4043c66
qa: Run more tests with wallet disabled 2018-09-25 18:08:08 -04:00
Chun Kuan Lee 3387bb0829 travis: avoid timeout without saving caches, also enable all qt 2018-09-10 11:14:08 +08:00
practicalswift 00c6306a61 Remove RUN_BENCH logic 2018-08-30 22:19:47 +02:00
Chun Kuan Lee 4c530e0102 travis: add CXXFLAGS=-Wnopsabi at ARM job 2018-08-28 01:15:30 +08:00
Julian Fleischer 414326952c use export LC_ALL=C.UTF-8 2018-08-27 12:23:25 +02:00
Julian Fleischer 728c82d029 make script exit if a command fails 2018-08-27 12:23:25 +02:00
Julian Fleischer 506890b24d move remaining travis build steps into individual files 2018-08-27 12:23:25 +02:00
Julian Fleischer 272306ea57 number .travis/ script according to build lifecycle and add README to explain 2018-08-27 12:23:25 +02:00
Julian Fleischer 519e2739cf move lint stage up to resemble travis build ui
adjust indentation to 2 spaces
2018-08-27 12:23:25 +02:00
Julian Fleischer 4f2f88c7b0 move script sections info individual files and comply with shellcheck 2018-08-27 12:23:25 +02:00
MarcoFalke fad8afa388
travis: Run unit tests --with-sanitizers=undefined 2018-08-26 10:57:39 -04:00
MarcoFalke 5e17777777
qa: Create unicode tempdir in test_runner 2018-08-03 11:29:02 -04:00
Julian Fleischer 566f826902 use only travis jobs: instead of mix of jobs+matrix 2018-08-02 15:36:00 +02:00
MarcoFalke fa7a3a1783
travis: Run bench_bitcoin once 2018-08-01 10:25:24 -04:00
MarcoFalke d25079ac71
Merge #13779: travis: improve readability of travis.yml and log outputs
f98146d001 use travis:fold in test script steps (Julian Fleischer)
9730d3af31 make .travis/yml a bit more readable (Julian Fleischer)

Pull request description:

  This PR contains two commits which

  * make the travis.yml file a bit more readable by splitting the environment variables over lines (it's a little bit more verbose but way easier to compare across forks or visually grasp in the first place),
  * use `travis:fold` to fold the `autogen`, `configure`, `make`, and so forth, steps.

  The `END_FOLD` shell function preserves the exit code of the statement right before.

Tree-SHA512: 7aff86e72008093f46d6ec7afa735f01e40c18f1efe55867d6ff4039191986c0fa8d4136cd53adb34e29f0f40e30c37d1a83615aea3f8438c20ec3b1c2910295
2018-07-30 14:33:19 -04:00
Julian Fleischer f98146d001 use travis:fold in test script steps 2018-07-30 20:04:50 +02:00
Julian Fleischer 9730d3af31 make .travis/yml a bit more readable 2018-07-27 11:53:40 +02:00
MarcoFalke faaf49147c
travis: Retry to fetch docker image 2018-07-26 13:51:15 -04:00
fanquake 26b15df99d
depends: set OSX_MIN_VERSION to 10.10 2018-07-25 07:30:27 +08:00
MarcoFalke 7a9bca61fa
Merge #13650: [travis] Don't store debug info if --enable-debug is set
14788fbada [travis] Don't store debug info if --enable-debug is set (Chun Kuan Lee)

Pull request description:

  After #12686 merged, ccache store huge size of .o files, simply get rid of those useless debug info.

  Fixes #13748

Tree-SHA512: fb404e2c7d52cd8266548433955c41683ede062f97c8fb7098a887f164bcde48b60e5e533a0a27c7e095fdd9ef88db018b8689adebb2c0e32c8957828629e346
2018-07-24 14:15:03 -04:00
Ben Woosley 751c9587d4
Use the Travis python language feature on the lint build
Rather than installing python via apt.

https://docs.travis-ci.com/user/languages/python/
2018-07-21 12:57:17 -04:00
Ben Woosley 515348f704
Don't unnecessarily install shellcheck on the lint build
"Travis CI has now integrated ShellCheck by default, so you don't need to manually install it."
https://github.com/koalaman/shellcheck#travis-ci
2018-07-21 12:57:04 -04:00
Ben Woosley 1be5c33333
Avoid unnecessarily setting env variables on the lint build
The relevent env variables are set for the matrix builds, and are irrelevant
to the lint build. By default the first matrix entry is applied.

"Each job included in jobs.include inherits the first value of the array that defines a matrix dimension."
https://docs.travis-ci.com/user/build-stages/#Build-Stages-and-Build-Matrix-Expansion
2018-07-20 18:40:46 -04:00
Wladimir J. van der Laan 2dc5ab6378
Merge #13482: Remove boost::program_options dependency
f447a0a707 Remove program options from build system (Chun Kuan Lee)
11588c639e Replace boost program_options (Chun Kuan Lee)

Pull request description:

  Concept from #12744, but without parsing negated options.

Tree-SHA512: 7f418744bb8934e313d77a5f162633746ef5d043de802b9c9cd9f7c1842e7e566eb5f171cd9e2cc13317281b2449c6fbd553fa4f09b837e6af2f5d2b2aabdca2
2018-07-20 16:45:44 +02:00
Chun Kuan Lee 14788fbada [travis] Don't store debug info if --enable-debug is set 2018-07-19 18:49:05 +00:00
Chun Kuan Lee f447a0a707 Remove program options from build system 2018-07-18 02:48:34 +00:00
MarcoFalke 41a8c8dfaf travis: Check that ~/.bitcoin is never created 2018-07-17 08:10:19 -04:00
practicalswift 98d842cb52 travis: Build with --enable-debug (x86_64-unknown-linux-gnu) 2018-06-24 20:36:34 +02:00
Wladimir J. van der Laan dc53f7f251
Merge #13458: gui: Drop qt4 support
af6ac3b677 doc: Remove mention of Qt4 from build docs (Wladimir J. van der Laan)
462c71f71b test: Update travis to not test Qt4 anymore (Wladimir J. van der Laan)
907f73bbc5 gui: Remove QT_VERSION fallbacks for Qt < 5 (Wladimir J. van der Laan)
bad068ad9f build: Build system changes to support only Qt5 (Wladimir J. van der Laan)

Pull request description:

  Implements #8263.

  Qt4.x has been EOL since 2015, and at least Gentoo has, or is going to drop support for it. I wouldn't be surprised if other Linux distributions follow.

  This removes Qt4 detection from the build system, as well as removes all Qt4 fallbacks from the code. Turns out there's more than I expected: this is going to make maintenance of the GUI code, as well as adding new features significantly easier.

  (I know there's still some references left to qt4 in RPM and Debian build script, but I don't have the knowledge how to fix them)

Tree-SHA512: d495924fd4dda6f6566ba44ee96be7cbe62e69ba1ca993b80a8449f78da852b7f1bd3e8200d57cfa1d72233c340eeff4596fb0032ecbddc715d99aea63817d3f
2018-06-24 16:02:37 +02:00
Wladimir J. van der Laan 462c71f71b test: Update travis to not test Qt4 anymore
Change Qt4 & system libs build to Qt5 & system libs build.
2018-06-18 12:22:13 +02:00
MarcoFalke 4382f192e5
Merge #13406: travis: Change Mac goal to all deploy
3d69853090 travis: Change Mac goal to all deploy so that travis can build all executables for Mac. (Chun Kuan Lee)

Pull request description:

  Currently, travis only build bitcoin-qt for Mac with make deploy, so  I think that we can add a make step to build cli, daemon, test and bench executables.

Tree-SHA512: 346c207836ee7313a57e0cd03367ada7e95c182d0f58b06c4ee5b8f2865ba4ee077b030a5494b58a808c015afe0569fa3252d0a5a687c47b7094dc77599ce50e
2018-06-13 13:21:02 -04:00
Chun Kuan Lee 3d69853090 travis: Change Mac goal to all deploy so that travis can build all executables for Mac. 2018-06-12 22:27:57 +00:00
Chun Kuan Lee 51ed05a2b9 travis: Increase travis_wait time while verifying commits
From https://travis-ci.org/ken2812221/bitcoin-verify-commits/builds
I have run vecify-commits.py nightly on travis, as you can see that 30 minutes is not enough, it took 30-50 minutes to run the script with no extra options. So change it to 50 minutes would be better.
2018-06-12 15:46:51 +00:00
Chun Kuan Lee e5b2cd8e75 Use python instead of slow shell script on verify-commits 2018-06-12 14:48:02 +00:00
MarcoFalke fa2d83eb44
travis: Skip cache for lint stage 2018-05-30 09:29:44 -04:00