aboutsummaryrefslogtreecommitdiff
path: root/ci/test
AgeCommit message (Collapse)Author
2024-08-16test: Enable detect_leaks=1 in ASAN_OPTIONS explicitlyMarcoFalke
2024-07-25Merge bitcoin/bitcoin#30522: ci: Add missing qttools5-dev install to Asan taskmerge-script
faa359877270121b3cd442e1e5e865586ce7e530 ci: Add missing qttools5-dev install to Asan task (MarcoFalke) Pull request description: This is required, according to the docs: ``` $ git grep --line-number 'qtbase5-dev qttools5-dev qttools5-dev-tools' doc doc/build-unix.md:84: sudo apt-get install qtbase5-dev qttools5-dev qttools5-dev-tools ``` Also, needed for cmake. ACKs for top commit: hebasto: ACK faa359877270121b3cd442e1e5e865586ce7e530. Tree-SHA512: c986908f757d70d958267c1e902b5d7d94589360db61ddf7b9b398cd635b2172e83510c0c77fd6032810166342a286c0f95225b6c6639acd869e1e51c3348ea7
2024-07-25ci: Add missing qttools5-dev install to Asan taskMarcoFalke
2024-07-24ci: add _LIBCPP_REMOVE_TRANSITIVE_INCLUDES to TSAN jobfanquake
See: https://libcxx.llvm.org/DesignDocs/HeaderRemovalPolicy.html.
2024-07-08Merge bitcoin/bitcoin#30263: build: Bump clang minimum supported version to 16merge-script
fa8f53273c7e5965620d31a8c3fe5f223cb76888 refactor: Remove no longer needed clang-15 workaround for std::span (MarcoFalke) 9999dbc1bd171931f02266d7c1a5cfd39f49238e fuzz: Clarify Apple-Clang-16 workaround (MarcoFalke) fa7462c67ab9b6d45484ce92b44d03f812627d6e build: Bump clang minimum supported version to 16 (MarcoFalke) Pull request description: Most supported operating systems ship with clang-16 (or later), so bump the minimum to that and allow new code to drop workarounds for previous clang bugs. For reference: * https://packages.debian.org/bookworm/clang-16 * https://packages.ubuntu.com/noble/clang (clang-18) * CentOS-like 8/9 Stream: All Clang versions from 16 to 17 * FreeBSD 12/13: All Clang versions from 16 to 18 * OpenSuse Tumbleweed ships with https://software.opensuse.org/package/clang (`clang18`); No idea about OpenSuse Leap On operating systems where the clang version is not shipped by default, the user would have to use GCC, or install clang in a different way. For example: * https://packages.debian.org/bookworm/g++ (g++-12) * https://packages.ubuntu.com/jammy/g++ (g++-11) * https://apt.llvm.org/, or nix, or guix, or compile clang from source, ... **Ubuntu 22.04 LTS does not ship with clang-16**, so one of the above workarounds is needed there. macOS 13 is unaffected, and the previous minimum requirement of Xcode15.0 remains, see also https://github.com/bitcoin/bitcoin/blame/b1ba1b178f501daa1afdd91f9efec34e5ec1e294/.github/workflows/ci.yml#L93. For macOS 11 (Big Sur) and 12 (Monterey) you need to install a more recent version of llvm, this remains unchanged as well, see https://github.com/bitcoin/bitcoin/blame/b1ba1b178f501daa1afdd91f9efec34e5ec1e294/doc/build-osx.md#L54. ACKs for top commit: hebasto: ACK fa8f53273c7e5965620d31a8c3fe5f223cb76888, I have reviewed the code and it looks OK. TheCharlatan: Re-ACK fa8f53273c7e5965620d31a8c3fe5f223cb76888 stickies-v: ACK fa8f53273c7e5965620d31a8c3fe5f223cb76888 Tree-SHA512: 18b79f88301a63bb5e367d2f52fffccd5fb84409061800158e51051667f6581a4cd71d4859d4cfa6d23e47e92963ab637e5ad87e3170ed23b5bebfbe99e759e2
2024-07-01ci: Clear unused /msan/llvm-projectMarcoFalke
2024-06-26build: Bump clang minimum supported version to 16MarcoFalke
2024-06-21ci: increase available ccache size to 300MBMax Edwards
2024-06-20ci: add option for running tests without volumeMax Edwards
DANGER_CI_ON_HOST_CACHE_FOLDERS if set will mount caches in directories on the host rather than in docker volumes. Supports saving and restoring caches on Github Actions.
2024-06-17Merge bitcoin/bitcoin#30193: ci: move ASan job to GitHub Actions from Cirrus CIAva Chow
9eea51d9058ad638861aa4b94c1c6e71caeb8765 ci: move Asan / LSan / USDT job to Github Actions (Max Edwards) 4b527fa93b9763a33842069bc07446313cbf5e0f ci: add IPV6 network to ci container (Max Edwards) Pull request description: PR for moving the ASAN + LSAN + USDT + friends job to github actions from Cirrus. The motivation for this PR is that this task needs a full VM (or bare metal) to function, because of the tracepoints. It can not run in a container on an arbitrary Linux, because the outside machine must exactly match the specification of the distro used in the CI task config. This requires more maintenance for the persistent worker, and I think moving to GHA will reduce the maintenance burden, or at least make it possible for anyone to work on. Also, it makes it easier to run the task on forks (bitcoin-inquisition, bitcoin-knots, devel forks, ...) without having to set-up a real machine. ACKs for top commit: maflcko: review ACK 9eea51d9058ad638861aa4b94c1c6e71caeb8765 achow101: ACK 9eea51d9058ad638861aa4b94c1c6e71caeb8765 hebasto: ACK 9eea51d9058ad638861aa4b94c1c6e71caeb8765. Tree-SHA512: 1111c1c9e3a11e725dff1344643fff3c91fb9b4d7c1cc9a7d507a8f146f5223316a00272030b41ae37ecb59d044f2e90e1cd907450049b25f094f0b60643d4c7
2024-06-12ci: move Asan / LSan / USDT job to Github ActionsMax Edwards
Moving it from Cirrus CI so it can be easier to maintain and used by forks
2024-06-10ci: update deps for macOS cross buildfanquake
We are going to use Clang 18, which isn't on Jammy, so bump to Noble.
2024-06-08ci: add IPV6 network to ci containerMax Edwards
Allows IPV6 functional tests to run inside the container
2024-05-30Merge bitcoin/bitcoin#30049: build, test, doc: Temporarily remove ↵merge-script
Android-related stuff 5deb0b024e14c7c63d405c651d1ca323560a1c21 build, test, doc: Temporarily remove Android-related stuff (Hennadii Stepanov) Pull request description: Previously, our Android builds were geared towards generating APKs, which relied on Qt. However, after migrating to C++20, compiling for Android became unfeasible due to Qt 5.15's compatibility limitations with NDK only up to r25, which includes an outdated embedded libc++ (see https://github.com/bitcoin/bitcoin/issues/29360). All removed stuff will be reinstated after migrating the build system to CMake and upgrading Qt to version 6.x. This PR makes possible a clean migration to the CMake-based build system as it removes code, which is not used at this moment. ACKs for top commit: vasild: ACK 5deb0b024e14c7c63d405c651d1ca323560a1c21 fanquake: ACK 5deb0b024e14c7c63d405c651d1ca323560a1c21 - given none of this is currently tested/wont compile. Can be revisted in future. Tree-SHA512: 3bc2ccfe881e11cc1d78c27acd6f1d86cfba86821ef3bb5eca2e80d978fdfa13659ec82284dcaadc507e2394524dea91d4b8f81d0030c1cef9708df8be76bf07
2024-05-21ci: Add mising -Wno-error=maybe-uninitialized to armhf taskMarcoFalke
2024-05-07ci: Exclude feature_init for now in valgrind taskMarcoFalke
2024-05-06build, test, doc: Temporarily remove Android-related stuffHennadii Stepanov
Previously, our Android builds were geared towards generating APKs, which relied on Qt. However, after migrating to C++20, compiling for Android became unfeasible due to Qt 5.15's compatibility limitations with NDK only up to r25, which includes an outdated embedded libc++. All removed stuff will be reinstated after migrating the build system to CMake and upgrading Qt to version 6.x."
2024-05-03ci: remove -Wdocumentation from -Werror in multiprocess CIfanquake
The issues here are coming from Boost Test code.
2024-05-03ci: remove -Warray-bounds from -Werror for win64fanquake
These warnings are coming from leveldb, and appear to be fixed starting with GCC 13.
2024-05-03ci: disable -Werror=maybe-uninitialized for Windows buildsfanquake
This produces false positives, such as: ```bash torcontrol.cpp: In static member function ‘static void TorControlConnection::readcb(bufferevent*, void*)’: torcontrol.cpp:94:28: error: ‘result’ may be used uninitialized [-Werror=maybe-uninitialized] 94 | self->message.code = ToIntegral<int>(s.substr(0, 3)).value_or(0); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./netaddress.h:18, from ./torcontrol.h:11, from torcontrol.cpp:6: ./util/strencodings.h:184:7: note: ‘result’ was declared here 184 | T result; | ^~~~~~ cc1plus: all warnings being treated as errors make[2]: *** [Makefile:11088: libbitcoin_node_a-torcontrol.o] Error 1 ```
2024-04-27build: Bump clang minimum supported version to 15MarcoFalke
2024-04-24Merge bitcoin/bitcoin#29837: ci: disable `_FORTIFY_SOURCE` with MSANmerge-script
08ff17d1420a3d1c14c6b1a5436678fbb1dd9cbc ci: disable _FORTIFY_SOURCE with MSAN (fanquake) Pull request description: By undefining `_FORTIFY_SOURCE` we can drop`--disable-hardening`. ACKs for top commit: maflcko: lgtm ACK 08ff17d1420a3d1c14c6b1a5436678fbb1dd9cbc hernanmarino: utACK 08ff17d1420a3d1c14c6b1a5436678fbb1dd9cbc . Relevant CI test seems to be working OK. Tree-SHA512: 948fd075aa648a7e34c37376fb913074ebc07d1c3cb0737d5fcbe7eac0b35c4152139773e4515ccb80f2d11b1ced6c6984da1757c2bcf8dd90e8ff6f664dae8e
2024-04-21ci: Drop no longer needed `-I` flag in "tidy" taskHennadii Stepanov
2024-04-15Merge bitcoin/bitcoin#29848: ci: use Clang 16 for Valgrindmerge-script
ad21f2294821d7c436e58a8f199fb555b11a56ad ci: use clang-16 for Valgrind (fanquake) Pull request description: Switch to Ubuntu Noble. Valgrind 3.19 -> 3.22 Clang 14 -> Clang 16 ACKs for top commit: maflcko: lgtm ACK ad21f2294821d7c436e58a8f199fb555b11a56ad Tree-SHA512: ec79ef9faaec97e34529ae36fff7798f859daca6a1e3563bc50e5d56a56ee4525c736976158a6e950c5b9f810c498d54ab128df984f42441e706033906c2ea3e
2024-04-14ci: use clang-16 for Valgrindfanquake
Switch to Ubuntu Noble.
2024-04-12ci: Bump s390x to ubuntu:24.04MarcoFalke
Re-enable feature_init
2024-04-09ci: disable _FORTIFY_SOURCE with MSANfanquake
2024-04-09Revert "ci: Temporarily disable bpfcc-tools"fanquake
This reverts commit fac012c7262f036e9b6f5800e57dcd63870a871c.
2024-04-06ci: remove --with-asm usage (secp256k1)fanquake
2024-04-06ci: use LLVM 18.1.3 in MSAN jobsfanquake
2024-04-05Merge bitcoin/bitcoin#29800: ci: Drop duplicated compiler flagsfanquake
a3485af67da4949c72c45acc608f8746ed0e0848 ci: Drop duplicated compiler flags (Hennadii Stepanov) Pull request description: On the master branch @ 0d509bab45d292caeaf34600e57b5928757c6005, it is easy to check the _"Options used to compile and link"_ section in the `configure` script output and observe duplicated compiler flags. This PR cleans such cases up. ACKs for top commit: maflcko: re-ACK a3485af67da4949c72c45acc608f8746ed0e0848 fanquake: ACK a3485af67da4949c72c45acc608f8746ed0e0848 - no-longer a change in behaviour. Tree-SHA512: 7e644fcfad7be48af3b18edd2994c0c78a21ac3f9fff497724be80f74c9e859d156de15ca4024c5c50d1080435576ce63402b48aba5c2fd556e2ed7e318e0e34
2024-04-05ci: Drop duplicated compiler flagsHennadii Stepanov
2024-04-04Merge bitcoin/bitcoin#29788: ci: Temporarily disable bpfcc-toolsfanquake
fac012c7262f036e9b6f5800e57dcd63870a871c ci: Temporarily disable bpfcc-tools (MarcoFalke) Pull request description: This works around package install errors, such as https://github.com/bitcoin/bitcoin/runs/23354020361. Should be possible to reproduce locally via `apt update && apt install bpfcc-tools` on noble: ``` python3-bpfcc : Depends: libbpfcc (>= 0.29.1+ds-1ubuntu4) but it is not going to be installed ACKs for top commit: hebasto: ACK fac012c7262f036e9b6f5800e57dcd63870a871c, I have reviewed the code, it looks OK. And CI is green. TheCharlatan: ACK fac012c7262f036e9b6f5800e57dcd63870a871c Tree-SHA512: 369e89bc0fbf4d75455c7c047ae904849267f82e647eeadd7ee6045393bd9812a5e682a58eb8d2ccd8c89a030e6665f054596fdcd0708f591ed4c693398125d1
2024-04-02ci: Temporarily disable bpfcc-toolsMarcoFalke
2024-04-01Merge bitcoin/bitcoin#29648: Remove libbitcoinconsensusfanquake
80f8b92f4f2311b9e9a25361c9dd973244e6f95c remove libbitcoinconsensus (fanquake) Pull request description: This was deprecated in `v27.0`, for removal in `v28.0`. See discussion in PR #29189. ACKs for top commit: theuni: Concept ACK and light review ACK 80f8b92f4f2311b9e9a25361c9dd973244e6f95c. My only hesitation here is that (afaics?) there's now nothing keeping undesired features like threading or globals from working their way into the interpreter in future commits. m3dwards: Concept ACK https://github.com/bitcoin/bitcoin/pull/29648/commits/80f8b92f4f2311b9e9a25361c9dd973244e6f95c TheCharlatan: ACK 80f8b92f4f2311b9e9a25361c9dd973244e6f95c hebasto: ACK 80f8b92f4f2311b9e9a25361c9dd973244e6f95c, I have reviewed the code and it looks OK. Tree-SHA512: 17a62118aeb088f2695c892bb32794dfea3061e3cb7d9e8e9f1c06c3ff6f63a7587fa532e37edbb91fbc5a19b12c9a0f8e05fa9e8864aa07f92665375d847e80
2024-04-01Merge bitcoin/bitcoin#29765: ci: Use clang-18fanquake
fa75220ac5e0ea401a26dd2f16a88627e51c240a ci: Use clang-18 in asan/fuzz/tsan task (MarcoFalke) fad23a06469607689c4f637bb407c96af4902a27 ci: Bump clang+llvm in i686_multiprocess task (MarcoFalke) Pull request description: Use clang-18, which comes with bugfixes and sanitizer upgrades. ACKs for top commit: fanquake: ACK fa75220ac5e0ea401a26dd2f16a88627e51c240a Tree-SHA512: da251eb55d3a7e537110b03fb0fc10fc6e2f4406d55bdb33bdc91459daabfd3b8d1d20859a66718bb1b09126e11495f6584c52504a85eb09bde9eafafdaf0b0b
2024-03-29ci: Use clang-18 in asan/fuzz/tsan taskMarcoFalke
2024-03-29ci: Bump clang+llvm in i686_multiprocess taskMarcoFalke
2024-03-29ci: Pull in qtbase5-dev instead of seperate low-level librarieslaanwj
Fix CI build for t64 migration.
2024-03-26ci: Print tsan errors to stderrMarcoFalke
2024-03-19ci: Bump msan to llvm-18MarcoFalke
2024-03-19Merge bitcoin/bitcoin#29094: ci: Better tidy errorsfanquake
fae70ba00da27ca5734c88e9964c872c7faa0f78 ci: Better tidy errors (MarcoFalke) Pull request description: Currently tidy errors are not nice, because the user may have to scroll up to see them in a large block of text. See for example (before) https://github.com/bitcoin/bitcoin/runs/19670551485 Fix that by `tee`ing the output to a file and summarizing the errors in the end again. See for example (after): https://github.com/bitcoin/bitcoin/runs/22647850662 ACKs for top commit: hebasto: ACK fae70ba00da27ca5734c88e9964c872c7faa0f78, logs with errors look cleaner. TheCharlatan: ACK fae70ba00da27ca5734c88e9964c872c7faa0f78 Tree-SHA512: dcaea557fed40089409d16ce2cbaa8a9cfbf047f601d5daadfee0823b0eed7badc12d803addc0b7b6bb3f1eaf5c787fccb2488475d32c4efd80835f386f761dd
2024-03-18remove libbitcoinconsensusfanquake
This was deprecated in v27.0, for removal in v28.0. See discussion in PR #29189.
2024-03-18Merge bitcoin/bitcoin#29669: ci: Drop `--enable-c++20` optionfanquake
64722e4359bc101682d73e5a1a04ef2c68716d4c ci: Drop `--enable-c++20` option (Hennadii Stepanov) Pull request description: This option has ceased to exist since https://github.com/bitcoin/bitcoin/pull/28349. ACKs for top commit: maflcko: ACK 64722e4359bc101682d73e5a1a04ef2c68716d4c Tree-SHA512: bd392c331f775605615e1b236682269b83a1e6363a4d3f09c4d8d54495cf3d22973a921ebf6b8a9f813ba6c024d3324761f3291aaf7f473995f5eaa4c195bc43
2024-03-18Merge bitcoin/bitcoin#29659: ci: Bump `TIDY_LLVM_V`fanquake
636c9862cfc8b3facc84eb62b51e18877f2022a9 ci: Bump `TIDY_LLVM_V` (Hennadii Stepanov) Pull request description: This PR switches to the latest [IWYU 0.22](https://github.com/include-what-you-use/include-what-you-use/releases/tag/0.22), which is compatible with Clang 18. ACKs for top commit: fanquake: ACK 636c9862cfc8b3facc84eb62b51e18877f2022a9 Tree-SHA512: 78ce89244c5e487dd1be8b4bd2ca6f06d19b04b78289ebc21985110574053545dcce5eb622edf2bede2cf7bb58360170e976d30a4484a127d34dd17b1c604e9c
2024-03-17ci: Drop `--enable-c++20` optionHennadii Stepanov
This option has ceased to exist since https://github.com/bitcoin/bitcoin/pull/28349.
2024-03-15ci: Bump `TIDY_LLVM_V`Hennadii Stepanov
This change switches to the latest IWYU 0.22, which is compatible with Clang 18.
2024-03-14build: Bump g++ minimum supported version to 11MarcoFalke
2024-03-14ci: Better tidy errorsMarcoFalke
2024-03-12ci: use Debian Bookworm (GCC 12) for ARM ci jobfanquake
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>