-
Notifications
You must be signed in to change notification settings - Fork 37.3k
Add bitcoin-{node,gui} to release binaries for IPC #31802
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31802. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. LLM Linter (✨ experimental)Possible typos and grammar issues:
|
ef1e5b0
to
527a77e
Compare
Some chatter from IRC:
|
f43ff56
to
63dffe1
Compare
63dffe1
to
1cb3ff9
Compare
Reported by Sjors Provoost <[email protected]> bitcoin/bitcoin#31802 (comment) /ci_container_base/include/mp/proxy-io.h:252:16: error: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference,-warnings-as-errors] /ci_container_base/include/mp/proxy-io.h:336:18: error: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference,-warnings-as-errors] /ci_container_base/include/mp/util.h:186:12: error: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference,-warnings-as-errors] https://cirrus-ci.com/task/6187773452877824?logs=ci#L4712
re: Sjors #31802 (comment)
Thanks for catching this. I implemented a fix for that error and the other errors in bitcoin-core/libmultiprocess#172 If you wanted to test the fix here you could do: git fetch https://github.com/bitcoin-core/libmultiprocess 8d8e9f65f1d9faaafe91ca90910c1f96da9d094d
git subtree merge --prefix=src/ipc/libmultiprocess --squash 8d8e9f65f1d9faaafe91ca90910c1f96da9d094d I'll also try to open a subtree update PR in the next week or so that this PR could be rebased on. |
@ryanofsky I added your libmultiprocess patch (and rebased). |
This causes IPC binaries (bitcoin-node, bitcoin-gui) to be included in releases. The effect on CI is that this causes more depends builds to build IPC binaries, but still the only build running functional tests with them is the i686_multiprocess one. Except for Windows and OpenBSD.
The bitcoin-node binary is built on all platforms which have multiprocess enabled, but for functional tests it's only used in CentOS native (depends) job. The next commit will also add a non-depends job.
Install capnp on non-depends CI jobs. Use the bitcoin-node binary in the macOS native non-depends job. Co-authored-by: Ryan Ofsky <[email protected]>
Rebased after #31895. Also marking draft given the dependency on bitcoin-core/libmultiprocess#172. |
Reported by Sjors Provoost <[email protected]> bitcoin/bitcoin#31802 (comment) /ci_container_base/include/mp/proxy-io.h:252:16: error: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference,-warnings-as-errors] /ci_container_base/include/mp/proxy-io.h:336:18: error: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference,-warnings-as-errors] /ci_container_base/include/mp/util.h:186:12: error: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference,-warnings-as-errors] https://cirrus-ci.com/task/6187773452877824?logs=ci#L4712
Reported by Sjors Provoost <[email protected]> bitcoin/bitcoin#31802 (comment) /ci_container_base/include/mp/proxy-io.h:252:16: error: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference,-warnings-as-errors] /ci_container_base/include/mp/proxy-io.h:336:18: error: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference,-warnings-as-errors] /ci_container_base/include/mp/util.h:186:12: error: forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference,-warnings-as-errors] https://cirrus-ci.com/task/6187773452877824?logs=ci#L4712
a5bff37ad8 clang-tidy: Suppress bitcoin-nontrivial-threadlocal error e922bb8f6a clang-tidy: Fix bugprone-move-forwarding-reference error c1e8c1a028 clang-tidy: Fix bugprone-move-forwarding-reference errors 0d8012f656 Merge bitcoin-core/libmultiprocess#165: clang-tidy: fix warnings introduced in version 19 aa19285303 use ranges transform a78137ca73 make member function const ca3226ec8a replace custom tuple unpacking code with `std::apply` 949fe85fc9 replace SFINAE trick with `if constexpr` git-subtree-dir: src/ipc/libmultiprocess git-subtree-split: a5bff37ad8f5630a738eb1b0bfa60cf01bedbcdf
🐙 This pull request conflicts with the target branch and needs rebase. |
Have depends make libmultiprocess by default. This PR causes the following behavior changes:
ENABLE_IPC
option being switched on by default in depends buildsENABLE_IPC
is also switched on by default in non-depends buildsENABLE_IPC
on in most configurations and usingbitcoin-node
binary for functional tests in two of them.bitcoin-node
andbitcoin-gui
are added toMaintenance.cmake
(since they're now in the release)capnp
by defaultThis PR doesn't need to do all of 3 things at once. However it's is simpler, avoids code churn (especially in CI), and probably less confusing to make all these changes in the same PR.
Windows and OpenBSD are not supported yet, the latter due to a fairly trivial upstream issue. Therefore for those platforms
ENABLE_IPC
is off by default.The initial main use case for IPC is to enable experimental support for the Mining IPC interface. A working example of a Stratum v2 Template Provider client using this interface can be found here: Sjors#48.
See #31756 for discussion of when this should happen. Supersedes #30975.
Guix hashes: