Commit Graph

353 Commits

Author SHA1 Message Date
David Gumberg
ecdf9db906 test: get_previous_releases.py use PREVIOUS_RELEASES_DIR
`test_framework.py` already uses `PREVIOUS_RELEASES_DIR` to set a
default directory to find previous releases, so should
`get_previous_releases.py` when fetching them.

This is more convenient for local development when using multiple
worktrees where having `$PREVIOUS_RELEASES_DIR` set is useful.

Also allows some CI code to get deleted.
2026-09-09 10:16:16 -07:00
Hennadii Stepanov
1f5c46f7ce Merge bitcoin/bitcoin#35931: ci: Check DLL imports of cross-built bitcoind.exe
67fee5bf44 ci: Check DLL imports of cross-built `bitcoind.exe` (Hennadii Stepanov)

Pull request description:

  Run `dumpbin.exe /imports` on the cross-built `bitcoind.exe` in the "Windows, test cross-built" jobs to list the imported DLLs and to ensure the executable is linked against the expected C runtime.

  This came up during a discussion in https://github.com/bitcoin/bitcoin/pull/35877 ([here](https://github.com/bitcoin/bitcoin/pull/35877#pullrequestreview-4882577358) and [here](https://github.com/bitcoin/bitcoin/pull/35877#issuecomment-5217049246)). Inspired by the analogous CI steps in https://github.com/hebasto/bitcoin-core-nightly.

ACKs for top commit:
  maflcko:
    lgtm ACK 67fee5bf44
  jeanpablojp:
    ACK 67fee5bf44

Tree-SHA512: 3cf054b5c76d5e536f7419ab87e3bc30afea30760fbb3112789a9930098350c0f40ea2c2de4c5b2d1123f1eb58a02aeca28c87461966cf072c3dc86e1b1f106f
2026-08-12 09:55:57 +01:00
merge-script
757aa573c4 Merge bitcoin/bitcoin#33186: wallet, test: Ancient Wallet Migration from v0.14.3 (no-HD and Single Chain)
ea59f17220 test: cover v0.14.3 wallet migration (w0xlt)
18b8afd093 test: support v0.14.x in dumb_sync_blocks (w0xlt)

Pull request description:

  This PR adds test coverage for migrating legacy Bitcoin Core wallets from v0.14.3 (released in 2017) to the descriptor wallet format. The test validates that users can safely upgrade their wallets while preserving all funds, transaction history, and addresses.

  This test was originally developed on top of #32977, as it was requested in reviews.
  However, since it also increases test coverage, it can be merged independently.

  The test covers two wallet migration scenarios:

  * Non-HD Wallet Migration - Tests migration of non-HD wallets (created with `-usehd=0`)
  * Single Chain HD Wallet Migration - Tests migration of HD wallets from v0.14.3 (`VERSION_HD_BASE`)

  The node v0.14.3 cannot be synced using the normal test framework helpers because it does not have the `syncwithvalidationinterfacequeue` RPC, so the test uses `dumb_sync_blocks` to submit blocks from the ancient node to the modern node before migrating the wallet.

  Each scenario uses its own dedicated old/new node pair, which keeps the setup isolated and makes this testing best managed in a separate file rather than in the existing migration test files.

  On the Windows cross-built CI job, this test is excluded from the main functional test runner and re-run sequentially in an ASCII-only tmpdir, because the v0.14.3 binary cannot handle non-ASCII characters in the temporary directory path.

ACKs for top commit:
  furszy:
    utACK ea59f17220
  pablomartin4btc:
    reACK ea59f17220

Tree-SHA512: 35ef7173e10fe52f20db0d6d1f144c5a1343ff406d294ab7d0e346d79546797f3f145f2893d99bb7b57d71aa14580690ab80eae148ec94b91498eb0938b2d15e
2026-08-10 21:51:17 +02:00
Hennadii Stepanov
67fee5bf44 ci: Check DLL imports of cross-built bitcoind.exe
Run `dumpbin.exe /imports` on the cross-built `bitcoind.exe` in the
"Windows, test cross-built" jobs to list the imported DLLs and to
ensure the executable is linked against the expected C runtime.
2026-08-07 15:37:49 +01:00
will
81fcecfe45 Revert "ci: Temporarily remove riscv32 config from GHA matrix"
This reverts commit fa06ea4244.
2026-08-06 12:56:33 +01:00
w0xlt
ea59f17220 test: cover v0.14.3 wallet migration
Test migratewallet on v0.14.3 non-HD and single-chain HD wallets in both
unencrypted and encrypted configurations.

Verify balances, transaction history, address ownership, descriptor
structure, encryption enforcement, backup creation, and the absence of
rescans or unexpected auxiliary wallets.

Run the test with an ASCII-only temporary directory in the Windows
cross-build job because the v0.14.3 binary cannot handle the Unicode
runner path.
2026-08-05 12:50:22 -07:00
MarcoFalke
fa06ea4244 ci: Temporarily remove riscv32 config from GHA matrix
It fails due to https://github.com/bitcoin/bitcoin/issues/35853.

It can be added back when the issue is addressed.
2026-08-04 07:45:21 +02:00
Hennadii Stepanov
f3f302150b ci: Put space and non-ASCII char in BASE_BUILD_DIR
The GHA workflows override `BASE_BUILD_DIR`, so the build tree no longer
lives under `BASE_SCRATCH_DIR` and its word-splitting and UTF-8 coverage
is bypassed on CI. Restore it by putting a space and a non-ASCII symbol
in the externally defined path as well.
2026-07-21 20:25:22 +01:00
fanquake
c43b7a1115 ci: add netBSD cross CI job
Use 11.0rc6, as the 10.x sysroot ships with a GCC that is too old to
have bitset, source_location etc.
2026-07-09 09:14:16 +01:00
Ava Chow
62f9089343 Merge bitcoin/bitcoin#35386: doc: add an AI contribution policy
31abaa264c doc: add an AI contribution policy (will)

Pull request description:

  This policy, adapted from ripgrep, f0cec341ab/AI_POLICY.md who in turn adapted it from uv c5187e200d/AI_POLICY.md, works as a reasonable and pragmatic AI contribution policy at this point in time.

  It codifies roughly how the project is currently operating, it's expectations when Ai is being used, and what we don't wish to see.

  Link to the document directly from the new PR and issue helptext.

ACKs for top commit:
  Sjors:
    re-ACK 31abaa264c
  achow101:
    ACK 31abaa264c
  sedited:
    Re-ACK 31abaa264c
  l0rinc:
    ACK 31abaa264c

Tree-SHA512: 667bda2d02717889ee6878438b4e4c7155025ae6933ac748b49f7ca2a04c94515bdd04d522a778828995c3e328780521c1734dd0d8cca4711a702fc9f242756f
2026-07-07 13:30:13 -07:00
will
31abaa264c doc: add an AI contribution policy
Document project expectations for AI-assisted contributions so contributors
understand when AI use is acceptable and when it creates review or moderation
burden.

Link to the document directly from the new PR and issues helptext.
2026-07-02 23:54:43 +01:00
fanquake
9a25bc3989 ci: use a 8x instance over 16x 2026-07-02 11:37:19 +01:00
merge-script
9871dc7ab4 Merge bitcoin/bitcoin#31425: CI: Add Riscv bare metal job
b36730a3ef  Add CI job for riscv bare metal (TheCharlatan)
bfdbf513f6 Add CI job for producing a static bare metal binary (TheCharlatan)
a9a1d92a1d build: Add option for building for bare metal envs (TheCharlatan)

Pull request description:

  This adds a CI job for building the static consensus library and linking it to an executable. It uses newlib-cygwin as a C library for the final linking step. This ensure compatibility with this target going forward and can serve as a starting point for enabling bare metal builds for the entire kernel library. This would have also caught the error fixed in #31365.

ACKs for top commit:
  fanquake:
    ACK b36730a3ef
  willcl-ark:
    reACK b36730a3ef

Tree-SHA512: c199260f243e20df7f6a537e6c1eaf3d32e23f8fc78b9a8e2b75d9feff3830ef61279e93093dacdceb99e8eb010321b4c1c644e2ad9e266f0ca1ae736baa20ae
2026-07-02 10:52:13 +01:00
fanquake
d64ea15824 ci: add openBSD cross CI job 2026-06-29 10:55:27 +01:00
TheCharlatan
b36730a3ef Add CI job for riscv bare metal 2026-06-25 10:21:33 +02:00
fanquake
0443943dc0 ci: remove libevent 2026-06-23 09:25:49 +01:00
will
b552f1713a ci: use warp docker buildkit cache
This was inadvertently broken in #35441
2026-06-20 09:14:13 +01:00
merge-script
61a0305422 Merge bitcoin/bitcoin#35526: ci: bump MSan fuzz timeout from 150 to 180 minutes
17353f9d97 ci: bump MSan fuzz timeout (Sjors Provoost)

Pull request description:

  The MSan fuzz job is cutting it a bit close on forks (with no cache hits):

  Examples from `Sjors/bitcoin`:

  - PR 116 timed out after 2h30m, and would have finished ~5 mins later: https://github.com/Sjors/bitcoin/actions/runs/27465468297/job/81187008305?pr=116
  - PR 117 passed in 2h24m47s: https://github.com/Sjors/bitcoin/actions/runs/27465461797/job/81186956747?pr=117
  - PR 118 passed in 2h18m22s: https://github.com/Sjors/bitcoin/actions/runs/27465761345/job/81187860567?pr=118

  Bumping the timeout to 180 minutes should make these timeouts sufficiently rare, and not make much of a difference here.

ACKs for top commit:
  maflcko:
    lgtm ACK 17353f9d97
  sedited:
    ACK 17353f9d97

Tree-SHA512: 656881925a2e2ac763f1f76c2434afcce8284b23cc7ccc1e89e06616d4adc8d1152506689f453ffa1e3a02a9118087a0fbae92e38c9e4eed8a20f172781f48d0
2026-06-16 13:53:05 +02:00
merge-script
011ad6ea3c Merge bitcoin/bitcoin#35441: ci: inline runner selection
726e196ef2 ci: inline runner selection (will)

Pull request description:

  We are currently sometimes backlogged on waiting for runner selection.

  Selecting Warp or GitHub-hosted runners directly from the repository context avoids serializing all CI jobs behind a metadata job. This keeps forks on public runners while allowing upstream jobs to schedule immediately on the intended runner labels.

  This will make the changes needed for "a fork also wanting to use warp runners" slightly larger, but I think that number of people is zero.

ACKs for top commit:
  m3dwards:
    ACK 726e196ef2

Tree-SHA512: 14f3f22fbc53b3f65fce48bd08aef8db8d60a37409fd8b4b5b128073cf81408f7d3135c1e78fe3f93af8c88b3ee8c1b770e445b1ee7d5650ea91b329bc7ff777
2026-06-15 22:58:59 +02:00
Sjors Provoost
17353f9d97 ci: bump MSan fuzz timeout
The MSan fuzz job has little headroom on fork CI when caches miss.

Examples from Sjors/bitcoin:

- PR 116 timed out after 2h30m: https://github.com/Sjors/bitcoin/actions/runs/27465468297/job/81187008305?pr=116

- PR 117 passed in 2h24m47s: https://github.com/Sjors/bitcoin/actions/runs/27465461797/job/81186956747?pr=117

- PR 118 passed in 2h18m22s: https://github.com/Sjors/bitcoin/actions/runs/27465761345/job/81187860567?pr=118

Bump the timeout to 180 minutes to leave room for runner variance.
2026-06-13 18:10:35 +02:00
will
82901981bf ci: use Warp cache for Docker layers
Speeds of 1MB/s and 15 minute cached docker image pulls during builds
are not uncommon.

Warp runners provide a local GitHub Actions cache protocol proxy for
Docker layer cache traffic. Point BuildKit's gha cache backend at that
proxy on Warp runners so cached image layers do not have to be fetched
from GitHub's slower cache service.

Add a default for provider so other users (e.g. qa-assets) don't have to
update this unless they use custome runners.
2026-06-03 11:39:39 +01:00
will
726e196ef2 ci: inline runner selection
We are currently sometimes backlogged on waiting for runner selection.

Selecting Warp or GitHub-hosted runners directly from the repository context avoids serializing all CI jobs behind a metadata job. This keeps forks on public runners while allowing upstream jobs to schedule immediately on the intended runner labels.
2026-06-02 12:34:09 +01:00
will
2ce4ae7d8f ci: Add dynamic cache switching to warp cache
The GHA cache is very slow, taking on the order of minutes to save and
restore from.

Use WarpBuild's cache instead as this is in the same region and much
faster.

WarpBuild cache action does not auto-fallback to GHA if not being run on
Warp. To allow fork runs to fallback to GHA caching, whilst minimising
duplication in the action files, create new "interal" actions which
perform the switching logic, and use these in the (renamed) cache|save
actions.

Without this we would need the `if` logic in our prvious actions, 4
times in each of save and restore.

Plumb the provider through into the action, as a composite action can't
read `env` (`GITHUB_OUTPUT`) from previous steps.
2026-06-01 12:08:27 +01:00
fanquake
5700a61b73 ci: use ubuntu-latest instead of ubuntu-24.04
To match the usage of -latest for the warp runners.
2026-05-29 09:03:12 +01:00
merge-script
f1344e6c7f Merge bitcoin/bitcoin#35378: ci: switch to warp runners
4bdd46ace3 ci: switch runners from cirrus to warpbuild (will)

Pull request description:

  As cirrus is closing down, switch to warpbuild runners.

  Switch runner and provider names over. We now use GHA cache, so we don't need to switch that over here.

ACKs for top commit:
  m3dwards:
    ACK 4bdd46ace3
  maflcko:
    review ACK 4bdd46ace3  🤾
  hebasto:
    ACK 4bdd46ace3.

Tree-SHA512: 47ed28a6cb7ab10a973af6aa24f4f7a632f59ed17e189ae4f658de37069d763c92cc0e32769693568db6d0e5d2543abcb77bb0977f0b3f296d80a254d6bb3833
2026-05-28 17:10:21 +01:00
will
4bdd46ace3 ci: switch runners from cirrus to warpbuild 2026-05-28 09:08:46 +01:00
MarcoFalke
fab5733f5d doc: Remove good_first_issue.yml 2026-05-28 08:31:49 +02:00
merge-script
b43a936355 Merge bitcoin/bitcoin#33974: cmake: Check dependencies after build option interaction
a154c05d49 cmake: Check dependencies after build option interaction (Hennadii Stepanov)

Pull request description:

  At present, `CMakeLists.txt` interleaves configuration-option handling with dependency discovery. As a result, unnecessary checks may be performed. For example:
  ```
  $ cmake -B build --preset dev-mode -DBUILD_FOR_FUZZING=ON
  <snip>
  -- Found PkgConfig: /usr/bin/pkg-config (found version "2.3.0")
  -- Found ZeroMQ: /usr/lib64 (found suitable version "4.3.5", minimum required is "4.0.0")
  -- Performing Test HAVE_USDT_H
  -- Performing Test HAVE_USDT_H - Success
  -- Found USDT: /usr/include
  -- Found QRencode: /usr/lib64/libqrencode.so (found version "4.1.1")
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE
  -- Performing Test HAVE_STDATOMIC
  -- Performing Test HAVE_STDATOMIC - Success
  -- Found WrapAtomic: TRUE
  -- Found OpenGL: /usr/lib64/libOpenGL.so
  -- Found WrapOpenGL: TRUE
  -- Found WrapVulkanHeaders: /usr/include
  -- Found Qt: /usr/lib64/cmake/Qt6 (found suitable version "6.10.1", minimum required is "6.2")
  CMake Warning at CMakeLists.txt:206 (message):
    BUILD_FOR_FUZZING=ON will disable all other targets and force
    BUILD_FUZZ_BINARY=ON.

  <snip>
  ```

  This PR restructures the code to ensure that all dependencies are checked only after the final build option interaction.

ACKs for top commit:
  fanquake:
    ACK a154c05d49
  sedited:
    Re-ACK a154c05d49

Tree-SHA512: f863316770a1e27e6c08736932f73f297add326943e9c32c721f7e771f38b0fdc651abfed61add5ee4924cfbf2afff91fde005d41d1fd239d401184b6caf5453
2026-05-26 10:25:29 +01:00
merge-script
b9f0040caf Merge bitcoin/bitcoin#34614: ci: Put space and non-ASCII char in scratch dir
7777a92a92 ci: Use path with spaces on windows as well (MarcoFalke)
fac6c4270d ci: Put space and non-ASCII char in scratch dir (MarcoFalke)
fa38759823 ci: Require $FILE_ENV (MarcoFalke)

Pull request description:

  It seems unlikely that many users have a space in their paths, but it seems a use-case worth enough to be tested by CI, so that it does not have to be done manually. Ref https://github.com/bitcoin/bitcoin/pull/33929#discussion_r2590523065 / https://mirror.b10c.me/bitcoin-bitcoin/33929/#discussion_r2590523065

  So do that here, and also add a non-ASCII char while touching.

  Also, fix all tests that are broken and assume no space exists in paths.

ACKs for top commit:
  hebasto:
    ACK 7777a92a92.
  sedited:
    ACK 7777a92a92

Tree-SHA512: eceb1f6c932c6966cdca8ca8df750081ec5134db5e5f558f7d955716409117bec7c8585d75865e2c98bc1ae7394f3ce64dff87bcebe1e68591afaeef1831d6dd
2026-05-22 13:36:39 +02:00
merge-script
f28cd7587b Merge bitcoin/bitcoin#35348: ci: switch to GitHub cache for all runners
c03107acf5 ci: switch to GitHub cache for all runners (willcl-ark)

Pull request description:

  Cirrus is winding down, and github now offers more than 10GB cache.

  Switch to GH cache for all runner-types. Simplify configure-docker action.

ACKs for top commit:
  maflcko:
    review ACK c03107acf5 🚴

Tree-SHA512: b6111c7559a86eed8488a4b0775df812a303a99eed5c80297593936e61d1d5e2ce72fe2fa615625816672414e6947ac4d93b9fd2925522fba06417ea4711ce79
2026-05-22 11:11:28 +01:00
merge-script
033a56ccb2 Merge bitcoin/bitcoin#34342: cli: Replace libevent usage with simple http client
d61053d97b build: Drop libevent from bitcoin-cli link libraries (Fabian Jahr)
798d051c80 cli: Remove libevent usage (Fabian Jahr)
376e7ef07c util: Expose IOErrorIsPermanent in sock header (Fabian Jahr)
5d562430de netbase: Add timeout parameter to ConnectDirectly (Fabian Jahr)
a988ac592f cli: Add HTTPResponseHeaders class for parsing response headers (Fabian Jahr)
c471c5085b common: Add unused UrlEncode function (Fabian Jahr)
9687ef1bd9 ci: Tolerate unused free functions in intermediate commits (Fabian Jahr)

Pull request description:

  Part of the effort to remove the libevent dependency altogether, see #31194

  This takes the parsing logic from the [`HTTPHeaders` class](d549f01caa) from #32061 and puts it into `bitcoin-cli` as a small `HTTPResponseHeaders` class with a comment to revisit potentially sharing this code somehow. This decoupled the two pulls which seems like the most sensible way to deal with this since the actual overlap is very small compared to the impact of each of the pulls which should ideally not block each other.

  Otherwise the change itself replaces the libevent-based HTTP client with a simple synchronous implementation which uses the `Sock` class directly.

ACKs for top commit:
  hodlinator:
    re-ACK d61053d97b
  theStack:
    re-ACK d61053d97b
  w0xlt:
    ACK d61053d97b

Tree-SHA512: a3580a45faf540ee844aac8cb1dc056a89e8e11b45781d2807baa4736d5c0934284c6066206101b6984111a48a186d67845545d07639b623cb35ccc2d85d3ab2
2026-05-22 10:04:33 +01:00
willcl-ark
c03107acf5 ci: switch to GitHub cache for all runners
Cirrus is winding down and github now offers more than 10GB cache.

Switch to GH cache for all runner-types. Simplify docker build arg
construction, and reduce the number of needed action permissions.
2026-05-22 09:39:33 +01:00
Hennadii Stepanov
e4f1e43103 ci: Fix path input for vcpkg downloads cache
The `path` inputs for the `cache/save` and `cache/restore` actions must
have identical content.
2026-05-21 18:49:56 +01:00
Fabian Jahr
9687ef1bd9 ci: Tolerate unused free functions in intermediate commits
When bigger changes are split across multiple commits, intermediate
commits may introduce unused functions. Do not check for this error
in intermediate commits.
2026-05-15 23:07:47 +02:00
Hennadii Stepanov
a154c05d49 cmake: Check dependencies after build option interaction 2026-05-15 14:17:03 +01:00
MarcoFalke
7777a92a92 ci: Use path with spaces on windows as well 2026-05-14 13:11:08 +02:00
Hennadii Stepanov
09c0e37789 ci: Rename vcpkg binary cache entity to force rebuild 2026-04-13 12:32:36 +01:00
Hennadii Stepanov
dc93091083 ci: Cache vcpkg/downloads folder in native Windows CI job
The new cache is keyed with the hash of 'vcpkg.json', which reduces
cache storage consumption compared to keying by run ID.

The `vcpkg/downloads/tools` subdirectory is excluded to further save
space.
2026-04-09 15:27:52 +01:00
Hennadii Stepanov
88bbf2ad33 ci, refactor: Reuse primary key in actions/cache/save
This avoids code duplication and improves readability.
2026-04-09 15:27:45 +01:00
Hennadii Stepanov
c74c6cfd84 ci: Match VCPKG_HOST_TRIPLET to VCPKG_TARGET_TRIPLET
Using a non-default target triplet introduced a regression because
packages with `"host": true` in their vcpkg configurations were still
picking up the default `x64-windows` triplet, effectively building both
release and debug packages.

Fix this regression by setting `VCPKG_HOST_TRIPLET` explicitly.
2026-04-08 10:24:03 +01:00
Hennadii Stepanov
2b6af628b1 Merge bitcoin/bitcoin#34491: ci: add FreeBSD Clang cross job
65379bb8d0 ci: add FreeBSD cross CI job (fanquake)
f44191f163 depends: build qrencode for Freebsd (fanquake)
7f7018738e depends: FreeBSD cross with Clang (fanquake)
6464f14081 depends: disable inotify in Freebsd Qt build (fanquake)

Pull request description:

  Alternative to #33562, which was adding a native FreeBSD job; however that had issues with permissions/caching, as well as potential determinism issues. This adds a FreeBSD cross job using Linux and Clang.

  Would close #33438. The same changes here could also be used to produce FreeBSD binaries out of Guix.

ACKs for top commit:
  hebasto:
    ACK 65379bb8d0. I've cross-compiled on Ubuntu 25.10 for FreeBSD 14.4 and 15.0. The former binaries (`bitcoind`, `test_bitcoin` and `bitcoin-qt`) were tested on FreeBSD 14.4 locally.

Tree-SHA512: 52a3edaa56fe40ca901416cb9e1af04a84505526edfa7309bfa40024baa7d3b1a05303659553d9fbcf1f49d4e3d42b415a1e2523d448b22724d1415a49331259
2026-03-29 11:08:48 +01:00
fanquake
65379bb8d0 ci: add FreeBSD cross CI job 2026-03-24 11:26:23 +08:00
Hennadii Stepanov
2d5cedfe12 ci: Switch to VS-vendored vcpkg instance
The GHA Windows image contains two vcpkg installations: one vendored by
VS (`VCPKG_ROOT`) and an independent one (`VCPKG_INSTALLATION_ROOT`).
Our build documentation recommends using the VS-vendored instance to
minimize user effort. While this option previously failed to build in
the CI, forcing us to use the independent installation, it is now
working correctly.

This change removes the no-longer-needed workaround.
2026-03-20 20:44:15 +00:00
Hennadii Stepanov
9aa5b3c3a3 ci: Switch to x64-windows-release triplet
This removes the need to patch vcpkg source code to skip debug builds
for dependencies.
2026-03-20 15:04:00 +00:00
Hennadii Stepanov
65882fa68f ci: Remove upstreamed vcpkg workaround
See https://github.com/microsoft/vcpkg/pull/44712.
2026-03-20 14:50:38 +00:00
MarcoFalke
fa71c6e84c ci: Avoid intermittent Windows generate download failures 2026-03-19 09:18:45 +01:00
Ava Chow
92a3d30f38 Merge bitcoin/bitcoin#34418: qa: Make wallet_multiwallet.py Windows crossbuild-compatible
111864ac30 qa: Avoid duplicating output in case the diff is the same (Hodlinator)
c2e28d455a ci: Enable `wallet_multiwallet.py` in "Windows, test cross-built" job (Hodlinator)
850a80c199 qa: Disable parts of the test when running under Windows or root (Hodlinator)
fb803e3c79 qa: Test scanning errors individually (Hodlinator)
ed43ce57cc qa: Check for platform-independent part of error message (Hodlinator)
64a098a9b6 refactor(qa): Break apart ginormous run_test() (Hodlinator)
bb1aff7ed7 move-only(qa): Move wallet creation check down to others (Hodlinator)
d1a4ddb58e refactor(qa): Lift out functions to outer scopes (Hodlinator)
c811e47367 scripted-diff: self.nodes[0] => node (Hodlinator)
73cf858911 refactor(qa): Remove unused option (Hodlinator)

Pull request description:

  Makes the functional test compatible with *Linux->Windows cross-built executables*.

  Main parts:
  * Commit "qa: Check for platform-independent part of error message" switches to match on platform-independent part of error message.
  * Commit "qa: Test scanning errors individually" disentangles code causing the same error message substring, based on #31410.
  * Commit "qa: Disable parts of the test when running under Windows or root" enables the test to be run on Windows, based in part on https://github.com/bitcoin/bitcoin/pull/31410#issuecomment-3554721014.

  Also:
  * Removes unused option in wallet_multiwallet.py.
  * Breaks apart wallet_multiwallet.py's `run_test()` into smaller test functions.
  * Improves `assert_equal()` output for dicts.

  Fixes #31409.

ACKs for top commit:
  achow101:
    ACK 111864ac30
  janb84:
    re ACK 111864ac30
  w0xlt:
    reACK 111864ac30

Tree-SHA512: 4e3ff92588ac9f2611fc963ce62097b6c0dd4d4eb8da7952c72619c7b554ff3cae5163fe1886d4d9bbd7af1acca5b846411e7f5b46f9bddb08719b61108efbba
2026-03-13 15:45:47 -07:00
will
9a968ad35e ci: bump cirruslabs actions versions 2026-03-12 09:39:01 +00:00
MarcoFalke
fadaa7db33 ci: Bump GHA actions versions 2026-03-11 15:10:27 +01:00
merge-script
42f97c542d Merge bitcoin/bitcoin#34705: kernel: Use fs:: namespace and unicode path in kernel tests
89386e700e kernel: Use fs:: namespace and unicode path in kernel tests (sedited)

Pull request description:

  Add support for unicode characters in paths to the kernel tests by using our fs:: wrappers for std::filesystem calls and adding the windows application manifest to the binary. This exercises their handling through the kernel API.

ACKs for top commit:
  hebasto:
    ACK 89386e700e.
  w0xlt:
    ACK 89386e700e

Tree-SHA512: 7b541f482d84a66c89eec63aea0e7f7626bbbd62082ad7a7fb2c7a517296c291a6ff301c628e5e9e1d7b850ead89005141481a2bfd06d8a9081622e32f7340cc
2026-03-09 12:24:54 +00:00