44337 Commits

Author SHA1 Message Date
merge-script
2d6426c296
Merge bitcoin/bitcoin#33551: [29.x] Finalise 29.2
46d9b9091baa096da30da5e14329a32f1264229a doc: update manual pages for v29.2 (fanquake)
b2026fa290f0aef9a0dcfe45750121f113e2ce7d build: bump version to v29.2 (fanquake)
3226616493289b111997bb107e569fef54386743 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 46d9b9091baa096da30da5e14329a32f1264229a
  stickies-v:
    ACK 46d9b9091baa096da30da5e14329a32f1264229a
  glozow:
    ACK 46d9b9091baa096da30da5e14329a32f1264229a

Tree-SHA512: f515d2dfbbe60dc145f79425cb2e8ef7a443e69dab208b9acdf357dae7cca3f566f7d013a85c6d4330d8931da060320159a3a9d8dae0ea3ff18bba5aeb282722
v29.2
2025-10-10 11:51:54 -04:00
fanquake
46d9b9091b
doc: update manual pages for v29.2 2025-10-08 10:40:37 +01:00
fanquake
b2026fa290
build: bump version to v29.2 2025-10-08 10:40:37 +01:00
fanquake
3226616493
doc: update release notes for 29.2 2025-10-08 10:40:37 +01:00
merge-script
8bcb90d7e3
Merge bitcoin/bitcoin#33563: [29.x] build: fix depends Qt download link
abf4a6eeaee116917dafd56eb9caee03e13048d2 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 abf4a6eeaee116917dafd56eb9caee03e13048d2.

Tree-SHA512: 1157528983ede46c60810eae5c73f4bd81640afcae9afd9aad14c30104e90c52f8e97755f22314a5514bc1de3a92d864398087fe826f1980acc772fd32535a9f
2025-10-07 14:04:27 +01:00
fanquake
abf4a6eeae
build: fix depends Qt download link 2025-10-07 13:31:04 +01:00
merge-script
398c176ea8
Merge bitcoin/bitcoin#33534: [29.x] Finalise 29.2rc2
d82fc69829cd8cabbaf2c3a969597b40c32edc86 doc: update release notes for 29.2rc2 (fanquake)
513cef75ee06bc5d310a22d366a5f3c815aa1499 doc: update manual pages for v29.2rc2 (fanquake)
eea16f7de7c4382e4491f3b018ecd0c36678affb build: bump version to v29.2rc2 (fanquake)
6b3c1dbc5c0df4357ee7f57ac238bcdff55526af 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:
  * #33403
  * #33474
  * #33482

  Lets do `rc2`.

ACKs for top commit:
  davidgumberg:
    reACK d82fc69
  glozow:
    ACK d82fc69829cd8cabbaf2c3a969597b40c32edc86
  darosior:
    utACK d82fc69829cd8cabbaf2c3a969597b40c32edc86. Changes look good to me, but i have not been through the process of regenerating the doc myself.

Tree-SHA512: c829efe89f86c9c76767ffe60a3779ece902ee9e3c8f6b4203562aaf257019484bfa49916ddfabdcabbd1478368d9b80a3f0a15057778aa1984852ea245283a6
v29.2rc2
2025-10-03 14:01:58 -04:00
fanquake
d82fc69829
doc: update release notes for 29.2rc2 2025-10-03 18:07:20 +01:00
fanquake
513cef75ee
doc: update manual pages for v29.2rc2 2025-10-03 16:26:09 +01:00
fanquake
eea16f7de7
build: bump version to v29.2rc2 2025-10-03 16:26:09 +01:00
amisha
6b3c1dbc5c
contrib: fix using macdploy script without translations.
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: #33482
Rebased-From: 7b5261f7ef3d88361204c40eb10c0d9dc44f5ed7
2025-10-03 16:26:09 +01:00
merge-script
d1b5d4e9ca
Merge bitcoin/bitcoin#33474: [29.x] Backports
2d7ebd2d913ea63c1a23fefa0a09ee06fb069161 doc: update release notes for 29.x (fanquake)
a8bb76b61f49e1abd681f21a754f970eef206ced test: add more TRUC reorg coverge (Greg Sanders)
666aec7d49506c587ecbbcd71f6e8f1e7bb4e4cd Mempool: Do not enforce TRUC checks on reorg (Greg Sanders)
6f23ead4a2d97e245f4fc1824b1dd956dc06cc42 fuzz: don't bypass_limits for most mempool harnesses (Greg Sanders)
9d9baafc6f9357179e57fdcc6cf2ce36d65dd16d doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) (Sebastian Falbesoner)
22ab141243eeb4a929e589ef70a6f54a5aaed3ba rpc: fix getblock(header) returns target for tip (Sjors Provoost)
118abf4c305c01e6359a8588327a0b011ca52944 test: add block 2016 to mock mainnet (Sjors Provoost)

Pull request description:

  Backports:
  * #33446
  * #33484
  * #33504

ACKs for top commit:
  luke-jr:
    ACK 2d7ebd2d913ea63c1a23fefa0a09ee06fb069161
  dergoegge:
    ACK 2d7ebd2d913ea63c1a23fefa0a09ee06fb069161
  marcofleon:
    ACK 2d7ebd2d913ea63c1a23fefa0a09ee06fb069161

Tree-SHA512: 27b852177d8502d6c703cb0eeb1e4df9d651c9c8add5fbf6ae4eeb4b8aefc145471f38f9794c0ed276bf7ebba1844ecbaf5a84cb5913ca7d0a546f5216ea3b2d
2025-10-03 14:21:52 +01:00
fanquake
2d7ebd2d91
doc: update release notes for 29.x 2025-10-02 15:18:36 +01:00
Greg Sanders
a8bb76b61f
test: add more TRUC reorg coverge
Github-Pull: #33504
Rebased-From: 06df14ba75be5f48cf9c417424900ace17d1cf4d
2025-10-02 15:17:34 +01:00
Greg Sanders
666aec7d49
Mempool: Do not enforce TRUC checks on reorg
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: #33504
Rebased-From: 26e71c237d9d2197824b547f55ee3a0a60149f92
2025-10-02 15:17:31 +01:00
Greg Sanders
6f23ead4a2
fuzz: don't bypass_limits for most mempool harnesses
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: #33504
Rebased-From: bbe8e9063c15dc230553e0cbf16d603f5ad0e4cf
2025-10-02 15:17:10 +01:00
Sebastian Falbesoner
9d9baafc6f
doc: rpc: fix case typo in finalizepsbt help (final_scriptwitness)
Github-Pull: #33484
Rebased-From: ff05bebcc4262966b117082a67dc4c63a3f67d2d
2025-09-29 15:56:02 -04:00
Sjors Provoost
22ab141243
rpc: fix getblock(header) returns target for tip
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: #33446
Rebased-From: bf7996cbc3becf329d8b1cd2f1007fec9b3a3188
2025-09-24 10:34:21 -04:00
Sjors Provoost
118abf4c30
test: add block 2016 to mock mainnet
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: #33446
Rebased-From: 4c3c1f42cf705e039751395799240da33ca969bd
2025-09-24 10:25:02 -04:00
merge-script
f6d49d0a09
Merge bitcoin/bitcoin#33403: Backport Cirrus runners to 29.x
5750355139eb7fc2bd11124adf46bf053be6b690 ci: link against -lstdc++ in native fuzz with msan job (fanquake)
78d93effd03278b46e21ae8ef79f61f4ec32f855 ci: Checkout latest merged pulls (MarcoFalke)
4a034cbeb42763c6b7a82089973c4a30cb0cd1c4 ci: reduce runner sizes on various jobs (will)
6ded1fe11752372c52169d2aec7f0658bf9b0455 ci: remove un-needed lint_run*.sh files (willcl-ark)
4e8b64b181e1bb7d82789699eaac24dc1242afa3 ci: fix annoying docker warning (will)
773e4cda9446a03c0b23468ef8a9e38496b4566b ci: add ccache hit-rate warning when < 75% (will)
4339787379d2d246846e60f10ab9582805a6845e doc: Detail configuration of hosted CI runners (will)
c7f290b826fc4928c6e1e0a9649da85d4752717b ci: dynamically match makejobs with cores (will)
a08c3cc51c6875ba67f25c85143fdb61a8ba3e03 ci: remove .cirrus.yml (will)
06424fb004f916b06e4f0ab90fd6f7623049a360 ci: port lint (will)
0f0378fe3c590e835aa30be092f37109ddd63b86 ci: port msan-depends (will)
643385b22d9908f7665bf2addc734ba0323967b0 ci: port tsan-depends (will)
3b2dcc8b9aea8706a25690a0cd08ba60896d3542 ci: port tidy (will)
b4286cf354a8111ed54fb63547dc1a7be7257b92 ci: port centos-depends-gui (will)
5057b9a6ffd360dbd96ad8585e10852961392361 ci: port previous-releases-depends-debug (will)
85ec6c6882b40adb35c9cb88d37d22e3e58eaa68 ci: port fuzzer-address-undefined-integer-nodepends (will)
544f902b2a9cf14cd0445f27802cd11c5c945b00 ci: port i686-multiprocess-DEBUG (will)
e826c3daa55d3b4cbd0e2c13765f9158eb225bfd ci: port nowallet-libbitcoinkernel (will)
835b5b8bb18a318026ada74d3c63b89d6aab742b ci: port mac-cross-gui-notests (will)
a91567a980adb93a05f12ec63b628ee3faaa4681 ci: force reinstall of kernel headers in asan (will)
819ee09af31687dedd38de68aef98b0ecc19608f ci: update asan-lsan-ubsan (will)
894a3cbe42bf900788b858faf59b3d97412e7d47 ci: update windows-cross job (will)
82c60a31515a2004976faaa26f8caad9e2bb022d ci: port arm 32-bit job (will)
849993377d76c64cc5ea14336e6523434608deb3 ci: add job to determine runner type (will)
f9f3e8b68616dfb9e18082d191b87a457c4100da ci: add Cirrus cache host (will)
af086431e86c82a5e40b05270f39c70cfe413c7b ci: have base install run in right dir (will)
0a649d07c994b1a6957131c8bb3a1d2e8d53e559 ci: use docker build cache arg directly (will)
f3089fb2cfdba533fba1298e909628e5fe7dabb9 ci: use buildx in ci (will)
1faf918a169b76e69a486eb7fc8d88429b77b4b6 ci: add configure-docker action (will)
954c1a55e4a6322267071f5bffeb3188a6ac7d59 ci: add REPO_USE_CIRRUS_RUNNERS (will)
301aa5d814b620287b65d93399a20a794659cc79 ci: add caching actions (will)
f63b8e960d5d06cdbbc360aaf781c13fd5aca172 ci: add configure environment action (will)

Pull request description:

  Backports #32989 to the 29.x branch

ACKs for top commit:
  m3dwards:
    ACK 5750355139eb7fc2bd11124adf46bf053be6b690

Tree-SHA512: c0509903043acd1c1e62f6382d9373a5c7a51377a76cbe6ea0cacf83cb03b10e658b8fd0dc2080acb9d6361f0a7883feb0134acd9bc53d164561364d42e111e7
2025-09-24 10:18:19 -04:00
fanquake
5750355139
ci: link against -lstdc++ in native fuzz with msan job
Github-Pull: #33425
Rebased-From: b77137a5644e09a08442aed7d8a4a9290fb53526
2025-09-23 15:26:11 +01:00
MarcoFalke
78d93effd0
ci: Checkout latest merged pulls
Github-Pull: #33303
Rebased-From: fa8f081af31
2025-09-23 15:26:10 +01:00
will
4a034cbeb4
ci: reduce runner sizes on various jobs
Github-Pull: #33319
Rebased-From: 5eeb2facbbbbf68a2c30ef9e6747e39c85d7b116

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: https://github.com/bitcoin/bitcoin/pull/32989#discussion_r2321775620

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
2025-09-23 15:26:09 +01:00
willcl-ark
6ded1fe117
ci: remove un-needed lint_run*.sh files
Github-Pull: #32989
Rebased-From: 3c5da69a232

ci/lint_run_all.sh: Only used in .cirrus.yml. Refer to test/lint/README.md on how to run locally.
2025-09-23 15:26:08 +01:00
will
4e8b64b181
ci: fix annoying docker warning
Github-Pull: #32989
Rebased-From: 2aa288efdda

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.
2025-09-23 15:26:07 +01:00
will
773e4cda94
ci: add ccache hit-rate warning when < 75%
Github-Pull: #32989
Rebased-From: dd1c5903e8d

Print the ccache hit-rate for the job using a GitHub annotation if it
was below 75%.
2025-09-23 15:26:06 +01:00
will
4339787379
doc: Detail configuration of hosted CI runners
Github-Pull: #32989
Rebased-From: f4272844833dd660c2b9db587856baa408889302
2025-09-23 15:26:06 +01:00
will
c7f290b826
ci: dynamically match makejobs with cores
Github-Pull: #32989
Rebased-From: 3f339e99e00

Previously jobs were running on a large multi-core server where 10 jobs
as default made sense (or may even have been on the low side).

Using hosted runners with fixed (and lower) numbers of vCPUs we should
adapt compilation to match the number of cpus we have dynamically.

This is cross-platform compatible with macos and linux only.
2025-09-23 15:26:05 +01:00
will
a08c3cc51c
ci: remove .cirrus.yml
Github-Pull: #32989
Rebased-From: 4393ffdd837

Removed as unused.
2025-09-23 15:26:04 +01:00
will
06424fb004
ci: port lint
Github-Pull: #32989
Rebased-From: bc41848d00f

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:26:03 +01:00
will
0f0378fe3c
ci: port msan-depends
Github-Pull: #32989
Rebased-From: d290a8e6eab

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:26:02 +01:00
will
643385b22d
ci: port tsan-depends
Github-Pull: #32989
Rebased-From: 9bbae61e3b4

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:26:01 +01:00
will
3b2dcc8b9a
ci: port tidy
Github-Pull: #32989
Rebased-From: bf7d5364527

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:26:00 +01:00
will
b4286cf354
ci: port centos-depends-gui
Github-Pull: #32989
Rebased-From: 549074bc643

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:25:59 +01:00
will
5057b9a6ff
ci: port previous-releases-depends-debug
Github-Pull: #32989
Rebased-From: 58e38c3a042

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:25:58 +01:00
will
85ec6c6882
ci: port fuzzer-address-undefined-integer-nodepends
Github-Pull: #32989
Rebased-From: 341196d75c3

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:25:57 +01:00
will
544f902b2a
ci: port i686-multiprocess-DEBUG
Github-Pull: #32989
Rebased-From: f2068f26c12

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:25:56 +01:00
will
e826c3daa5
ci: port nowallet-libbitcoinkernel
Github-Pull: #32989
Rebased-From: 2a00b12d73b

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:25:55 +01:00
will
835b5b8bb1
ci: port mac-cross-gui-notests
Github-Pull: #32989
Rebased-From: 9c2514de534

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:25:54 +01:00
will
a91567a980
ci: force reinstall of kernel headers in asan
Github-Pull: #32989
Rebased-From: 2c990d84a3d

When using hosted runners in combination with cached docker images,
there is the possibility that the host runner image is updated,
rendering the linux-headers package (stored in the cached docker image)
incompatible.

Fix this by doing a re-install of the headers package in
03_test_script.sh.

If the underlying runner kernel has not changed thie has no effect, but
prevents the job from failing if it has.
2025-09-23 15:25:53 +01:00
will
819ee09af3
ci: update asan-lsan-ubsan
Github-Pull: #32989
Rebased-From: 884251441bb

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:25:52 +01:00
will
894a3cbe42
ci: update windows-cross job
Github-Pull: #32989
Rebased-From: 04e7bfbceb0

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:25:51 +01:00
will
82c60a3151
ci: port arm 32-bit job
Github-Pull: #32989
Rebased-From: f253031cb8e

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-23 15:25:50 +01:00
will
849993377d
ci: add job to determine runner type
Github-Pull: #32989
Rebased-From: cc1735d7771

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.
2025-09-23 15:25:49 +01:00
will
f9f3e8b686
ci: add Cirrus cache host
Github-Pull: #32989
Rebased-From: 020069e6b71

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.
2025-09-23 15:25:48 +01:00
will
af086431e8
ci: have base install run in right dir
Github-Pull: #32989
Rebased-From: 9c2b96e0d03

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 <youwontforgetthis@gmail.com>
2025-09-23 15:25:47 +01:00
will
0a649d07c9
ci: use docker build cache arg directly
Github-Pull: #32989
Rebased-From: 18f6be09d02

Reverts: e87429a2d0f23eb59526d335844fa5ff5b50b21f

This was added in PR #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: https://github.com/bitcoin/bitcoin/pull/31545
2025-09-23 15:25:46 +01:00
will
f3089fb2cf
ci: use buildx in ci
Github-Pull: #32989
Rebased-From: 94a09325475

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.
2025-09-23 15:25:45 +01:00
will
1faf918a16
ci: add configure-docker action
Github-Pull: #32989
Rebased-From: fdf64e55324

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.
2025-09-23 15:25:44 +01:00
will
954c1a55e4
ci: add REPO_USE_CIRRUS_RUNNERS
Github-Pull: #32989
Rebased-From: 33ba073df7a

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.
2025-09-23 15:25:43 +01:00