forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 6
Include patches from 29.2 #101
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
Open
ajtowns
wants to merge
72
commits into
bitcoin-inquisition:29.x
Choose a base branch
from
ajtowns:202512-inq29-upstream-292
base: 29.x
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Include patches from 29.2 #101
ajtowns
wants to merge
72
commits into
bitcoin-inquisition:29.x
from
ajtowns:202512-inq29-upstream-292
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Also, use update-alternatives to avoid having to manually specify
clang-${APT_LLVM_V} or llvm-symbolizer-${APT_LLVM_V} everywhere.
Github-Pull: bitcoin#32999
Rebased-From: fad040a
Github-Pull: bitcoin#33099 Rebased-From: 6653caf
Qt is disabled, as the build is now taking a very long time. Github-Pull: bitcoin#33099 Rebased-From: b09af2c
Github-Pull: bitcoin#33099 Rebased-From: 7aa5b67
Github-Pull: bitcoin#33258 Rebased-From: 4cf0ae4
7c6be9a doc: update release notes for 29.x (fanquake) ea40fa9 ci: use LLVM 21 (fanquake) 5513516 ci: remove DEBUG_LOCKORDER from TSAN job (fanquake) f9939cd ci: instrument libc++ in TSAN job (fanquake) 0fba5ae ci: allow libc++ instrumentation other than msan (fanquake) 10cbf22 ci: Use APT_LLVM_V in msan task (MarcoFalke) Pull request description: Backports: * bitcoin#32999 * bitcoin#33099 (added `ninja-build`) * bitcoin#33258 ACKs for top commit: marcofleon: ACK 7c6be9a, looks okay to me Tree-SHA512: 928882d505ed8101a6d4123947252a84d40bd350383408926b5c37aed56dc3359067d1d14c443c51351a6958a8dd9e141bb7713665295ff1f1ad86c5f8a36df0
The `SHA256AutoDetect` return output is used, among other use cases, to name benchmarks. Using a comma breaks the CSV output. This change replaces the comma with a semicolon, which fixes the issue. Github-Pull: bitcoin#33340 Rebased-From: 790b440
Rather than trying to match the apt installed clang version, which is prone to intermittent issues. i.e bitcoin#33345. Github-Pull: bitcoin#33364 Rebased-From: b736052
Github-Pull: bitcoin#33310 Rebased-From: 93a29ff
Since bitcoin#29412, we have not allowed mutated blocks to continue being processed immediately the block is received, but this is only done for the legacy BLOCK message. Extend these checks as belt-and-suspenders to not allow similar mutation strategies to affect relay by honest peers by applying the check inside PartiallyDownloadedBlock::FillBlock, immediately before returning READ_STATUS_OK. This also removes the extraneous CheckBlock call. Github-Pull: bitcoin#32646 Rebased-From: bac9ee4
Github-Pull: bitcoin#32646 Rebased-From: 28299ce
Previously in debug builds, this would cause an Assume crash if FillBlock had been called previously. This could happen when multiple blocktxn messages were received. Co-Authored-By: Greg Sanders <[email protected]> Github-Pull: bitcoin#33296 Rebased-From: 5e585a0
Add test_multiple_blocktxn_response that checks that the peer is disconnected. Github-Pull: bitcoin#33296 Rebased-From: 8b62647
Tor inbound connections do not reveal the peer's actual network address. Therefore do not apply whitelist permissions to them. Co-authored-by: Vasil Dimov <[email protected]> Github-Pull: bitcoin#33395 Rebased-From: f563ce9
f2bd79f doc: update manual pages for v29.2rc1 (fanquake) 461dd13 build: bump version to v29.2rc1 (fanquake) 9bc4afb doc: update release notes for 29.x (fanquake) 61cdc04 net: Do not apply whitelist permission to onion inbounds (Martin Zumsande) 1288d44 test: send duplicate blocktxn message in p2p_compactblocks.py (Eugene Siegel) 569ceb0 net: check for empty header before calling FillBlock (Eugene Siegel) 4c940d4 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED (Greg Sanders) 9b95ab5 p2p: Add witness mutation check inside FillBlock (Greg Sanders) e97588f trace: Workaround GCC bug compiling with old systemtap (Luke Dashjr) 324caa8 ci: always use tag for LLVM checkout (fanquake) 2717331 Fix benchmark CSV output (Hennadii Stepanov) Pull request description: Backports: * bitcoin#32646 * bitcoin#33296 * bitcoin#33310 * bitcoin#33340 * bitcoin#33364 * bitcoin#33395 Plus changes for 29.2rc1. ACKs for top commit: darosior: utACK f2bd79f mzumsande: utACK f2bd79f Tree-SHA512: 346a92032b7a069e2941056c6273ff65e360c5834832b106350a9cd42b634518cc75b807da6e51a6292e3a33342bb7b145777d3538a2792e03c63962d747a025
Github-Pull: bitcoin#32989 Rebased-From: b8fcc9f
Github-Pull: bitcoin#32989 Rebased-From: b232b0f Add "Restore" and "Save" caching actions. These actions reduce boilerplate in the main ci.yml configuration file. These actions are implemented so that caches will be saved on `push` only. When a pull request is opened it will cache hit on the caches from the lastest push, or in the case of depends will hit on any matching depends hash, falling back to partial matches. Depends caches are hashed using `$(git ls-tree HEAD depends "ci/test/$FILE_ENV" | sha256sum | cut -d' ' -f1)` and this hash is passed in as an input to the actions. This means we direct cache hit in cases where depends would not be re-built, otherwise falling back to a partial match. Previous releases cache is hashed similarly to depends, but using the test/get_previous_releases.py file. The cirruslabs cache action will fallback transparently to GitHub's cache in the case that the job is not being run on a Cirrus Runner, making these compatible with running on forks (on free GH hardware).
Github-Pull: bitcoin#32989 Rebased-From: 33ba073 If set, Cirrus runners will be used on pushes to, and pull requests against, this repository. Forks can set this if they have their own cirrus runners.
Github-Pull: bitcoin#32989 Rebased-From: fdf64e5 Another action to reduce boilerplate in the main ci.yml file. This action will set up a docker builder compatible with caching build layers to a container registry using the `gha` build driver. It will then configure the docker build cache args.
Github-Pull: bitcoin#32989 Rebased-From: 94a0932 Using buildx is required to properly load the correct driver, for use with registry caching. Neither build, nor BUILDKIT=1 currently do this properly. Use of `docker buildx build` is compatible with podman.
Github-Pull: bitcoin#32989 Rebased-From: 18f6be0 Reverts: e87429a This was added in PR bitcoin#31545 with the intention that self-hosted runners might use it to save build cache. As we are not using hosted runners with a registry build cache, the bulk of this commit can be reverted, simply using the value of $DOCKER_BUILD_CACHE_ARG in the script. link: bitcoin#31545
Github-Pull: bitcoin#32989 Rebased-From: 9c2b96e This sets the build dir at build time so that Apple SDK gets installed in the correct/expected location for the runtime to find it. Co-authored-by: Max Edwards <[email protected]>
Github-Pull: bitcoin#32989 Rebased-From: 020069e Whilst the action cirruslabs/actions/cache will automatically set this host, the docker `gha` build cache backend will not be aware of it. Set the value here, which will later be used in the docker build args to enable docker build cache on the cirrus cache.
Github-Pull: bitcoin#32989 Rebased-From: cc1735d To remove multiple occurances of the respository name, against which we compare `${{ github.repository }}` to check if we should use Cirrus Runners, introduce a helper job which can check a single environment variable and output this as an input to subsequent jobs. Forks can maintain a trivial patch of their repo name against the `REPO_USE_CIRRUS_RUNNERS` variable in ci.yml if they have Cirrus Runners of their own, which will then enable cache actions and docker build cache to use Cirrus Cache. It's not possible to use `${{ env.USE_CIRRUS_RUNNERS }}` in the `runs-on:` directive as the context is not supported by GitHub. If it was, this job would no longer be necessary.
Github-Pull: bitcoin#32989 Rebased-From: f253031 Co-authored-by: Max Edwards <[email protected]>
Github-Pull: bitcoin#32989 Rebased-From: 04e7bfb Co-authored-by: Max Edwards <[email protected]>
Github-Pull: bitcoin#32989 Rebased-From: f427284
Github-Pull: bitcoin#32989 Rebased-From: dd1c590 Print the ccache hit-rate for the job using a GitHub annotation if it was below 75%.
Github-Pull: bitcoin#32989 Rebased-From: 2aa288e Docker currently warns that we are missing a default value. Set this to scratch which will error if an appropriate image tag is not passed in to silence the warning.
Github-Pull: bitcoin#32989 Rebased-From: 3c5da69 ci/lint_run_all.sh: Only used in .cirrus.yml. Refer to test/lint/README.md on how to run locally.
Github-Pull: bitcoin#33319 Rebased-From: 5eeb2fa These jobs can use reduced runner size to avoid wasting CPU, as much of the long-running part of the job is single-threaded. Suggested in: bitcoin#32989 (comment) Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^[email protected]>
Github-Pull: bitcoin#33303 Rebased-From: fa8f081
Github-Pull: bitcoin#33425 Rebased-From: b77137a
5750355 ci: link against -lstdc++ in native fuzz with msan job (fanquake) 78d93ef ci: Checkout latest merged pulls (MarcoFalke) 4a034cb ci: reduce runner sizes on various jobs (will) 6ded1fe ci: remove un-needed lint_run*.sh files (willcl-ark) 4e8b64b ci: fix annoying docker warning (will) 773e4cd ci: add ccache hit-rate warning when < 75% (will) 4339787 doc: Detail configuration of hosted CI runners (will) c7f290b ci: dynamically match makejobs with cores (will) a08c3cc ci: remove .cirrus.yml (will) 06424fb ci: port lint (will) 0f0378f ci: port msan-depends (will) 643385b ci: port tsan-depends (will) 3b2dcc8 ci: port tidy (will) b4286cf ci: port centos-depends-gui (will) 5057b9a ci: port previous-releases-depends-debug (will) 85ec6c6 ci: port fuzzer-address-undefined-integer-nodepends (will) 544f902 ci: port i686-multiprocess-DEBUG (will) e826c3d ci: port nowallet-libbitcoinkernel (will) 835b5b8 ci: port mac-cross-gui-notests (will) a91567a ci: force reinstall of kernel headers in asan (will) 819ee09 ci: update asan-lsan-ubsan (will) 894a3cb ci: update windows-cross job (will) 82c60a3 ci: port arm 32-bit job (will) 8499933 ci: add job to determine runner type (will) f9f3e8b ci: add Cirrus cache host (will) af08643 ci: have base install run in right dir (will) 0a649d0 ci: use docker build cache arg directly (will) f3089fb ci: use buildx in ci (will) 1faf918 ci: add configure-docker action (will) 954c1a5 ci: add REPO_USE_CIRRUS_RUNNERS (will) 301aa5d ci: add caching actions (will) f63b8e9 ci: add configure environment action (will) Pull request description: Backports bitcoin#32989 to the 29.x branch ACKs for top commit: m3dwards: ACK 5750355 Tree-SHA512: c0509903043acd1c1e62f6382d9373a5c7a51377a76cbe6ea0cacf83cb03b10e658b8fd0dc2080acb9d6361f0a7883feb0134acd9bc53d164561364d42e111e7
The next commit requires an additional mainnet block which changes the difficulty. Also fix a few minor mistakes in the test (suite): - rename the create_coinbase retarger_period argument to halving_period. Before bitcoin#31583 this was hardcoded for regtest where these values are the same. - drop unused fees argument from mine helper Finally the CPU miner instructions for generating the alternative mainnet chain are expanded. Github-Pull: bitcoin#33446 Rebased-From: 4c3c1f4
A target field was added to the getblock and getblockheader RPC calls in bitcoin#31583, but it mistakingly always used the tip value. Because regtest does not have difficulty adjustment, a test is added for mainnet instead. Github-Pull: bitcoin#33446 Rebased-From: bf7996c
Github-Pull: bitcoin#33484 Rebased-From: ff05beb
Using bypass_limits=true is essentially fuzzing part of a reorg only, and results in TRUC invariants unable to be checked. Remove most instances of bypassing limits, leaving one harness able to do so. Github-Pull: bitcoin#33504 Rebased-From: bbe8e90
Not enforcing TRUC topology on reorg was the intended behavior, but the appropriate bypass argument was not checked. This mistake means we could potentially invalidate a long chain of perfectly incentive-compatible transactions that were made historically, including subsequent non-TRUC transactions, all of which may have been very high feerate. Lastly, it wastes CPU cycles doing topology checks since this behavior cannot actually enforce the topology in general for the reorg setting. Github-Pull: bitcoin#33504 Rebased-From: 26e71c2
Github-Pull: bitcoin#33504 Rebased-From: 06df14b
2d7ebd2 doc: update release notes for 29.x (fanquake) a8bb76b test: add more TRUC reorg coverge (Greg Sanders) 666aec7 Mempool: Do not enforce TRUC checks on reorg (Greg Sanders) 6f23ead fuzz: don't bypass_limits for most mempool harnesses (Greg Sanders) 9d9baaf doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) (Sebastian Falbesoner) 22ab141 rpc: fix getblock(header) returns target for tip (Sjors Provoost) 118abf4 test: add block 2016 to mock mainnet (Sjors Provoost) Pull request description: Backports: * bitcoin#33446 * bitcoin#33484 * bitcoin#33504 ACKs for top commit: luke-jr: ACK 2d7ebd2 dergoegge: ACK 2d7ebd2 marcofleon: ACK 2d7ebd2 Tree-SHA512: 27b852177d8502d6c703cb0eeb1e4df9d651c9c8add5fbf6ae4eeb4b8aefc145471f38f9794c0ed276bf7ebba1844ecbaf5a84cb5913ca7d0a546f5216ea3b2d
QT translations are optional, but the script would error when 'translations_dir' falls back to its default value NULL. This PR fixes it by moving the set-up of QT translations under the check for 'translations_dir' presence. Github-Pull: bitcoin#33482 Rebased-From: 7b5261f
d82fc69 doc: update release notes for 29.2rc2 (fanquake) 513cef7 doc: update manual pages for v29.2rc2 (fanquake) eea16f7 build: bump version to v29.2rc2 (fanquake) 6b3c1db contrib: fix using macdploy script without translations. (amisha) Pull request description: It's been 2 weeks since rc1: https://github.com/bitcoin/bitcoin/releases/tag/v29.2rc1. We've backported more changes: * bitcoin#33403 * bitcoin#33474 * bitcoin#33482 Lets do `rc2`. ACKs for top commit: davidgumberg: reACK d82fc69 glozow: ACK d82fc69 darosior: utACK d82fc69. Changes look good to me, but i have not been through the process of regenerating the doc myself. Tree-SHA512: c829efe89f86c9c76767ffe60a3779ece902ee9e3c8f6b4203562aaf257019484bfa49916ddfabdcabbd1478368d9b80a3f0a15057778aa1984852ea245283a6
abf4a6e build: fix depends Qt download link (fanquake) Pull request description: Fix Qt download path, so we wont always hit the fallback. ACKs for top commit: hebasto: ACK abf4a6e. Tree-SHA512: 1157528983ede46c60810eae5c73f4bd81640afcae9afd9aad14c30104e90c52f8e97755f22314a5514bc1de3a92d864398087fe826f1980acc772fd32535a9f
46d9b90 doc: update manual pages for v29.2 (fanquake) b2026fa build: bump version to v29.2 (fanquake) 3226616 doc: update release notes for 29.2 (fanquake) Pull request description: I'm optimistic that 29.2 wont need an `rc3`. ACKs for top commit: instagibbs: ACK 46d9b90 stickies-v: ACK 46d9b90 glozow: ACK 46d9b90 Tree-SHA512: f515d2dfbbe60dc145f79425cb2e8ef7a443e69dab208b9acdf357dae7cca3f566f7d013a85c6d4330d8931da060320159a3a9d8dae0ea3ff18bba5aeb282722
Bitcoin Core 29.2 final Tree-SHA512: f515d2dfbbe60dc145f79425cb2e8ef7a443e69dab208b9acdf357dae7cca3f566f7d013a85c6d4330d8931da060320159a3a9d8dae0ea3ff18bba5aeb282722
|
One of the CI issues seems trivial to fix (just the linter): The other one seems more annoying, as it says the machine ran out of disk space? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Trivial merge conflict with deleted file resolved.