Skip to content

Commit 56e8e5e

Browse files
committed
Merge #91: Vendor Bitcoin Core v25.1
b656ea6 Vendor Bitcoin Core v25.1 (Tobin C. Harding) Pull request description: Run the vendoring script: `./contrib/vendor-bitcoin-core.sh v25.1` ACKs for top commit: apoelstra: ACK b656ea6 Tree-SHA512: 267780cfe3d5f6d66b8545d16b997ba2d0297c5588231e4b5ed681e672032b5c4a7cb2955076fb9b636ce654b74fea77300990ed75e450806a21feeaa67a339f
2 parents a2424ed + b656ea6 commit 56e8e5e

File tree

1,387 files changed

+170164
-140366
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,387 files changed

+170164
-140366
lines changed

depend/bitcoin-HEAD-revision.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# This file was automatically created by vendor-bitcoin-core.sh
2-
d3a352256064d62a3e2e2d054ffa0faecb49dd71
2+
7da4ae1f78ab4f6c8b19c8ca89bd6b2a6c4836ea

depend/bitcoin/.cirrus.yml

Lines changed: 70 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
env: # Global defaults
2+
CIRRUS_CLONE_DEPTH: 1
23
PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y"
34
MAKEJOBS: "-j10"
45
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
@@ -27,8 +28,9 @@ base_template: &BASE_TEMPLATE
2728
# Unconditionally install git (used in fingerprint_script).
2829
- bash -c "$PACKAGE_MANAGER_INSTALL git"
2930
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
30-
- git fetch $CIRRUS_REPO_CLONE_URL "pull/${CIRRUS_PR}/merge"
31+
- git fetch --depth=1 $CIRRUS_REPO_CLONE_URL "pull/${CIRRUS_PR}/merge"
3132
- git checkout FETCH_HEAD # Use merged changes to detect silent merge conflicts
33+
# Also, the merge commit is used to lint COMMIT_RANGE="HEAD~..HEAD"
3234

3335
main_template: &MAIN_TEMPLATE
3436
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
@@ -37,25 +39,21 @@ main_template: &MAIN_TEMPLATE
3739
ci_script:
3840
- ./ci/test_run_all.sh
3941

40-
global_task_template: &GLOBAL_TASK_TEMPLATE
42+
container_depends_template: &CONTAINER_DEPENDS_TEMPLATE
4143
<< : *BASE_TEMPLATE
4244
container:
4345
# https://cirrus-ci.org/faq/#are-there-any-limits
4446
# Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel
4547
cpu: 2
4648
greedy: true
4749
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
50+
dockerfile: ci/test_imagefile # https://cirrus-ci.org/guide/docker-builder-vm/#dockerfile-as-a-ci-environment
4851
depends_built_cache:
4952
folder: "depends/built"
50-
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-list -1 HEAD ./depends)
51-
<< : *MAIN_TEMPLATE
53+
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:depends)
5254

53-
macos_native_task_template: &MACOS_NATIVE_TASK_TEMPLATE
54-
<< : *BASE_TEMPLATE
55-
check_clang_script:
56-
- clang --version
57-
brew_install_script:
58-
- brew install boost libevent qt@5 miniupnpc libnatpmp ccache zeromq qrencode libtool automake gnu-getopt
55+
global_task_template: &GLOBAL_TASK_TEMPLATE
56+
<< : *CONTAINER_DEPENDS_TEMPLATE
5957
<< : *MAIN_TEMPLATE
6058

6159
compute_credits_template: &CREDITS_TEMPLATE
@@ -64,31 +62,37 @@ compute_credits_template: &CREDITS_TEMPLATE
6462
use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'bitcoin/bitcoin' && $CIRRUS_PR != ""
6563

6664
task:
67-
name: 'lint [bionic]'
65+
name: 'lint [bookworm]'
6866
<< : *BASE_TEMPLATE
6967
container:
70-
image: ubuntu:bionic # For python 3.6, oldest supported version according to doc/dependencies.md
68+
image: debian:bookworm
7169
cpu: 1
7270
memory: 1G
7371
# For faster CI feedback, immediately schedule the linters
7472
<< : *CREDITS_TEMPLATE
73+
python_cache:
74+
folder: "/tmp/python"
75+
fingerprint_script: cat .python-version /etc/os-release
76+
unshallow_script:
77+
- git fetch --unshallow --no-tags
7578
lint_script:
7679
- ./ci/lint_run_all.sh
7780
env:
7881
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
7982

8083
task:
81-
name: 'tidy [jammy]'
84+
name: 'tidy [lunar]'
8285
<< : *GLOBAL_TASK_TEMPLATE
8386
container:
84-
image: ubuntu:jammy
8587
cpu: 2
8688
memory: 5G
89+
docker_arguments:
90+
CI_IMAGE_NAME_TAG: ubuntu:lunar
91+
FILE_ENV: "./ci/test/00_setup_env_native_tidy.sh"
8792
# For faster CI feedback, immediately schedule the linters
8893
<< : *CREDITS_TEMPLATE
8994
env:
9095
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
91-
FILE_ENV: "./ci/test/00_setup_env_native_tidy.sh"
9296

9397
task:
9498
name: "Win64 native [vs2022]"
@@ -101,7 +105,7 @@ task:
101105
env:
102106
PATH: 'C:\jom;C:\Python39;C:\Python39\Scripts;C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin;%PATH%'
103107
PYTHONUTF8: 1
104-
CI_VCPKG_TAG: '2022.06.16.1'
108+
CI_VCPKG_TAG: '2023.01.09'
105109
VCPKG_DOWNLOADS: 'C:\Users\ContainerAdministrator\AppData\Local\vcpkg\downloads'
106110
VCPKG_DEFAULT_BINARY_CACHE: 'C:\Users\ContainerAdministrator\AppData\Local\vcpkg\archives'
107111
CCACHE_DIR: 'C:\Users\ContainerAdministrator\AppData\Local\ccache'
@@ -114,7 +118,7 @@ task:
114118
QT_CONFIGURE_COMMAND: '..\configure -release -silent -opensource -confirm-license -opengl desktop -static -static-runtime -mp -qt-zlib -qt-pcre -qt-libpng -nomake examples -nomake tests -nomake tools -no-angle -no-dbus -no-gif -no-gtk -no-ico -no-icu -no-libjpeg -no-libudev -no-sql-sqlite -no-sql-odbc -no-sqlite -no-vulkan -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip doc -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtlottie -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquick3d -skip qtquickcontrols -skip qtquickcontrols2 -skip qtquicktimeline -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns -no-openssl -no-feature-bearermanagement -no-feature-printdialog -no-feature-printer -no-feature-printpreviewdialog -no-feature-printpreviewwidget -no-feature-sql -no-feature-sqlmodel -no-feature-textbrowser -no-feature-textmarkdownwriter -no-feature-textodfwriter -no-feature-xml'
115119
IgnoreWarnIntDirInTempDetected: 'true'
116120
merge_script:
117-
- PowerShell -NoLogo -Command if ($env:CIRRUS_PR -ne $null) { git fetch $env:CIRRUS_REPO_CLONE_URL pull/$env:CIRRUS_PR/merge; git checkout FETCH_HEAD; }
121+
- PowerShell -NoLogo -Command if ($env:CIRRUS_PR -ne $null) { git fetch $env:CIRRUS_REPO_CLONE_URL pull/$env:CIRRUS_PR/merge; git reset --hard FETCH_HEAD; }
118122
msvc_qt_built_cache:
119123
folder: "%QTBASEDIR%"
120124
reupload_on_changes: false
@@ -152,7 +156,7 @@ task:
152156
ccache_cache:
153157
folder: '%CCACHE_DIR%'
154158
install_tools_script:
155-
- choco install --yes --no-progress ccache --version=4.6.1
159+
- choco install --yes --no-progress ccache --version=4.7.4
156160
- choco install --yes --no-progress python3 --version=3.9.6
157161
- pip install zmq
158162
- ccache --version
@@ -171,20 +175,20 @@ task:
171175
- cd %CIRRUS_WORKING_DIR%
172176
- ccache --zero-stats --max-size=%CCACHE_SIZE%
173177
- python build_msvc\msvc-autogen.py
174-
- msbuild build_msvc\bitcoin.sln -property:CLToolExe=%WRAPPED_CL% -property:Configuration=Release -maxCpuCount -verbosity:minimal -noLogo
178+
- msbuild build_msvc\bitcoin.sln -property:CLToolExe=%WRAPPED_CL%;UseMultiToolTask=true;Configuration=Release -maxCpuCount -verbosity:minimal -noLogo
175179
- ccache --show-stats
176-
unit_tests_script:
180+
check_script:
177181
- src\test_bitcoin.exe -l test_suite
178-
- src\bench_bitcoin.exe > NUL
182+
- src\bench_bitcoin.exe --sanity-check
179183
- python test\util\test_runner.py
180184
- python test\util\rpcauth-test.py
181185
functional_tests_script:
182186
# Increase the dynamic port range to the maximum allowed value to mitigate "OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted".
183-
# See: https://docs.microsoft.com/en-us/biztalk/technical-guides/settings-that-can-be-modified-to-improve-network-performance
187+
# See: https://learn.microsoft.com/en-us/biztalk/technical-guides/settings-that-can-be-modified-to-improve-network-performance
184188
- netsh int ipv4 set dynamicport tcp start=1025 num=64511
185189
- netsh int ipv6 set dynamicport tcp start=1025 num=64511
186190
# Exclude feature_dbcrash for now due to timeout
187-
- python test\functional\test_runner.py --nocleanup --ci --quiet --combinedlogslen=4000 --jobs=4 --timeout-factor=8 --extended --exclude feature_dbcrash
191+
- python test\functional\test_runner.py --nocleanup --ci --quiet --combinedlogslen=99999999 --jobs=6 --timeout-factor=8 --extended --exclude feature_dbcrash
188192

189193
task:
190194
name: 'ARM [unit tests, no functional tests] [bullseye]'
@@ -193,27 +197,33 @@ task:
193197
docker_arguments:
194198
CI_IMAGE_NAME_TAG: debian:bullseye
195199
FILE_ENV: "./ci/test/00_setup_env_arm.sh"
200+
<< : *CREDITS_TEMPLATE
196201
env:
197202
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
198203

199204
task:
200205
name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]'
201206
<< : *GLOBAL_TASK_TEMPLATE
202207
container:
203-
image: ubuntu:jammy
208+
docker_arguments:
209+
CI_IMAGE_NAME_TAG: ubuntu:jammy
210+
FILE_ENV: "./ci/test/00_setup_env_win64.sh"
211+
<< : *CREDITS_TEMPLATE
204212
env:
205213
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
206-
FILE_ENV: "./ci/test/00_setup_env_win64.sh"
207214

208215
task:
209216
name: '32-bit + dash [gui] [CentOS 8]'
210217
<< : *GLOBAL_TASK_TEMPLATE
211218
container:
212-
image: quay.io/centos/centos:stream8
219+
docker_arguments:
220+
CI_IMAGE_NAME_TAG: quay.io/centos/centos:stream8
221+
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"
222+
# For faster CI feedback, immediately schedule one task that runs all tests
223+
<< : *CREDITS_TEMPLATE
213224
env:
214225
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
215226
PACKAGE_MANAGER_INSTALL: "yum install -y"
216-
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"
217227

218228
task:
219229
name: '[previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [buster]'
@@ -226,24 +236,27 @@ task:
226236
FILE_ENV: "./ci/test/00_setup_env_native_qt5.sh"
227237

228238
task:
229-
name: '[TSan, depends, gui] [jammy]'
239+
name: '[TSan, depends, gui] [lunar]'
230240
<< : *GLOBAL_TASK_TEMPLATE
231241
container:
232-
image: ubuntu:jammy
233242
cpu: 6 # Increase CPU and Memory to avoid timeout
234243
memory: 24G
244+
docker_arguments:
245+
CI_IMAGE_NAME_TAG: ubuntu:lunar
246+
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"
247+
<< : *CREDITS_TEMPLATE
235248
env:
236249
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
237-
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"
238250

239251
task:
240-
name: '[MSan, depends] [focal]'
252+
name: '[MSan, depends] [lunar]'
241253
<< : *GLOBAL_TASK_TEMPLATE
242254
container:
243-
image: ubuntu:focal
255+
docker_arguments:
256+
CI_IMAGE_NAME_TAG: ubuntu:lunar
257+
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"
244258
env:
245259
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
246-
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"
247260
MAKEJOBS: "-j4" # Avoid excessive memory use due to MSan
248261

249262
task:
@@ -265,56 +278,67 @@ task:
265278
MAKEJOBS: "-j4" # Avoid excessive memory use
266279

267280
task:
268-
name: '[fuzzer,address,undefined,integer, no depends] [jammy]'
281+
name: '[fuzzer,address,undefined,integer, no depends] [lunar]'
269282
<< : *GLOBAL_TASK_TEMPLATE
270283
container:
271-
image: ubuntu:jammy
272284
cpu: 4 # Increase CPU and memory to avoid timeout
273285
memory: 16G
286+
docker_arguments:
287+
CI_IMAGE_NAME_TAG: ubuntu:lunar
288+
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"
274289
env:
275290
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
276-
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"
277291

278292
task:
279293
name: '[multiprocess, i686, DEBUG] [focal]'
280294
<< : *GLOBAL_TASK_TEMPLATE
281295
container:
282-
image: ubuntu:focal
283296
cpu: 4
284297
memory: 16G # The default memory is sometimes just a bit too small, so double everything
298+
docker_arguments:
299+
CI_IMAGE_NAME_TAG: ubuntu:focal
300+
FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh"
285301
env:
286302
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
287-
FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh"
288303

289304
task:
290-
name: '[no wallet, libbitcoinkernel] [bionic]'
305+
name: '[no wallet, libbitcoinkernel] [focal]'
291306
<< : *GLOBAL_TASK_TEMPLATE
292307
container:
293-
image: ubuntu:bionic
308+
docker_arguments:
309+
CI_IMAGE_NAME_TAG: ubuntu:focal
310+
FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
311+
<< : *CREDITS_TEMPLATE
294312
env:
295313
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
296-
FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
297314

298315
task:
299316
name: 'macOS 10.15 [gui, no tests] [focal]'
300-
<< : *BASE_TEMPLATE
317+
<< : *CONTAINER_DEPENDS_TEMPLATE
318+
container:
319+
docker_arguments:
320+
CI_IMAGE_NAME_TAG: ubuntu:focal
321+
FILE_ENV: "./ci/test/00_setup_env_mac.sh"
322+
<< : *CREDITS_TEMPLATE
301323
macos_sdk_cache:
302324
folder: "depends/SDKs/$MACOS_SDK"
303325
fingerprint_key: "$MACOS_SDK"
304326
<< : *MAIN_TEMPLATE
305-
container:
306-
image: ubuntu:focal
307327
env:
308328
MACOS_SDK: "Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
309329
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
310-
FILE_ENV: "./ci/test/00_setup_env_mac.sh"
311330

312331
task:
313332
name: 'macOS 13 native arm64 [gui, sqlite only] [no depends]'
314333
macos_instance:
315334
# Use latest image, but hardcode version to avoid silent upgrades (and breaks)
316335
image: ghcr.io/cirruslabs/macos-ventura-xcode:14.1 # https://cirrus-ci.org/guide/macOS
317-
<< : *MACOS_NATIVE_TASK_TEMPLATE
336+
<< : *BASE_TEMPLATE
337+
check_clang_script:
338+
- clang --version
339+
brew_install_script:
340+
- brew install boost libevent qt@5 miniupnpc libnatpmp ccache zeromq qrencode libtool automake gnu-getopt
341+
<< : *MAIN_TEMPLATE
318342
env:
319343
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
320344
CI_USE_APT_INSTALL: "no"

depend/bitcoin/.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)