aboutsummaryrefslogtreecommitdiff
path: root/ci
AgeCommit message (Collapse)Author
2022-04-06ci: Build all optional tools in tidy taskMarcoFalke
2022-04-06Merge bitcoin/bitcoin#24753: ci: Add clang-tidy taskfanquake
fab24f8c3540b6f1a128cb9d6812df6678472b8d ci: Add clang-tidy task (MarcoFalke) Pull request description: Fixes #24747 ACKs for top commit: fanquake: ACK fab24f8c3540b6f1a128cb9d6812df6678472b8d vincenzopalazzo: Code Review ACK https://github.com/bitcoin/bitcoin/pull/24753/commits/fab24f8c3540b6f1a128cb9d6812df6678472b8d Tree-SHA512: 87a5d67a23d540cea09925a6c186303c1249d4ca244b95940c5214860bf7a849fa12cc4fcf1bb9270b1004407124b3487902969d8ae9d2b14dae1fdfb57cc7e8
2022-04-05Merge bitcoin/bitcoin#24236: Remove utxo db upgrade codelaanwj
fa9112aac07dc371bfda437d40eb1b841f36f392 Remove utxo db upgrade code (MarcoFalke) Pull request description: It is not possible to upgrade Bitcoin Core pre-segwit (pre-0.13.1) to a recent version without a full IBD from scratch after commit 19a56d1519fb493c3e1bd5cad55360b6b80fa52b (released in version 22.0). Any Bitcoin Core version with the new database format after commit 1088b02f0ccd7358d2b7076bb9e122d59d502d02 (released in version 0.15), can upgrade to any version that is supported as of today. This leaves the versions 0.13.1-0.14.x. Even though those versions are unsupported, some users with an existing datadir may want to upgrade to a recent version. However, it seems reasonable to simply ask them to `-reindex` to run a full IBD from scratch. This allows us to remove the utxo db upgrade code. ACKs for top commit: Sjors: re-ACK fa9112aac07dc371bfda437d40eb1b841f36f392 laanwj: Code review ACK fa9112aac07dc371bfda437d40eb1b841f36f392 Tree-SHA512: 4243bb35df9ac4892f9fad30fe486d338745952bcff4160bcb0937c772d57b13b800647da14695e21e3655e85ee0d95fa3dc7789ee309d59ad84f422297fecb8
2022-04-04ci: Add clang-tidy taskMarcoFalke
2022-04-04ci: use DWARF-4 for Valgrind CI jobfanquake
clang-14 defaults to using DWARF-5, which breaks vlagrinds (3.18) ability to parse debug info. Valgrind claims to support DWARF-5 from version 3.18 onwards, but maybe that only works when building with GCC. Explicitly use DWARF-4 for now. Note that from 11.0 GCC also defaults to using DWARF-5. https://releases.llvm.org/14.0.0/tools/clang/docs/ReleaseNotes.html#dwarf-support-in-clang https://www.gnu.org/software/gcc/gcc-11/changes.html https://valgrind.org/docs/manual/dist.news.html
2022-03-30Merge bitcoin/bitcoin#23008: ci: Use clang-12 and libcxx-12 for msanfanquake
fa73f8a4695d5bcbd054f4c68ee2a648c808afd2 ci: Use clang-12 and libcxx-12 for msan (MarcoFalke) Pull request description: Run the latest sanitizers to get the most implemented features ACKs for top commit: fanquake: ACK fa73f8a4695d5bcbd054f4c68ee2a648c808afd2 - `--disable-hardening` matches what was just added to oss-fuzz. Tree-SHA512: 2e533bb9273c97600176be2e41069a03f425aa586f9f32b8ed5f0c9844215a3a41e95a8edd58d044386e350807d6a1df09008a7da35428abd185a509ca71bd82
2022-03-30ci: Use clang-12 and libcxx-12 for msanMarcoFalke
2022-03-30Merge bitcoin/bitcoin#24561: guix: use LIEF 0.12.0laanwj
3c3bd9022026a75e15492ba9cf8bf3b72866b9a9 test: remove lief install from multiprocess job (fanquake) 983e0a20580b413880977862e3b291c5f422e241 contrib: use LIEF 0.12.0 for symbol and security checks (fanquake) Pull request description: [LIEF](https://github.com/lief-project/LIEF) `0.12.0` is [now available](https://github.com/lief-project/LIEF/releases/tag/0.12.0), and includes minor changes we have upstreamed to improve support for RISC-V binaries: * https://github.com/lief-project/LIEF/pull/562 * https://github.com/lief-project/LIEF/pull/640 Closes: #23655. Guix Build (x86_64): ```bash 2fc504baf4f550092f05115f8c7c9046ec2988f097b55b33c4c963e02f11cfc3 guix-build-3c3bd9022026/output/aarch64-linux-gnu/SHA256SUMS.part 15b1a8a33f4b750cf8d3e2753e6fe3ca7560aeefa88c1acbaf0be412cbd81cc4 guix-build-3c3bd9022026/output/aarch64-linux-gnu/bitcoin-3c3bd9022026-aarch64-linux-gnu-debug.tar.gz 77a446792dba101afd565f0b4441c5dfe8e08bf9e4c9ea6e862a0df118a55327 guix-build-3c3bd9022026/output/aarch64-linux-gnu/bitcoin-3c3bd9022026-aarch64-linux-gnu.tar.gz dc63f742a3d396ab2b2115f7cea4e90c127267a0c9fc2f1e9af9e052a670cd41 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/SHA256SUMS.part 5214a5c3e532ddfec218354b6512cc4eedd6411a199cc2d4eed7d0ad77873a0e guix-build-3c3bd9022026/output/arm-linux-gnueabihf/bitcoin-3c3bd9022026-arm-linux-gnueabihf-debug.tar.gz fea7b00ca6d8b7bc72c2e4e2c9e9aa94c76f9f463af82cf0bd5a6fc8951a7fe7 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/bitcoin-3c3bd9022026-arm-linux-gnueabihf.tar.gz 200bf59ecaebdcb2a1302160dd47288135b8cead99e202d1a8b7da8d54a872c3 guix-build-3c3bd9022026/output/arm64-apple-darwin/SHA256SUMS.part 51c079c29966a1f76f690f28ed99d767413327422636bbbe9ca499e97954cfd4 guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin-unsigned.dmg 2e85d002b7e993a90b23363bb01d8dca644fbabd9debb336012834abeddce024 guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin-unsigned.tar.gz 257e272f6ed867f7634d1bba5860da855e35793646581b37518e25d1fdab48db guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin.tar.gz a0c755bb31763995e1d2050d5448bb98194c238fdd6b9eff901e429c9fdfa0f6 guix-build-3c3bd9022026/output/dist-archive/bitcoin-3c3bd9022026.tar.gz cf07cfefe010a1cc58ceab5dd5361ca39d770038d73682bd60b52410708c5f35 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/SHA256SUMS.part aa93521bfbf7cf693fe56500faa6ac460bb297e5af2d8cf4e857f7ea0e92eb34 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/bitcoin-3c3bd9022026-powerpc64-linux-gnu-debug.tar.gz 883c2e5fe0d8215dcc0a252cd62c8fd95fc13b31e1bd72d340dfb2e4adadfe01 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/bitcoin-3c3bd9022026-powerpc64-linux-gnu.tar.gz 903666488f620a5710bc1709f52feb60d530aaba6e7e0b200692fa2945e569b8 guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/SHA256SUMS.part 2dd8a3fa924111e839097da8ee12675a265e64aeeae270f1f3e86f9c9b7bd28a guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/bitcoin-3c3bd9022026-powerpc64le-linux-gnu-debug.tar.gz d93a4347ea376e02760c52bb836317fd3f9c8e78ff004d9c141ebce185f3d364 guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/bitcoin-3c3bd9022026-powerpc64le-linux-gnu.tar.gz 7ee00ec4a2cd83f27d619c6983e93baa198d78167a860e8d9f4c4aa670120ab2 guix-build-3c3bd9022026/output/riscv64-linux-gnu/SHA256SUMS.part 9ad79a47c59a67f881ba2ef7a669ffb667b6e0bd13407730574dc7af542fd935 guix-build-3c3bd9022026/output/riscv64-linux-gnu/bitcoin-3c3bd9022026-riscv64-linux-gnu-debug.tar.gz 35462865447683571b006d426e532090c19ef18b9f399b84ebf37795fb3c4eaa guix-build-3c3bd9022026/output/riscv64-linux-gnu/bitcoin-3c3bd9022026-riscv64-linux-gnu.tar.gz a5a3bb0527ded1eea3956208d1dc7289e39786594ac4cbee17f4c28573b7e4fb guix-build-3c3bd9022026/output/x86_64-apple-darwin/SHA256SUMS.part e75435885e97dec09f3d9c51c0bd5987329a485ef26027d6e7b4cafcec20a9ab guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin-unsigned.dmg 438b027186095eed1615898a403b0bdd0a686d95f0617b4065db469c8c4e732c guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin-unsigned.tar.gz 1d33e0661041f00b4f224f231bbb71bda534ad8ad76a7d2b041084911cdd0814 guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin.tar.gz fc9a88c1cdf10570bc2c453c1a643a04b525155f0b98a18c90b8d5fd64fcf630 guix-build-3c3bd9022026/output/x86_64-linux-gnu/SHA256SUMS.part 435896b6a85f46a2f3f0b5f278936e84d0212ef7102787b70f139648373344d3 guix-build-3c3bd9022026/output/x86_64-linux-gnu/bitcoin-3c3bd9022026-x86_64-linux-gnu-debug.tar.gz 02c84c4c74846740b5336e8889194909bb6d638cf731851ddd8af7bbffd1ae9b guix-build-3c3bd9022026/output/x86_64-linux-gnu/bitcoin-3c3bd9022026-x86_64-linux-gnu.tar.gz d4176cc40eaa0769410717b28637d507ddef182c73c60801f333ddd7a56b41f7 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/SHA256SUMS.part 7623a149798beba635c21639975d5cbf2a417c7e8a1bf3583abe1bb20cfa1673 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-debug.zip a1de00c9d4315928e3ce93890009fe2ea8f3f1fa7ca63004d952192012131d20 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-setup-unsigned.exe 82dc001a7f6d2b405b89bd343276db59954f25461d828ddf2e3c42f5ba4fe164 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-unsigned.tar.gz 6fc6f6101672a4cee2696a1517def03b6872435d968d74a47efbb4f8c5198c03 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64.zip ``` Guix Build (arm64): ```bash d803406d4a90f9813bff58f01fde109d77dbf5b37b1af68e7a58fb4c3041a390 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/SHA256SUMS.part 25a234f4c0eb0ed280d7c24b65e2bae75d44f4fade1895d9d6d2a3880ed29557 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/bitcoin-3c3bd9022026-arm-linux-gnueabihf-debug.tar.gz 0b6044ea0441536e7b2853cce5a354fff33625db8c18c70023c78a9de5364376 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/bitcoin-3c3bd9022026-arm-linux-gnueabihf.tar.gz c44810505ee8f7800488c0442edc71550a1f989598c702e9a31709b9880ef8ba guix-build-3c3bd9022026/output/arm64-apple-darwin/SHA256SUMS.part ce9a74deac4a20a2ca4d7f8dfc242aea367c2aa55cb3b9de4e11c691ce0755bd guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin-unsigned.dmg 341efb7b536ad6f75456dd51134e1afa4773708be2103733c48c8fb7a85df8b0 guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin-unsigned.tar.gz 607151e3423f712ea1bb0e24b7f625290e2decfe4586adf193e3218f62e87f71 guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin.tar.gz a0c755bb31763995e1d2050d5448bb98194c238fdd6b9eff901e429c9fdfa0f6 guix-build-3c3bd9022026/output/dist-archive/bitcoin-3c3bd9022026.tar.gz 16f1f669f9f7a658ad25d72e628c68fefdc3469857efd06149b0ae063ad07cf2 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/SHA256SUMS.part 8c36e24b12d0f3c200b51c813a6c8e85b826c994af4891a4eed16bb2447f6ae9 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/bitcoin-3c3bd9022026-powerpc64-linux-gnu-debug.tar.gz 89777d8c44ec0ce3e59e74461fb7ed39b544ff1d40ed8399e3a26733fcd938af guix-build-3c3bd9022026/output/powerpc64-linux-gnu/bitcoin-3c3bd9022026-powerpc64-linux-gnu.tar.gz f51279dc699a1b8625f8fd3e13ec1555e81be7696dc0fd88621177fb4c3353d7 guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/SHA256SUMS.part 15c1aad2b67838fbf004cfd4a0926cb2e2f2d0fcee639e5cf17fec9c659be7ad guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/bitcoin-3c3bd9022026-powerpc64le-linux-gnu-debug.tar.gz 102ae28c667fee645fb1541395531742b89886e153ed979639532c8cab50d24b guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/bitcoin-3c3bd9022026-powerpc64le-linux-gnu.tar.gz ccff48fd8b5a26d32d2743f430d812a449ad00ee502fc1f02538598ff7def9db guix-build-3c3bd9022026/output/riscv64-linux-gnu/SHA256SUMS.part d038064cfb33dee85833a58ee5a7c40c94041aa0574da9fa14837b0da7a92b3a guix-build-3c3bd9022026/output/riscv64-linux-gnu/bitcoin-3c3bd9022026-riscv64-linux-gnu-debug.tar.gz 763a0c5c7492d11370a0208f3110fc73f6bac3526b401d1df3eca5cff1037a36 guix-build-3c3bd9022026/output/riscv64-linux-gnu/bitcoin-3c3bd9022026-riscv64-linux-gnu.tar.gz 14aad526acfed07e5781efa8febe37f002c5772090aad0cd98cf7f4cf0cc3177 guix-build-3c3bd9022026/output/x86_64-apple-darwin/SHA256SUMS.part e75435885e97dec09f3d9c51c0bd5987329a485ef26027d6e7b4cafcec20a9ab guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin-unsigned.dmg 742cacbb471968c396da97bbed0332220b721c552b663e931b9bfeb0e4b2f4de guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin-unsigned.tar.gz 1d33e0661041f00b4f224f231bbb71bda534ad8ad76a7d2b041084911cdd0814 guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin.tar.gz b8fdd26c3aef78d13161f6119d755a853470ced695cb40dcc8ff9f0463a533e1 guix-build-3c3bd9022026/output/x86_64-linux-gnu/SHA256SUMS.part 48846704f00e92e1cb6898a13e077da5a314314d6aa694b022d0f2aa68b7128b guix-build-3c3bd9022026/output/x86_64-linux-gnu/bitcoin-3c3bd9022026-x86_64-linux-gnu-debug.tar.gz 52968c1aea392d19989613b4faf0075702c9aa834f74cd3e7a09883e201ae3e4 guix-build-3c3bd9022026/output/x86_64-linux-gnu/bitcoin-3c3bd9022026-x86_64-linux-gnu.tar.gz a4df21e146042c6d78b0724ace37fdb05ce3a4ce8c1ed8274727b031cf53805e guix-build-3c3bd9022026/output/x86_64-w64-mingw32/SHA256SUMS.part 68f05fc5cc5e157805280bcb36fdbc6873db9e7b3afb4ddd992786db722530fc guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-debug.zip a1de00c9d4315928e3ce93890009fe2ea8f3f1fa7ca63004d952192012131d20 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-setup-unsigned.exe 82dc001a7f6d2b405b89bd343276db59954f25461d828ddf2e3c42f5ba4fe164 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-unsigned.tar.gz b644760f08a6147bccae8761e33fa13dc7f0cf391240521a81e57b437e272baa guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64.zip ``` ACKs for top commit: laanwj: Code review ACK 3c3bd9022026a75e15492ba9cf8bf3b72866b9a9 hebasto: ACK 3c3bd9022026a75e15492ba9cf8bf3b72866b9a9, tested that bitcoin/bitcoin#23655 has been resolved. Tree-SHA512: abc95ab68d3973c89d421ee7a5b795f6fa802dc665db47529d5f9aee5b92b8a7b55f9a45c634b9be6e917038e67e785f1809cc189c84be13f089f4e7fa1029f9
2022-03-30Merge bitcoin/bitcoin#24708: ci: Avoid boost test warningsfanquake
fa76b2fbe343af5679263ac9bb3f1bd72fd82b5e ci: Avoid boost test warnings (MarcoFalke) Pull request description: This removes boost test warnings from the CI log. For example https://cirrus-ci.com/task/6029158399606784?logs=ci#L4060: ``` Boost.Test WARNING: token "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-addrman_tests.o" does not correspond to the Boost.Test argument and should be placed after all Boost.Test arguments and the -- separator. For example: test_bitcoin --random -- /tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-addrman_tests.o Boost.Test WARNING: token "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-allocator_tests.o" does not correspond to the Boost.Test argument and should be placed after all Boost.Test arguments and the -- separator. For example: test_bitcoin --random -- /tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-allocator_tests.o Boost.Test WARNING: token "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-amount_tests.o" does not correspond to the Boost.Test argument and should be placed after all Boost.Test arguments and the -- separator. ... ACKs for top commit: fanquake: ACK fa76b2fbe343af5679263ac9bb3f1bd72fd82b5e - checked that tests are also still being run in other jobs. Tree-SHA512: c00fe1242ee6b9ef92d511f1e86305c1731d8894bb89ec8fcdf30069959831483933a93a6bfd33d9f2d15706bdeedbba29e82c409eed266abfc57aabfdaf4841
2022-03-29Merge bitcoin/bitcoin#24540: ci: Integrate ccache into MSVC buildMarcoFalke
3a53927f037bb4ab72a2900c6d0a5d7577a669ed ci: Integrate ccache into MSVC build (Hennadii Stepanov) Pull request description: [ccache 4.6](https://ccache.dev/releasenotes.html#_ccache_4_6): > Added support for caching calls to Microsoft Visual C++ (MSVC) Integrated into our native Windows CI task. [On master](url) (c109e7d51c9c5614aafce184c63b52ad2e859eb2): ![Screenshot from 2022-03-12 10-17-58](https://user-images.githubusercontent.com/32963518/158012098-7ac9d441-2eb0-481e-bcc5-3700c1ce2b15.png) [This PR](https://cirrus-ci.com/task/6572984340054016): ![Screenshot from 2022-03-12 10-25-33](https://user-images.githubusercontent.com/32963518/158012361-d6bf88bc-f98d-4771-8b4f-31bf5673d085.png) ``` Summary: Hits: 222 / 222 (100.0 %) Direct: 222 / 222 (100.0 %) Preprocessed: 0 / 0 Misses: 0 Direct: 0 Preprocessed: 0 Errors: 7 Uncacheable: 9 Primary storage: Hits: 444 / 444 (100.0 %) Misses: 0 Cache size (GB): 0.04 / 5.00 (0.86 %) Use the -v/--verbose option for more details. ``` Top commit has no ACKs. Tree-SHA512: d8cf91d8e75a5187cf456960bdf759f857fb9a9b0c4087e5e46ccbe2202aca5f1b9b38a47ec54d98e885c0f5d78de93a3188fb966fa5b346e81907c211ba1e79
2022-03-29ci: Avoid boost test warningsMarcoFalke
2022-03-29ci: note why BDB is disabled for MSAN jobsfanquake
2022-03-29ci: remove explicit --enable-wallet from msan jobfanquake
This isn't required to enable sqlite wallets, as support is automatically detected when sqlite is available.
2022-03-28test: remove lief install from multiprocess jobfanquake
This job doesn't run any security / symbol checks, so lief isn't needed.
2022-03-25ci: Compile fuzz binary in periodic taskMarcoFalke
2022-03-24build: Add --enable-c++20 optionMarcoFalke
2022-03-15ci: Temporarily use clang-13 to work around clang-14 TSan bugMarcoFalke
2022-03-12Merge bitcoin/bitcoin#24164: build: Bump minimum required clang/libc++ to 8.0MarcoFalke
fae20e6b50306f91c74037e915aa0ab75a0a6b3b Revert "Avoid the use of P0083R3 std::set::merge" (MarcoFalke) fab53b5fd45cf55a1d4d313e46ffce7396c9590e ci/doc: Set minimum required clang/libc++ version to 8.0 (MarcoFalke) Pull request description: This is not for 23.0, but for 24.0. It comes with the following benefits: * Can use C++17 P0083R3 std::set::merge from libc++ 8.0 * No longer need to provide support for clang-7, which already fails to compile on some architectures (https://github.com/bitcoin/bitcoin/issues/21294#issuecomment-998098483) This should be fine, given that all supported operating systems ship with at least clang-10: * CentOS 8: clang-12 * Stretch: https://packages.debian.org/stretch/clang-11 * Buster: https://packages.debian.org/buster-backports/clang-11 * Bionic: https://packages.ubuntu.com/bionic-updates/clang-10 * Focal: https://packages.ubuntu.com/focal/clang-10 ACKs for top commit: fanquake: ACK fae20e6b50306f91c74037e915aa0ab75a0a6b3b - I think this is fine to do. I would be surprised if in another 6 months time someone was stuck on a system we supported, needing to compile Core, and only had access to Clang 7 or older. As mentioned in the PR description, all systems we currently support, already support multiple newer versions of Clang. hebasto: ACK fae20e6b50306f91c74037e915aa0ab75a0a6b3b, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: 3b4c6c130ff40dd7e84934af076863415e5dd661d823c72e3e3832566c65be6e877a7ef9164bbcf394bcea4b897fc29a48db0f231c22ace0e2c9b5638659a628
2022-03-12ci: Integrate ccache into MSVC buildHennadii Stepanov
2022-03-10ci: remove compiled-but-unused BDB from MSAN jobfanquake
Self-compiled BDB was added to this job as opposed to using depends BDB due to linking issues, however the compiled BDB is not actually used. Remove it for now, given we don't actually lose any coverage (note that BDB is also no used the MSAN fuzz job), and in future, we can use depends BDB.
2022-03-10Remove utxo db upgrade codeMarcoFalke
2022-03-07Merge bitcoin/bitcoin#24132: build: Bump minimum Qt version to 5.11.3fanquake
956f7322f60db7b8be551c9074b4c633e514079d build: Bump minimum Qt version to 5.11.3 (Hennadii Stepanov) e22d10b936eb7563b2b6611332d9e4c73a2f59d4 ci: Switch from bionic to buster (Hennadii Stepanov) Pull request description: The current minimum Qt version is 5.9.5 which has been set in bitcoin/bitcoin#21286. Distro support: - centos 7 -- unsupported since bitcoin/bitcoin#23511 - centos 8 -- [5.15.2](http://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/qt5-qtbase-5.15.2-3.el8.x86_64.rpm) - buster -- [5.11.3](https://packages.debian.org/buster/libqt5core5a) - bullseye -- [5.15.2](https://packages.debian.org/bullseye/libqt5core5a) - _bionic_ -- [5.9.5](https://packages.ubuntu.com/bionic/libqt5core5a) - focal -- [5.12.8](https://packages.ubuntu.com/focal/libqt5core5a) As another Ubuntu LTS is coming soon, it seems unreasonable to stick to Qt 5.9 which support [ended](https://www.qt.io/blog/2017/06/07/renewed-qt-support-services) on 2020-05-31. Anyway, it's still possible to build Bitcoin Core GUI with depends on bionic system. Bumping the minimum Qt version allows to make code safer and more reliable, e.g.: - functor-parameter overload of [`QMetaObject::invokeMethod`](https://doc.qt.io/qt-5/qmetaobject.html#invokeMethod-4) - fixed https://bugreports.qt.io/browse/QTBUG-10907 An example of the patch using the functor-overload of `QMetaObject::invokeMethod`: ```diff --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -349,7 +349,7 @@ bool WalletModel::changePassphrase(const SecureString &oldPass, const SecureStri static void NotifyUnload(WalletModel* walletModel) { qDebug() << "NotifyUnload"; - bool invoked = QMetaObject::invokeMethod(walletModel, "unload"); + bool invoked = QMetaObject::invokeMethod(walletModel, &WalletModel::unload); assert(invoked); } ``` It uses the same new syntax as signal-slot connection with compile-time check. Also see bitcoin/bitcoin#16348. This PR is intended to be merged early [after](https://github.com/bitcoin/bitcoin/issues/22969) branching `23.x` off. ACKs for top commit: MarcoFalke: cr ACK 956f7322f60db7b8be551c9074b4c633e514079d fanquake: ACK 956f7322f60db7b8be551c9074b4c633e514079d Tree-SHA512: 3d652bcdcd990ce785ad412ed70234d4f27743895e535a53ed44b35d4afc3052e066c4c84f417e30bc53d0a3dd9ebed62444c57b7c765cb1e9aa687fbf866877
2022-03-04ci/doc: Set minimum required clang/libc++ version to 8.0MarcoFalke
2022-03-03Merge bitcoin/bitcoin#24304: [kernel 0/n] Introduce `bitcoin-chainstate`MarcoFalke
2c03cec2ff8cdbfd5da92bfb507d218e5c6435b0 ci: Build bitcoin-chainstate (Carl Dong) 095aa6ca37bf0bd5c5e221bab779978a99b2a34c build: Add example bitcoin-chainstate executable (Carl Dong) Pull request description: Part of: #24303 This PR introduces an example/demo `bitcoin-chainstate` executable using said library which can print out information about a datadir and take in new blocks on stdin. Please read the commit messages for more details. ----- #### You may ask: WTF?! Why is `index/*.cpp`, etc. being linked in? This PR is meant only to capture the state of dependencies in our consensus engine as of right now. There are many things to decouple from consensus, which will be done in subsequent PRs. Listing the files out right now in `bitcoin_chainstate_SOURCES` is purely to give us a clear picture of the task at hand, it is **not** to say that these dependencies _belongs_ there in any way. ### TODO 1. Clean up `bitcoin-chainstate.cpp` It is quite ugly, with a lot of comments I've left for myself, I should clean it up to the best of my abilities (the ugliness of our init/shutdown might be the upper bound on cleanliness here...) ACKs for top commit: ajtowns: ACK 2c03cec2ff8cdbfd5da92bfb507d218e5c6435b0 ryanofsky: Code review ACK 2c03cec2ff8cdbfd5da92bfb507d218e5c6435b0. Just rebase, comments, formatting change since last review MarcoFalke: re-ACK 2c03cec2ff8cdbfd5da92bfb507d218e5c6435b0 🏔 Tree-SHA512: 86e7fb5718caa577df8abc8288c754f4a590650d974df9d2f6476c87ed25c70f923c4db651c6963f33498fc7a3a31f6692b9a75cbc996bf4888c5dac2f34a13b
2022-02-28Merge bitcoin/bitcoin#24397: build: Fix Boost.Process check for Boost 1.73 ↵laanwj
and older 774323e378acea998069980edf50e1a26f4b6b9e ci: Force `--enable-external-signer` to prevent future regressions (Hennadii Stepanov) 69978858a4d8a9c34070f96133b8f95737a6505b build: Fix Boost.Process check for Boost 1.73 and older (Hennadii Stepanov) 2199ef79cba865af7949c3a55938ad54519ca5b8 build: Fix a non-portable use of `test` (Hennadii Stepanov) d436c488d4216298016b09f8f97e10eada489bda build, refactor: Replace tabs with spaces (Hennadii Stepanov) Pull request description: On master (5f44c5c428b696af4214b2519cb2bbeb0e4a1027) Boost.Process check false fails without the `-lpthread` flag. ``` $ grep -C 2 pthread_detach config.log /usr/bin/ld: /tmp/cczCQfQv.o: in function `boost::asio::detail::posix_global_impl<boost::asio::system_context>::~posix_global_impl()': conftest.cpp:(.text._ZN5boost4asio6detail17posix_global_implINS0_14system_contextEED2Ev[_ZN5boost4asio6detail17posix_global_implINS0_14system_contextEED5Ev]+0xa3): undefined reference to `pthread_join' /usr/bin/ld: conftest.cpp:(.text._ZN5boost4asio6detail17posix_global_implINS0_14system_contextEED2Ev[_ZN5boost4asio6detail17posix_global_implINS0_14system_contextEED5Ev]+0xc4): undefined reference to `pthread_detach' collect2: error: ld returned 1 exit status configure:26674: $? = 1 ``` Not required for Boost 1.74+. ACKs for top commit: laanwj: Code review ACK 774323e378acea998069980edf50e1a26f4b6b9e, is a bugfix/workaround, seems fine to merge last minute for 23.0. Tree-SHA512: 2a9d4b67fd8910e107af972d8c223286b7c933bc310616f86c8b6d8c903438916980fc76bd7e37f2698f6ce5361dc706cbf2933d1ac2c081bcabe1b83ca7d6b6
2022-02-24Merge bitcoin/bitcoin#19013: test: add v0.20.1, v0.21.0 and v22.0 to ↵MarcoFalke
backwards compatibility test 24cec4b5c02e12cf0b6b56ba5055b8f5758627a5 test: Fix intermittent test failure in feature_backwards_compatibility (MarcoFalke) d8b705f1caeb3b4a6790cb26e4e5584ca791d965 test: previous releases: add v22.0 (Sjors Provoost) 40849eebd9c7a92f6b670b30c9338358d8306cfe test: bump sandbox argument minimum version (Sjors Provoost) 8a57a06a5062dd8dfdefca4e404d0ddbd2a3da1d test: previous releases: add v0.21.0 (Sjors Provoost) 8cba75f5fd758d7e59bd0a84dbd17b59fb8a5dd2 test: v0.20.1 backwards compatibility (Sjors Provoost) 0e4b695b6aee276005dc3dd6faaa1d9cb3abeacf test: backwards compatibility: misc fixes (Sjors Provoost) 76557cbe4cd067feb04bd270aa6ba532eae84963 test: Remove i686 from test/get_previous_releases.py (MarcoFalke) Pull request description: This also simplifies the tests a bit. ACKs for top commit: ryanofsky: Code review ACK 24cec4b5c02e12cf0b6b56ba5055b8f5758627a5. Only change since last review is rebasing and adding comment and whitelist args. Tree-SHA512: 85a603ddd70fd8f0180d00fb84eb2ad2f92d6199b7d3f7c1abd660bfba53f869faf40f1a4183a8ce15dbd496ee3132d879c1258651c9d443ece69e5fe328bd26
2022-02-22ci: Force `--enable-external-signer` to prevent future regressionsHennadii Stepanov
2022-02-21Merge bitcoin/bitcoin#24292: Revert "ci: Run fuzzer task for the master ↵fanquake
branch only" fa27745ccbdf8df7949a2e79dba18de49dc89169 ci: Bump fuzz tasks to jammy (MarcoFalke) fab8cd5f8764883dc48695c0e0916bae42f1cfdc Revert "ci: Run fuzzer task for the master branch only" (MarcoFalke) Pull request description: This reverts commit 5a9e255e5a324e7aa0b63a9634aa3cfda9a300bd. I think we should attempt to maintain the fuzz tasks for release branches as well. If it is too difficult for one branch, it could make sense to disable it for that branch, but not for all branches unconditionally. Also, bump to jammy. ACKs for top commit: fanquake: ACK fa27745ccbdf8df7949a2e79dba18de49dc89169 - we'll see how we go with the 23.x release branch. Tree-SHA512: d6d08e7dce0884b556c51ff1896aebbbb5a805c22decd58af81a04192d19876978696017b489ec55886ddfd5c022963baaab5f11022369ae5291016826ff8017
2022-02-21Merge bitcoin/bitcoin#24296: ci: use Ubuntu Jammy for Windows ↵MarcoFalke
cross-compilation CI a1515cdd9683942d733ff509b785cb3ca73c7a30 ci: use Ubuntu Jammy for Windows CI (fanquake) Pull request description: This means we'll compile using [GCC 10.3.x](https://packages.ubuntu.com/jammy/g++-mingw-w64) and [mingw-w64 8.0.0](https://packages.ubuntu.com/jammy/mingw-w64) which better matches our Guix release environment. ACKs for top commit: MarcoFalke: cr ACK a1515cdd9683942d733ff509b785cb3ca73c7a30 hebasto: ACK a1515cdd9683942d733ff509b785cb3ca73c7a30, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: a57cce1874324c9dd00e5d8989996d214facbdd561440471c15e6cc1808bca1c6fd758abe7a1b87378b2e7f9c25e7c9d8242df911cd1ef6cfbe49718adc3be5d
2022-02-18ci: use Ubuntu Jammy for Windows CIfanquake
This means we'll compile using GCC 10.3.x and mingw-w64 8.0.0 which better matches our Guix release environment.
2022-02-18ci: add missing sqlite_cflags to MSAN fuzz jobfanquake
These are present in the other MSAN job.
2022-02-18ci: remove boost_cxxflags from MSAN CIsfanquake
No-longer needed after #24301.
2022-02-14ci: Build bitcoin-chainstateCarl Dong
...to make sure that the linker errors that arise from coupling regressions are caught by CI. Adding to the "no wallet" ci job as suggested by MarcoFalke.
2022-02-13build: use header-only Boost unit testfanquake
2022-02-08ci: Bump fuzz tasks to jammyMarcoFalke
This gives them a newer clang version, which may have more sanitizers available.
2022-02-05ci: Switch from bionic to busterHennadii Stepanov
This change is a prerequisite for the following bumping Qt minimum version to 5.11.3. It is required as bionic has Qt 5.9.5. Effectively, this also changes: - gcc from 8.4.0 to 8.3.0 - python from 3.6.5 to 3.7.3
2022-02-04test: Remove unused valgrind suppressionsMarcoFalke
2022-02-04test: Exclude broken feature_init for nowMarcoFalke
2022-02-03build: remove Boost::system usagefanquake
2022-02-03build: remove boost::filesystem usageKiminuo
2022-02-02ci: Drop no longer needed `update-alternatives`Hennadii Stepanov
2022-02-01ci: Use dash when building depends in centos buildMarcoFalke
2022-02-01scripted-diff: Rename DOCKER_EXEC to CI_EXECMarcoFalke
-BEGIN VERIFY SCRIPT- sed -i "s/DOCKER_EXEC/CI_EXEC/g" $(git grep -l DOCKER_EXEC) -END VERIFY SCRIPT-
2022-02-01ci: Bump CentOS 8 imageMarcoFalke
2022-01-26build: use macOS 11 SDK (Xcode 12.2)fanquake
This should be sufficient to support building for Apple ARM when cross-compiling.
2022-01-15build: disable external signer on Windowsfanquake
2022-01-06Merge bitcoin/bitcoin#23938: ci: Clone entire bitcoin-core/qa-assets repo ↵MarcoFalke
only when run fuzzing 0b7c55f157514e1845934fff3f9c66e862c526ca ci: Clone entire bitcoin-core/qa-assets repo only when run fuzzing (Hennadii Stepanov) Pull request description: This PR speeds up CI tasks that run unit tests but do not run fuzzing. On my machine: ``` $ time git clone --depth=1 https://github.com/bitcoin-core/qa-assets Cloning into 'qa-assets'... remote: Enumerating objects: 289750, done. remote: Counting objects: 100% (289750/289750), done. remote: Compressing objects: 100% (207687/207687), done. remote: Total 289750 (delta 16863), reused 275449 (delta 12092), pack-reused 0 Receiving objects: 100% (289750/289750), 1.39 GiB | 4.79 MiB/s, done. Resolving deltas: 100% (16863/16863), done. Updating files: 100% (294515/294515), done. real7m43,417s user2m39,771s sys0m43,272s ``` ACKs for top commit: MarcoFalke: cr ACK 0b7c55f157514e1845934fff3f9c66e862c526ca Tree-SHA512: 8f8dd63e361c3d9c64a2b31f207f59beea7d2e4142363f7762ec724a61152323fda0c6b98a36386e15f2ca4ef3f7412da763baef65e862fc7f48cdeda8c40e09
2022-01-06ci: Clone entire bitcoin-core/qa-assets repo only when run fuzzingHennadii Stepanov
2022-01-02build: use a static .tiff for macOS .dmg over generatingfanquake
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2021-12-31Merge bitcoin/bitcoin#23912: Insert and bump copyright headersMarcoFalke
1362d6173f863428de17c4017f4e3bb6883b0be8 scripted-diff: Insert missed copyright headers (Hennadii Stepanov) f47dda2c58b5d8d623e0e7ff4e74bc352dfa83d7 scripted-diff: Bump copyright headers (Hennadii Stepanov) c29105efdc3daac0e8c43138f7c0a50535556455 script: Fix copyright_header.py (Hennadii Stepanov) Pull request description: This PR is an alternative to #23903. It bumps the existing copyright headers as we did every year, and adds the missed copyright headers. A small fix has been applied to the `copyright_header.py` in order to prevent such weird bumping as `2021` --> `2021-2017`. ACKs for top commit: MarcoFalke: ACK 1362d6173f863428de17c4017f4e3bb6883b0be8 Tree-SHA512: 204d970fe8c51546b26b8f03fe4297db8a9bef5101df851540b7b9eddbd3a09677ee81fdd882c60937d732407f42c9883165bd978272200cff8f90190f075905