aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
AgeCommit message (Collapse)Author
2020-08-17ci: Run valgrind fuzzer on cirrusMarcoFalke
2020-07-31[ci] use boost::processSjors Provoost
Explictly opt-out on win64, in case the default changes.
2020-07-28travis: Re-enable s390xMarcoFalke
2020-07-14ci: Drop Homebrew caching while using Homebrew addon on TravisHennadii Stepanov
2020-07-14ci: Do not activate Travis ccache caching strategyHennadii Stepanov
It is sufficient to specify CCACHE_DIR to cache. Also this change fixes ccache on native macOS build.
2020-07-14ci: Disable functional tests on forked repos to avoid timeouts for macOSHennadii Stepanov
2020-07-02ci: Run tsan ci config on cirrusMarcoFalke
2020-07-02Merge #18288: build: Add MemorySanitizer (MSan) in Travis to detect use of ↵MarcoFalke
uninitialized memory 870f0cd2a0534d54bba18190e9f024f88e832933 build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory (practicalswift) Pull request description: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory. First UBSan, then ASan followed by TSan... and now: yes, the wait is over -- **MSan is finally here!** :) Some historical context: * 2017: Continuous compilation with Clang Thread Safety analysis enabled (#10866, #10923) * 2018: Continuous testing with trapping on signed integer overflows (`-ftrapv`) (#12686) * 2018: Continuous testing of use of locale dependent functions (#13041) * 2018: Continuous testing of format strings (#13705) * 2018: Continuous compilation with MSVC `TreatWarningAsError` (#14151) * 2018: Continuous testing under UndefinedBehaviorSanitizer – UBSan (#14252, #14673, #17006) * 2018: Continuous testing under AddressSanitizer – ASan (#14794, #17205, #17674) * 2018: Continuous testing under ThreadSanitizer – TSan (#14829) * 2019: Continuous testing in an unsigned char environment (`-funsigned-char`) (#15134) * 2019: Continuous compile-time testing of assumptions we're making (#15391) * 2019: Continuous testing of fuzz test cases under Valgrind (#17633, #18159, #18166) * 2020: Finally... MemorySanitizer – MSAN! :) What is the next step? What tools should we add to CI to keep bugs from entering `master`? :) ACKs for top commit: MarcoFalke: ACK 870f0cd2a0534d54bba18190e9f024f88e832933 Tree-SHA512: 38327c8b75679d97d469fe42e704cacd1217447a5a603701dd8a58ee50b3be2c10248f8d68a479ed081c0c4b254589d3081c9183f991640b06ef689061f75578
2020-06-29test: move TEST_RUNNER_EXTRA into native tsan setupfanquake
2020-06-23build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized ↵practicalswift
memory
2020-06-21ci: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to ↵practicalswift
catch memory errors
2020-06-19ci: Upgrade most ci configs to focalMarcoFalke
2020-06-19doc: move doc to ci readmeMarcoFalke
2020-06-19ci: Have one config run in xenial to test against python3.5MarcoFalke
Also, bump the travis env to bionic. This shouldn't matter at all because all ci configs run inside a docker, but it does seem to fix a bug. See https://github.com/bitcoin/bitcoin/pull/19267#issuecomment-643630309
2020-06-19travis: Always run multiprocess buildMarcoFalke
2020-06-18ci: Run asan ci config on cirrusMarcoFalke
2020-06-14ci: Move travis workarounds to .travis.ymlMarcoFalke
2020-06-04ci: tsan with walletMarcoFalke
2020-05-30ci: Use libc++ instead of libstdc++ for tsanMarcoFalke
2020-05-21Merge #18677: Multiprocess build supportfanquake
e2bab2aa162ae38b2bf8195b577c982402fbee9d multiprocess: add multiprocess travis configuration (Russell Yanofsky) 603fd6a2e708c04ef6c9880f89d0a4cbaa6fc7c5 depends: add MULTIPROCESS depends option (Russell Yanofsky) 5d1377b52bfcd4edf8553aaf332bfeb92fc554cc build: multiprocess autotools changes (Russell Yanofsky) Pull request description: This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10). --- This PR consists of build changes only. It adds an `--enable-multiprocess` autoconf option (off by default and marked experimental), that builds new `bitcoin-node` and `bitcoin-gui` binaries. These currently function the same as existing `bitcoind` and `bitcoin-qt` binaries, but are extended in #10102 with IPC features to execute node, wallet, and gui functions in separate processes. In addition to adding the `--enable-multiprocess` config flag, it also adds a depends package and autoconf rules to build with the [libmultiprocess](https://github.com/chaincodelabs/libmultiprocess) library, and it adds new travis configuration to exercise the build code and run functional tests with the new binaries. The changes in this PR were originally part of #10102 but were moved into #16367 to be able to develop and review the multiprocess build changes independently of the code changes. #16367 was briefly merged and then reverted in #18588. Only change since #16367 has been dropping the `native_boost.mk` depends package which was pointed out to be no longer necessary in https://github.com/bitcoin/bitcoin/pull/16367#issuecomment-596484337 and https://github.com/bitcoin/bitcoin/pull/18588#pullrequestreview-391765649 ACKs for top commit: practicalswift: ACK e2bab2aa162ae38b2bf8195b577c982402fbee9d Sjors: tACK e2bab2aa162ae38b2bf8195b577c982402fbee9d on macOS 10.15.4 hebasto: ACK e2bab2aa162ae38b2bf8195b577c982402fbee9d, tested on Linux Mint 19.3 (x86_64): Tree-SHA512: b5a76eab5abf63d9d8b6d628cbdff4cc1888eef15cafa0a5d56369e2f9d02595fed623f4b74b2cf2830c42c05a774f0943e700f9c768a82d9d348cad199e135c
2020-05-18ci: Set DEBIAN_FRONTEND=noninteractiveMarcoFalke
Also fix travis environment variables for this build Previously the resulting env was: FILE_ENV="./ci/test/00_setup_env_native_tsan.sh" TEST_RUNNER_EXTRA="--exclude feature_block" #= Not= enough= memory= on= travis= machines=
2020-05-18ci: tsan on clang-9MarcoFalke
2020-05-12multiprocess: add multiprocess travis configurationRussell Yanofsky
2020-05-10Remove unused ci configs that have been moved elsewhereMarcoFalke
They have been moved to https://github.com/MarcoFalke/btc_nightly running on Cirrus CI https://cirrus-ci.com/build/6249975761862656
2020-05-07Merge #18905: travis: Remove s390xMarcoFalke
8c705ff1291ef7876ab1a939e2c7312aacc3dc37 travis: Remove s390x (MarcoFalke) Pull request description: Fixes #18868 Fixes #18016 Top commit has no ACKs. Tree-SHA512: 1007b761c7e01dd2b75aa34e92e01a92a84a100c0a3a53863c755d93b2438a74601e3f2083919b8a9cfc92fb104d0c8415fad3f6c9504c76b02ad2e9712660c0
2020-05-07travis: Remove s390xMarcoFalke
2020-05-06travis: Remove valgrindMarcoFalke
2020-04-30ci: Merge C++17 build with one of the existing onesMarcoFalke
2020-04-30Merge #18591: Add C++17 build to TravisWladimir J. van der Laan
c31cbe7cfefc18123eb85ffb2ce509748435efde Add C++17 test to Travis (Pieter Wuille) 7829685e27aae25efb32e07368175c8f664b2218 Add configure option for c++17 (Pieter Wuille) 0fbde488b24f62b4bbbde216647941dcac65c81a Support conversion between Spans of compatible types (Pieter Wuille) 7cbfebbf3df0d26f518811e0bfb7abf270c83e37 Update ax_cxx_compile_stdcxx.m4 (Pieter Wuille) Pull request description: This adds a `--enable-c++17` option to the configure script, fixes the only C++17 incompatibility (with a commit taken from #18468), and adds a Travis test for it. This is all off by default, and release builds remain C++11. It implements the first step of the plan in https://github.com/bitcoin/bitcoin/issues/16684. ACKs for top commit: elichai: tACK c31cbe7cfefc18123eb85ffb2ce509748435efde practicalswift: Tested ACK c31cbe7cfefc18123eb85ffb2ce509748435efde hebasto: ACK c31cbe7cfefc18123eb85ffb2ce509748435efde, tested on Linux Mint 19.3 both C++11 and C++17 modes. Compiled and passed tests locally. Tree-SHA512: a4b00776dbceef9c12abbb404c6bcd48f7916ce24c8c7a14116355f64e817578b7fcddbedd5ce435322319d1e4de43429b68553f4d96d970c308fe3e3e59b9d1
2020-04-11Add C++17 test to TravisPieter Wuille
2020-04-10ci: Add pip cacheHennadii Stepanov
2020-04-10Merge #16367: Multiprocess build supportMarcoFalke
b919efadff3d0393f4a8c3c1dc735f7ac5c665bb depends: Use default macos clang compiler (Russell Yanofsky) d54f64c6c700be0604190f52c84fc5f1cdd9f02f Add multiprocess travis configuration (Russell Yanofsky) 787f40668dc15980c3d6de028d7950c08175d84a Set LD_LIBRARY_PATH consistently in travis tests (Russell Yanofsky) d6306466626635e6fee44385e6a688c8dc118eb5 libmultiprocess depends build (Russell Yanofsky) e6e44eedd56ecaf59f3fabf8e07ab7dee0ddb1b6 Multiprocess build changes (Russell Yanofsky) Pull request description: This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10). This splits autotools, depends build, and travis changes out of #10102, so code changes and build system changes can be reviewed separately. ACKs for top commit: hebasto: re-ACK b919efadff3d0393f4a8c3c1dc735f7ac5c665bb, rebased only since my [previous](https://github.com/bitcoin/bitcoin/pull/16367#issuecomment-605514556) review. Tree-SHA512: ebc5e403cc99a0d9629ed7fe1595e01d57e6d1255cbf03968a3196ff6f528f734c78060fdc065724ee1f923bcc5aa2b29470fcb36a7f15957eb57c76d58178a4
2020-04-09ci: Rename RUN_CI_ON_HOST to DANGER_RUN_CI_ON_HOSTHennadii Stepanov
2020-04-09ci: Add native s390xHennadii Stepanov
2020-04-05Add multiprocess travis configurationRussell Yanofsky
2020-03-30ci: Use Focal for fuzzersMarcoFalke
2020-03-26ci: Remove misplaced comments from folded block scalarHennadii Stepanov
Also Travis build config validation added.
2020-03-26ci: Use Homebrew addon on native macOSHennadii Stepanov
Also the macOS image has been updated.
2020-02-18ci: Run fuzz testing test cases under valgrindpracticalswift
2020-02-11[tests] check v0.17.1 and v0.18.1 backwards compatibilitySjors Provoost
2020-02-10test: Disable s390 build on travisWladimir J. van der Laan
Travis is consistently failing on s390 due to out of disk space issues, which causes false positives. Disable the s390 build for now until this is fixed some other way.
2020-01-22Merge #17767: ci: Fix qemu issuesWladimir J. van der Laan
fa569e1a9c5ad1bf8bdf866235b21aff56112224 ci: Set LC_ALL=C when running in qemu-s390x (MarcoFalke) fa3d77623ecb25dde6b5f4be11626ed16966eb29 ci: Use debian to avoid apt install 404 errors (MarcoFalke) fabb946090be2f604da3d7d4b1bbe93b79baf23e ci: Install needed gcc and qemu-user iff cross-compiling (MarcoFalke) faba4672b64fb5ba89e5cb6299479887494b571a ci: Fix QEMU_USER_CMD parse issues (MarcoFalke) fa5d709fb266c97d4db15006bf855e887a6c123b ci: Move wrap-qemu into separate script (MarcoFalke) Pull request description: Now that the ci system no longer propagates files from the docker container back to the host, the wrap-qemu script is broken. To fix it, every statement in the script needs to be executed in the docker (with `DOCKER_EXEC`). Instead of juggling with triple escape sequences like `\\\"`, just move the script to a separate file and call it with `DOCKER_EXEC`. Also, fix a bunch of other bugs that prevent running the ci system in qemu See the `ci/README.md` on how to test. TLDR: Can be tested with (replace `arm` with `s390x` to run the s390x build): ``` FILE_ENV="./ci/test/00_setup_env_arm.sh" MAKEJOBS="-j9" ./ci/test_run_all.sh ``` ACKs for top commit: laanwj: Code review ACK fa569e1a9c5ad1bf8bdf866235b21aff56112224 Tree-SHA512: 84ebc44a4f0261ee6c29605a6896a1833ff6c81d729e6d08dd111941f570ce73221422bd3303e1108a266ec5eab2148bd5ee1cf6bc01477d8cc9a6c5bf2b34c2
2020-01-08ci: Combine 32-bit build with CentOS 7 buildSebastian Falbesoner
2020-01-03ci: Use debian to avoid apt install 404 errorsMarcoFalke
The default ubuntu mirror does not have s390x or armhf packages: Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB] Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Ign:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages Get:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:6 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [19.2 kB] Get:7 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [6781 B] Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages Get:9 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [761 kB] Ign:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages Get:12 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB] Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages Get:14 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB] Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages Get:17 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [795 kB] Get:18 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB] Get:19 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB] Ign:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages Ign:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages Err:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages 404 Not Found [IP: 91.189.88.174 80] Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages Ign:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1057 kB] Ign:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [10.5 kB] Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1322 kB] Get:27 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [32.7 kB] Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages Ign:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages Get:30 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [4244 B] Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages Get:32 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [2496 B] Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages Ign:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages Ign:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages Ign:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages Err:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages 404 Not Found [IP: 91.189.88.149 80] Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages Ign:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages Ign:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages Err:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages 404 Not Found [IP: 91.189.88.149 80] Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages Err:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages 404 Not Found [IP: 91.189.88.149 80] Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages Fetched 17.4 MB in 2s (7076 kB/s) Reading package lists... E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/multiverse/binary-armhf/Packages 404 Not Found [IP: 91.189.88.174 80] E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-armhf/Packages 404 Not Found [IP: 91.189.88.149 80] E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/restricted/binary-armhf/Packages 404 Not Found [IP: 91.189.88.149 80] E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-backports/main/binary-armhf/Packages 404 Not Found [IP: 91.189.88.149 80] E: Some index files failed to download. They have been ignored, or old ones used instead.
2019-12-17Merge #17725: ci: Add valgrind runMarcoFalke
facb416ad5ba47b01ee52c273a5c5e3709f06f07 ci: Add valgrind run (MarcoFalke) Pull request description: Fixes #17460 ACKs for top commit: practicalswift: ACK facb416ad5ba47b01ee52c273a5c5e3709f06f07 Tree-SHA512: 55396e548a76f976d7b7170b68bc5f93cfd44656162267172f66db7eb549699a2a22d3b1bb0d5f180fe0697931939e652c8cdb86b435e81e7ce572485798009d
2019-12-14ci-s390x: Add qemu and depends support in the ci scriptElichai Turkel
2019-12-10ci: Add valgrind runMarcoFalke
2019-12-06Merge #17635: ci: Add CentOS 7 buildMarcoFalke
711e0449cf4a0f15cabe0d64094e3add24ad44b0 ci: Remove trusty build (Hennadii Stepanov) 7f3ae224685efaeb6fe714de90e8871d12e55f34 ci: Add CentOS 7 build (Hennadii Stepanov) Pull request description: Arguably, CentOS is the most conservative distro of all the popular ones. Thus, it could be a good way to check the Bitcoin Core compatibility with aged dependencies. Currently, CentOS 7 has: - Berkeley DB == 4.8.30 - Boost == 1.53.0 - GCC == 4.8.5 - libevent == 2.0.21 < minimum required [2.0.22](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md), but tests passed - MiniUPnPc == 2.0 - Python == 3.6.8 - qrencode == 3.4.1 - Qt == 5.9.7 - ZeroMQ == 4.1.4 ~Please note that this PR is based on the bugfix #17634.~ Also trusty build has been removed for the following reasons: - https://github.com/bitcoin/bitcoin/issues/17628#issuecomment-559448201: > Maybe it'd make sense to replace Ubuntu Trusty with Centos 7 as the "check ancient backward compatibililty" Travis run. It's supported until 2024, apparently. - https://github.com/bitcoin/bitcoin/pull/17635#discussion_r354811792: > Our travis is currently running at its limit and this doesn't seem like it is adding a lot new coverage compared to the other builds. Close #17628 ACKs for top commit: MarcoFalke: ACK 711e0449cf4a0f15cabe0d64094e3add24ad44b0 🚠 Tree-SHA512: 614ec8394943f482a5867067f7119bffd052924a51e32ffda9a08e10c392c4a955a3539e2f8907cb65bfd9347dadf0ba62f6d1530bbc49927c347360a5a7f73c
2019-12-06ci: Remove trusty buildHennadii Stepanov
Co-authored-by: Emil Engler <me@emilengler.com>
2019-12-06ci: Add CentOS 7 buildHennadii Stepanov