aboutsummaryrefslogtreecommitdiff
path: root/ci
AgeCommit message (Collapse)Author
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#30034: ci: add markdown link check jobmerge-script
4b7d9842691046b01f0c08d69f924ddb62ccc4c6 lint: add markdown hyperlink checker (willcl-ark) Pull request description: Potential followup to: #30025 This should prevent us reintroducing broken markdown links. It does not test "online" (external) links, only those within this repo. Both relative and absolute links are parsed successfully if they resolve. ACKs for top commit: maflcko: re-utACK 4b7d9842691046b01f0c08d69f924ddb62ccc4c6 davidgumberg: reACK https://github.com/bitcoin/bitcoin/commit/4b7d9842691046b01f0c08d69f924ddb62ccc4c6 Tree-SHA512: 9bc40d700b73499c046bb76157bc139f32ec3850f64ef813bbf7f18f9c01a253abe6a857d6f559890165f2bd26e7742c05d86232cd9b8efb33ff85d735f4f095
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-24lint: add markdown hyperlink checkerwillcl-ark
This adds a markdown hyperlink check task to the lint test_runner. It relies on having the [`mlc`](https://crates.io/crates/mlc) binary found on $PATH, but will fail with `success` if the binary is not found. `mlc` is also added to the ci/04_install.sh script run by the containerfile. Note that broken markdown hyperlinks will be detected in untracked markdown files found in a dirty working directory (including e.g. .venv).
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-04-01Merge bitcoin/bitcoin#29764: doc: Suggest installing dev packages for ↵fanquake
debian/ubuntu qt5 build 6c2990416e2dabd845f5ec50ec6ff138136c9b08 ci: Pull in qtbase5-dev instead of seperate low-level libraries (laanwj) a3c6a13cb23999fa70c428f1229acbf1b3883f11 doc: Suggest installing dev packages for debian/ubuntu qt5 build (laanwj) Pull request description: Pretty much all library packages were renamed in the 64-bit time_t migration to add `t64` (even on 64-bit platforms). Instead of complicating the doc with conditional package names, suggest installing the `-dev` packages which still have the same name, and besides that, are the right way to go about it as they contain the "user facing" C++ headers needed to build against Qt5. They pull in the necessary library packages through dependencies. For Fedora, devel packages are already suggested. This affects Ubuntu 24.04 and Debian Testing. ACKs for top commit: maflcko: lgtm ACK 6c2990416e2dabd845f5ec50ec6ff138136c9b08 hebasto: ACK 6c2990416e2dabd845f5ec50ec6ff138136c9b08. Tree-SHA512: dae21b7d08fdb221b7b72c323fdaaa6d1a8b014f90e24d2beae64b1ae229fdbeb93d726a61e826447813e52a3cb9775426aefc6c44a4c5ccc541afabb89cb135
2024-04-01Merge bitcoin/bitcoin#29738: doc: fix typosfanquake
601edd8ee8810b5c6b2184ce8d7f7b45e70913cf ci: use codespell 2.2.6 (fanquake) 52fa0d285f4e8109ebdd8b1e43c897f6bfaa8e65 doc: fix some typos (crazeteam) b5ed13a2408a141d737341137b26b2f0249c8167 doc: Fix typos (RoboSchmied) Pull request description: Combines the recent PRs to fix typos so they can be merged. ACKs for top commit: brunoerg: crACK 601edd8ee8810b5c6b2184ce8d7f7b45e70913cf tdb3: crACK 601edd8ee8810b5c6b2184ce8d7f7b45e70913cf kristapsk: cr utACK 601edd8ee8810b5c6b2184ce8d7f7b45e70913cf Tree-SHA512: d054b1dad1336d6b9291cc5d5252d4debf6424a993d4edd6a97d7c15055a7fc48a333d30967f72e7dc9c6c1d9a9038ca8bb5e219c529f4c2365ea48404a508d0
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-26ci: use codespell 2.2.6fanquake
2024-03-21lint: Fix COMMIT_RANGE issuesMarcoFalke
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>
2024-03-12ci: use Debian Bookworm (GCC 12) for win64 jobfanquake
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
2024-03-12Merge bitcoin/bitcoin#29610: ci: Fix "macOS native" jobfanquake
acc06bc91f80ddf4e015dcdf0b984bbdbfcb5ca3 ci, macos: Use `--break-system-packages` with Homebrew's python (Hennadii Stepanov) ae5f72027f1776f815a6637c594f0f725a6ccb55 ci: Add workaround for Homebrew's python link error (Hennadii Stepanov) Pull request description: Homebrew [promoted](https://github.com/Homebrew/homebrew-core/pull/150390) `python@3.12` to the default `python3`. Now, our "macOS native" CI job is facing the following issues: 1. Installing `qt@5` [requires](https://github.com/bitcoin/bitcoin/actions/runs/8216848118/job/22471875454#step:4:51) re-installing `python@3.12`: ``` ==> Fetching dependencies for qt@5: readline, python@3.12 and gettext ``` 2. Re-installing `python@3.12` [fails](https://github.com/bitcoin/bitcoin/actions/runs/8216848118/job/22471875454#step:4:127) due to symbolic link conflicts on macOS `x86_64`: ``` ==> Pouring python@3.12--3.12.2_1.ventura.bottle.tar.gz Error: The `brew link` step did not complete successfully ``` 3. Homebrew's `python@3.12` is marked as externally managed (according to PEP 668), necessitating different approaches for installing Python packages. This pull request resolves all the issues mentioned above. ACKs for top commit: m3dwards: reACK https://github.com/bitcoin/bitcoin/pull/29610/commits/acc06bc91f80ddf4e015dcdf0b984bbdbfcb5ca3 to get the CI passing again. Tree-SHA512: 82cf72bff328f1e0725342431ac14ad4bae7a758186d97db6c7a558e4b661dcbf3fabe536978e26e709c5f6f7f5c11aac46642634c6685f1291592d8d825ad87
2024-03-11ci, macos: Use `--break-system-packages` with Homebrew's pythonHennadii Stepanov
Homebrew's python@3.12 is marked as externally managed (PEP 668), necessitating different approaches for installing Python packages. For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404.