Skip to content

Conversation

@maflcko
Copy link
Member

@maflcko maflcko commented Sep 25, 2025

Fixes #33437

Historically, the centos task was added to add CI coverage for old packages and 32-bit depends builds, but both are now covered by different tasks.

The CentOS task aligns with Ubuntu/Debian CI tasks in terms of libc usage, but (slightly) differs in package naming and update philosophy. I am not aware of the task ever discovering a centos-related issue, so it seems fine to recycle it into an Alpine Linux task.

The main difference would be that musl libc is now used. Also, busybox is used in Alpine, so in theory the busybox install could be removed from the arm CI task in the future.

Packaging considerations: All packages should roughly be the same (gcc remains at version 14, python remains at version 3.12, etc). Also, all packages are from the Alpine main track, coming with 2 years of support. The only exception is the py3-pip package (https://pkgs.alpinelinux.org/packages?name=py3-pip&branch=v3.22&repo=&arch=riscv64) from the community track, however, I don't expect any issues arising from that.

@DrahtBot DrahtBot added the Tests label Sep 25, 2025
@DrahtBot
Copy link
Contributor

DrahtBot commented Sep 25, 2025

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33480.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK janb84, willcl-ark
Concept ACK RandyMcMillan, dergoegge

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #bitcoin-core/gui/896 (rpcconsole: display signet challenge by RandyMcMillan)
  • #33562 (DRAFT: add a freebsd job using systemlibs by willcl-ark)
  • #33514 (Clear out space on GHA jobs by willcl-ark)
  • #31349 (ci: detect outbound internet traffic generated while running tests by vasild)

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.

@willcl-ark
Copy link
Member

Concept ACK

@maflcko
Copy link
Member Author

maflcko commented Sep 25, 2025

Interesting side note: Looks like most unit tests are minimally faster on Alpine, except for the secp tests:

https://github.com/bitcoin/bitcoin/actions/runs/18007497948/job/51231174310?pr=33480#step:9:3415:

148/150 Test   #4: secp256k1_noverify_tests .............   Passed   38.88 sec
149/150 Test   #5: secp256k1_tests ......................   Passed   57.62 sec

https://github.com/bitcoin/bitcoin/actions/runs/18007193787/job/51230198016#step:9:2625 :

145/150 Test   #4: secp256k1_noverify_tests .............   Passed   12.96 sec
148/150 Test   #5: secp256k1_tests ......................   Passed   26.79 sec

@janb84
Copy link
Contributor

janb84 commented Sep 25, 2025

So Centos as CI task was not added to give good RHEL distro / Enterprise Linux support ?

@maflcko
Copy link
Member Author

maflcko commented Sep 25, 2025

So Centos as CI task was not added to give good RHEL distro / Enterprise Linux support ?

No, as mentioned in the pull description. For reference, the history was:

Copy link
Contributor

@janb84 janb84 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concept ACK fa6b2e9

This PR introduces more libc diversity in the CI pipeline (in the form of using Alpine), which is welcome.

Not completely agreeing with this PR sentence;

"So basically, the centos task is similar to all the Ubuntu/Debian CI tasks, possibly with some packages named slightly differently. "

Yes and No; (Risk of being too much of a nitpicker.)

  • Yes from a Libc perspective; Centos is glibc and Debian is also glibc

  • No from a distro philosophy; Ubuntu/Debian and RHEL distro's are different in philosophy REHL is slower, more enterprise-focused. But do we need it as a CI step ? no as you mentioned, it does not give us new information.

There for this seems like a good improvement.

Also thanks for the extensive answer.

@maflcko
Copy link
Member Author

maflcko commented Sep 25, 2025

nitpicker

No worries. Happy to adjust the pull description, if you have any suggestions I could take over.

@maflcko
Copy link
Member Author

maflcko commented Sep 25, 2025

Also confirmed that the gcc debug mode works on alpine: https://github.com/maflcko/bitcoin-core-with-ci/actions/runs/18013008390/job/51250509812#step:8:2473 :

/usr/include/c++/14.2.0/debug/vector:508:
In function:
    constexpr std::debug::vector<_Tp, _Allocator>::reference std::
    debug::vector<_Tp, _Allocator>::operator[](size_type) [with _Tp = 
    CTxOut; _Allocator = std::allocator<CTxOut>; reference = CTxOut&; 
    size_type = long unsigned int]

Error: attempt to subscript container with out-of-bounds index 3, but 
container only holds 3 elements.

Objects involved in the operation:
    sequence "this" @ 0x7fffcfe17008 {
      type = std::debug::vector<CTxOut, std::allocator<CTxOut> >;
    }

@janb84
Copy link
Contributor

janb84 commented Sep 26, 2025

nitpicker

No worries. Happy to adjust the pull description, if you have any suggestions I could take over.

How about something like this:

The CentOS task aligns with Ubuntu/Debian CI tasks in terms of libc usage, but (slightly) differs in package naming and update philosophy. I am not aware of the task ever discovering a centos-related issue, so it seems fine to recycle it into an Alpine Linux task.

@maflcko
Copy link
Member Author

maflcko commented Sep 26, 2025

thx, edited description

Copy link
Contributor

@janb84 janb84 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK fa6b2e9

This PR introduces more libc diversity in the CI pipeline (in the form of using Alpine), which is welcome.

@RandyMcMillan
Copy link
Contributor

Concept ACK

@RandyMcMillan
Copy link
Contributor

tACK


It may be worth mentioning that this change fixed an issue (I was unable to isolate) on CentOS using HexStr() formatting a custom signetchallenge to display in the rpcconsole.

@maflcko
Copy link
Member Author

maflcko commented Sep 29, 2025

It may be worth mentioning that this change fixed an issue (I was unable to isolate) on CentOS using HexStr() formatting a custom signetchallenge to display in the rpcconsole.

That is unrelated to both this pull request and your pull request, see #33293.

Copy link
Member

@willcl-ark willcl-ark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK fa6b2e9

Alpine/musl feels much more useful to me than a frozen-in-time CentOS build.

Not tested locally as I'm a bit bandwidth-contrained at the moment, but the code changes and CI look good to me.

Copy link
Contributor

@janb84 janb84 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reACK 444409f

changes since last ACK:

  • changed container size to md. CI still works with this size. ✅

@DrahtBot DrahtBot requested a review from willcl-ark September 29, 2025 10:48
Copy link
Member

@willcl-ark willcl-ark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 444409f

This took 29 minutes for an alpine depends, gui build, with no docker/ccache/depends caches (as no merges to master yet) which seems in line with other jobs.

@maflcko
Copy link
Member Author

maflcko commented Oct 2, 2025

Another (tiny) benefit of this pull request is that the task will now finally be able to run on my riscv64 box (modulo the two python wheels)

@dergoegge
Copy link
Member

Concept ACK

@fanquake fanquake merged commit ea17618 into bitcoin:master Oct 15, 2025
20 checks passed
@maflcko maflcko deleted the 2509-ci-alpine branch October 15, 2025 10:01
Raimo33 pushed a commit to Raimo33/bitcoinknots that referenced this pull request Oct 17, 2025
TheCharlatan added a commit to TheCharlatan/rust-bitcoinkernel that referenced this pull request Oct 29, 2025
…a43dc365c

1ea43dc365c kernel: Add Purpose section to header documentation
6fb86d14a3e kernel: Allowing reducing exports
0a3644da67e kernel: Add pure kernel bitcoin-chainstate
bb7276e1a72 Kernel: Add functions for working with outpoints
5ef72e7c44b kernel: Add block hash type and block tree utility functions to C header
43b7b7b9d28 kernel: Add function to read block undo data from disk to C header
06a485c9ab1 kernel: Add functions to read block from disk to C header
69c184b44f9 kernel: Add function for copying block data to C header
0e973b20fcc kernel: Add functions for the block validation state to C header
6c2181dc52f kernel: Add validation interface to C header
4d8aa6b3fb1 kernel: Add interrupt function to C header
2ecd926cf30 kernel: Add import blocks function to C header
efcfe2dfedf kernel: Add chainstate load options for in-memory dbs in C header
bc6788ab7dc kernel: Add options for reindexing in C header
e8f2f4fe225 kernel: Add block validation to C header
ffd4ae233ee kernel: Add chainstate loading when instantiating a ChainstateManager
1167af89a8f kernel: Add chainstate manager option for setting worker threads
b88637f6967 kernel: Add chainstate manager object to C header
b4ff3ce0d34 kernel: Add notifications context option to C header
e3d62c1ad32 kernel: Add chain params context option to C header
a184a263df2 kernel: Add kernel library context object
776c879eaf7 kernel: Add logging to kernel library C header
e3b2e01811f kernel: Introduce initial kernel C header API
3bb30658e63 Merge bitcoin/bitcoin#32380: Modernize use of UTF-8 in Windows code
5a58d4915e5 Merge bitcoin/bitcoin#33546: test: add functional test for `TestShell` (matching doc example)
1abc8fa308d Merge bitcoin/bitcoin#33218: refactor: rename `fees.{h,cpp}` to `fees/block_policy_estimator.{h,cpp}`
de15e52f09d Merge bitcoin/bitcoin#32867: doc: mention key removal in rpc interface modification
24434c1284b Merge bitcoin/bitcoin#31308: ci, iwyu: Treat warnings as errors for specific directories
27cd7f50494 Merge bitcoin/bitcoin#33185: guix: update time-machine to 5cb84f2013c5b1e48a7d0e617032266f1e6059e2
80bb7012be8 Merge bitcoin/bitcoin#31514: wallet: allow label for non-ranged external descriptor (if `internal=false`) & disallow label for ranged descriptors
5e1f626ac30 Merge bitcoin/bitcoin#32504: test: descriptor: cover invalid multi/multi_a cases
56e9703968e Merge bitcoin/bitcoin#29640: Fix tiebreak when loading blocks from disk (and add tests for comparing chain ties)
9bd9ec00b23 Merge bitcoin/bitcoin#33688: test: Update BIP324 test vectors
1a7fb5eeeef fees: return current block height in estimateSmartFee
ab49480d9be fees: rename fees_args to block_policy_estimator_args
06db08a4356 fees: refactor: rename fees to block_policy_estimator
6dfdd7e034d fees: refactor: rename policy_fee_tests.cpp to feerounder_tests.cpp
f54ffb4bc14 Merge bitcoin/bitcoin#32813: clang-format: make formatting deterministic for different formatter versions
1916c51cd85 Merge bitcoin/bitcoin#33210: fuzz: enhance wallet_fees by mocking mempool stuff
0eb554728ca Merge bitcoin/bitcoin#33336: log: print every script verification state change
c6c4edf324a Merge bitcoin/bitcoin#32983: rpc: refactor: use string_view in Arg/MaybeArg
00ad998d954 Merge bitcoin/bitcoin#33252: p2p: add `DifferenceFormatter` fuzz target and invariant check
f6ba97cea1d Merge bitcoin/bitcoin#33666: ci: Drop libFuzzer from msan fuzz task
af78d365129 Merge bitcoin/bitcoin#32588: util: Abort on failing CHECK_NONFATAL in debug builds
51877f2fc5e test: Update BIP324 test vectors
161864a038e Merge bitcoin/bitcoin#32579: p2p: Correct unrealistic headerssync unit test behavior
70a6fb5e5ab Merge bitcoin/bitcoin#33172: test: p2p block malleability
99cb2054bdf Merge bitcoin/bitcoin#33600: refactor: Construct g_verify_flag_names on first use
211bf6c9750 Merge bitcoin/bitcoin#33566: miner: fix empty mempool case for waitNext()
944e5ff848f doc: mention key removal in rpc interface modification
d32f9525e48 Merge bitcoin/bitcoin#33679: test: set number of RPC server threads to 2
1c85d062321 Merge bitcoin/bitcoin#32266: depends: Avoid `warning: "_FORTIFY_SOURCE" redefined` for `libevent`
11684c9ce2c Merge bitcoin/bitcoin#33674: ci: Doc ASLR workaround for sanitizer tasks
e9cd45e3d3c test: set number of RPC server threads to 2
7d27af98c7c Merge bitcoin/bitcoin#33461: ci: add Valgrind fuzz
1569bcc387f Merge bitcoin/bitcoin#33639: ci: Only write docker build images to Cirrus cache
98c4994d0f3 Merge bitcoin/bitcoin#33570: randomenv: Fix MinGW dllimport warning for `environ`
c211d183221 Merge bitcoin/bitcoin#33670: test: Use unassigned p2p_port instead of hardcoded 60000 in p2p_i2p_ports.py
e4b04630bcf ci: add Valgrind fuzz
3fee0754a2e Merge bitcoin/bitcoin#33550: Fix windows libc++ `fs::path` `fstream` compile errors
fa0e36156cb ci: Doc ASLR workaround for sanitizer tasks
fa20275db32 test: Use unassigned p2p_port instead of hardcoded 60000 in p2p_i2p_ports.py
c862936d16a Merge bitcoin/bitcoin#33370: ci: use Mold linker for asan-lsan-ubsan-integer-no-depends-usdt workflow
fabe0e07de1 ci: Only write docker build images to Cirrus cache
fab64a5d6fd ci: Move buildx command to python script
fa72a2bd5c8 ci: Remove unused MAYBE_CPUSET
fa70e23de75 ci: Drop libFuzzer from msan fuzz task
abe7cbfe1a4 Merge bitcoin/bitcoin#33470: build: Move CMAKE_SKIP_INSTALL_RPATH from CMake to Guix script
689ec28d1d1 Merge bitcoin/bitcoin#33633: test: [move-only] binary utils to utils.py
0eeae4d174a Merge bitcoin/bitcoin#33625: Update secp256k1 subtree to latest master
4b41f99d57d build: Move CMAKE_SKIP_INSTALL_RPATH from CMake to Guix script
d30f149360d Merge bitcoin/bitcoin#33630: doc: correct topology requirements in submitpackage helptext
3d222825642 [doc] correct topology requirements in submitpackage helptext
e744fd1249b Merge bitcoin/bitcoin#33641: Update leveldb subtree to latest master
4371740bebf Merge bitcoin/bitcoin#33642: doc: archive release notes for v28.3
ceea24b9215 doc: archive release notes for v28.3
54ffe3de5b1 Update leveldb subtree to latest master
f21162d8193 Squashed 'src/leveldb/' changes from aba469ad6a..cad64b151d
e14451ac873 Merge bitcoin/bitcoin#33469: TxGraph: change m_excluded_clusters
f76e1ae3899 Merge bitcoin/bitcoin#32313: coins: fix `cachedCoinsUsage` accounting in `CCoinsViewCache`
59c4898994b guix: remove python-pydantic-core input from LIEF
9f2a6927d3a guix: use Clang & LLVM 19 for macOS build
9570ddbec9c guix: update time-machine to 5cb84f2013c5b1e48a7d0e617032266f1e6059e2
7b5cc276aa0 guix: patch around riscv issue with newer (2.40+) binutils
91b5cbaabbc ci: use Debian Trixie for macOS cross job
fa75ef4328f test: Move export_env_build_path to util.py
fa9f495308a test: Move get_binary_paths and Binaries to util.py
40e7d4cd0d7 Merge bitcoin/bitcoin#33549: ci: Add macOS cross task for arm64-apple-darwin
ea17618c116 Merge bitcoin/bitcoin#33480: ci: Turn CentOS config into Alpine musl config
b1f8a13702e Merge bitcoin/bitcoin#33624: test: P2SH sig ops are only counted with `SCRIPT_VERIFY_P2SH`
879c21045eb Update secp256k1 subtree to latest master
3cbf7cb3e6a Squashed 'src/secp256k1/' changes from b9313c6e1a..d543c0d917
2f7a50f67cd Merge bitcoin/bitcoin#33462: ci: add libcpp hardening flags to macOS fuzz job
48aa0e98d0b Merge bitcoin/bitcoin#29675: wallet: Be able to receive and spend inputs involving MuSig2 aggregate keys
db4bde0b034 Merge bitcoin/bitcoin#33517: multiprocess: Fix high overhead from message logging
3a10d700bc1 test: P2SH sig ops are only counted with `SCRIPT_VERIFY_P2SH` flag
9314113b295 Merge bitcoin/bitcoin#33610: doc: archive release notes for v29.2
9b43428c968 TxGraph: change m_excluded_clusters
6e1adbbaa15 Merge bitcoin/bitcoin#33612: test: change log rate limit version gate
fdcf67de803 Merge bitcoin/bitcoin#33157: cluster mempool: control/optimize TxGraph memory usage
7b544341c00 test: change log rate limit version gate from 299900 to 290100
9610b0d1e28 randomenv: Fix MinGW dllimport warning for `environ`
6c4fe401e90 Merge bitcoin/bitcoin#33508: ci: fix buildx gha cache authentication on forks
8f7673257a1 miner: fix empty mempool case for waitNext()
c11a3dcc889 doc: archive release notes for v29.2
64a7c7cbb97 Merge bitcoin/bitcoin#33558: ci: Use native platform for win-cross task
93b56e95c02 Merge bitcoin/bitcoin#33601: doc: archive release notes for v30.0
563747971be Merge bitcoin/bitcoin#33580: depends: Use $(package)_file_name when downloading from the fallback
24d861da789 coins: only adjust `cachedCoinsUsage` on `EmplaceCoinInternalDANGER` insert
d7c9d6c2914 coins: fix `cachedCoinsUsage` accounting to prevent underflow
39cf8bb3d0d refactor: remove redundant usage tracking from `CoinsViewCacheCursor`
67cff8bec90 refactor: assert newly-created parent cache entry has zero memory usage
023cd5a5469 txgraph: add SingletonClusterImpl (mem optimization)
e3462507325 txgraph: give Clusters a range of intended tx counts (preparation)
e93b0f09cc2 txgraph: abstract out creation of empty Clusters (refactor)
6baf12621f6 txgraph: comment fixes (doc fix)
726b995739a txgraph: make Cluster an abstract class (refactor)
2602d89edd0 txgraph: avoid accessing other Cluster internals (refactor)
04c808ac4c4 txgraph: expose memory usage estimate function (feature)
7680bb8fd48 txgraph: keep track of Cluster memory usage (preparation)
4ba562e5f4e txgraph: keep data structures compact (mem optimization)
bb5cb222ae5 depgraph: add memory usage control (feature)
b1637a90deb txgraph: avoid holes in DepGraph positions (mem optimization)
2b1d3025087 txgraph: move some sanity checks from Cluster to TxGraphImpl (refactor)
d40302fbaf4 txgraph: Make level of Cluster implicit (optimization)
8d6e49158e3 doc: archive release notes for v30.0
0626b90f507 multiprocess: align our logging with libmultiprocess's
9d068225ee2 multiprocess: update multiprocess EventLoop construction to use options
d2987102dd1 Merge bitcoin/bitcoin#33573: doc: bump the template macOS version
f6567527d8d doc: bump the template macOS version
faa9d10c84b refactor: Construct g_verify_flag_names on first use
becf1500131 Merge bitcoin/bitcoin#33518: Update libmultiprocess subtree to support reduced logging
cd1b7fa1ff7 Merge bitcoin/bitcoin#33577: Revert "depends: Update URL for `qrencode` package source tarball"
6b4a92b0fab Merge bitcoin/bitcoin#33568: doc: how to update a subtree
90b2884ce4b Merge bitcoin/bitcoin#33581: ci: Properly include $FILE_ENV in DEPENDS_HASH
d44b860cd09 Merge bitcoin/bitcoin#33584: ci: upgrade GitHub Action to download-artifact@v5
57f7c68821d test: add functional test for `TestShell` (matching doc example)
53874f7934d doc: test: update TestShell example instructions/options
b35341b9ba6 Update ci.yml
ceeb53adcd0 ci: Properly include $FILE_ENV in DEPENDS_HASH
671b774d1b5 depends: Use $(package)_file_name when downloading from the fallback
e4335a31920 Revert "depends: Update URL for `qrencode` package source tarball"
a89a822e6eb Revert "depends: Use hash instead of file name for package download stamp"
fad5a7101cc ci: Add macOS cross task for arm64
fa8c750a0af ci: Refactor get_previous_releases step in win-test-cross task
e4c04f7759b ci: add libcpp hardening flags to macOS fuzz job
a1226bc760c doc: how to update a subtree
eda91b07fd9 Merge commit '0f01e1577f7c6734eb345139a12aba329ef22a5f' into pr/subtree-6
0f01e1577f7 Squashed 'src/ipc/libmultiprocess/' changes from 47d79db8a552..a4f929696490
fa6fd16f36e ci: Use native platform for win-cross task
53e4951a5b5 Switch to ANSI Windows API in `fsbridge::fopen()` function
dbe770d9210 Switch to ANSI Windows API in `Win32ErrorString()` function
06d0be4e22c Remove no longer necessary `WinCmdLineArgs` class
f366408492f cmake: Set process code page to UTF-8 on Windows
dccbb178065 Set minimum supported Windows version to 1903 (May 2019 Update)
c864a4c1940 Simplify fs::path by dropping filename() and make_preferred() overloads
b0113afd44b Fix windows libc++ fs::path fstream compile errors
b63428ac9ce rpc: refactor: use more (Maybe)Arg<std::string_view>
037830ca0db refactor: increase string_view usage
b3bf18f0bac rpc: refactor: use string_view in Arg/MaybeArg
45bd8914658 log: split assumevalid ancestry-failure-reason message
6c13a38ab51 log: separate script verification reasons
f2ea6f04e79 refactor: untangle assumevalid decision branches
9bc298556cb validation: log initial script verification state
4fad4e992c4 test: add assumevalid scenarios scaffold
ac599c4a9cb test: Test MuSig2 in the wallet
68ef954c4c5 wallet: Keep secnonces in DescriptorScriptPubKeyMan
4a273edda0e sign: Create MuSig2 signatures for known MuSig2 aggregate keys
258db938899 sign: Add CreateMuSig2AggregateSig
bf69442b3f5 sign: Add CreateMuSig2PartialSig
512b17fc56e sign: Add CreateMuSig2Nonce
82ea67c607c musig: Add MuSig2AggregatePubkeys variant that validates the aggregate
d99a081679e psbt: MuSig2 data in Fill/FromSignatureData
4d8b4f53363 signingprovider: Add musig2 secnonces
c06a1dc86ff Add MuSig2SecNonce class for secure allocation of musig nonces
9baff05e494 sign: Include taproot output key's KeyOriginInfo in sigdata
4b24bfeab9d pubkey: Return tweaks from BIP32 derivation
bc706955d74 ci: expose all ACTIONS_* vars
444409ff2b7 ci: Reduce Alpine musl task to md runner size
fa6b2e9efec ci: Turn centos config into alpine musl config
91ac64b0a66 log: reword `signature validations` to `script verification` in `assumevalid` log
f14876213aa musig: Move synthetic xpub construction to its own function
f031536f2d2 ci: use Mold linker for asan-lsan-ubsan-integer-no-depends-usdt workflow
cc5dda1de33 headerssync: Make HeadersSyncState more flexible and move constants
8fd1c2893e6 test(headerssync): Test returning of pow_validated_headers behavior
7b00643ef5f test(headerssync): headers_sync_chainwork test improvements
04eeb9578c6 doc(test): Improve comments
fe896f8faa7 refactor(test): Store HeadersSyncState on the stack
f03686892a9 refactor(test): Break up headers_sync_state
e984618d0b9 refactor(headerssync): Process spans of headers
a4ac9915a95 refactor(headerssync): Extract test constants ahead of breakup into functions
02d2b5a11c9 ci, iwyu: Treat warnings as errors for specific directories
57a3eac387b refactor: Fix includes in `index` directory
bdb8eadcdc1 refactor: Fix includes in `crypto` directory
56f2a689a20 ci: Do not patch `leveldb` to workaround UB in "tidy" CI job
65a10fc3c52 p2p: add assertion for BlockTransactionsRequest indexes
58be359f6b2 fuzz: add a target for DifferenceFormatter Class
13f36c020f0 clang-format: regenerate configs
5ded99a7f00 fuzz: MockMempoolMinFee in wallet_fees
c9a7a198d9e test: move MockMempoolMinFee to util/txmempool
adf67eb21ba fuzz: create FeeEstimatorTestingSetup to set fee_estimator
ff10a37e992 fuzz: mock CBlockPolicyEstimator in wallet_fuzz
f591c3becaf fees: make estimateSmartFee/HighestTargetTracked virtual for mocking
d0e1bbad016 test: repeat block malleability test with relayable block over P2P
19273d0705f fuzz: set mempool options in wallet_fees
fb8720f1e09 sign: Refactor Schnorr sighash computation out of CreateSchnorrSig
a4cfddda644 tests: Clarify why musig derivation adds a pubkey and xpub
39a63bf2e7e descriptors: Add a doxygen comment for has_hardened output_parameter
2320184d0ea descriptors: Fix meaning of any_key_parsed
0465574c127 test: Fixes send_blocks_and_test docs
09c95f21e71 test: Adds block tiebreak over restarts tests
18524b072e6 Make nSequenceId init value constants
8b91883a23a Set the same best tip on restart if two candidates have the same work
5370bed21e0 test: add functional test for complex reorgs
ab145cb3b47 Updates CBlockIndexWorkComparator outdated comment
fa37153288c util: Abort on failing CHECK_NONFATAL in debug builds
fa0dc4bdffb test: Allow testing of check failures
faeb58fe668 refactor: Set G_ABORT_ON_FAILED_ASSUME when G_FUZZING_BUILD
58e55b17e63 test: descriptor: cover invalid multi/multi_a cases
664657ed134 bugfix: disallow label for ranged descriptors & allow external non-ranged descriptors to have label
fe71a4b139f depends: Avoid `warning: "_FORTIFY_SOURCE" redefined` for `libevent`
REVERT: 20be96ee696 kernel: Fix bitcoin-chainstate for windows
REVERT: db5bc2b0968 kernel: Add Purpose section to header documentation
REVERT: e5ddd70c24d kernel: Allowing reducing exports
REVERT: 740f2ef7686 kernel: Add pure kernel bitcoin-chainstate
REVERT: c89b59fc686 Kernel: Add functions for working with outpoints
REVERT: f82d691fba5 kernel: Add block hash type and block tree utility functions to C header
REVERT: cd70f570ec6 kernel: Add function to read block undo data from disk to C header
REVERT: 301c10f598d kernel: Add functions to read block from disk to C header
REVERT: 7092fee527a kernel: Add function for copying block data to C header
REVERT: 91a51d249f8 kernel: Add functions for the block validation state to C header
REVERT: 8cdd29f3c22 kernel: Add validation interface to C header
REVERT: a4652f7897e kernel: Add interrupt function to C header
REVERT: 40004832679 kernel: Add import blocks function to C header
REVERT: d775ba66670 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: d26192373b6 kernel: Add options for reindexing in C header
REVERT: 803e0de7aaa kernel: Add block validation to C header
REVERT: 781c7af4e2d kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: f9bf4d9b313 kernel: Add chainstate manager option for setting worker threads
REVERT: 3270c0615a7 kernel: Add chainstate manager object to C header
REVERT: 0ac5368b3df kernel: Add notifications context option to C header
REVERT: b47496af140 kernel: Add chain params context option to C header
REVERT: 92f54852259 kernel: Add kernel library context object
REVERT: 3204110daee kernel: Add logging to kernel library C header
REVERT: aba7824242d kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 1ea43dc365c277f519f30f55dae6b0899e611765
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: add an Alpine (musl libc) job

7 participants