Skip to content

Commit ba77b83

Browse files
committed
Merge branch 'bitcoin' into auxpow
2 parents a124ae5 + 0eeae4d commit ba77b83

File tree

96 files changed

+3852
-978
lines changed

Some content is hidden

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

96 files changed

+3852
-978
lines changed

.github/actions/configure-docker/action.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,12 @@ runs:
2222
uses: actions/github-script@v6
2323
with:
2424
script: |
25-
core.exportVariable('ACTIONS_CACHE_URL', process.env['ACTIONS_CACHE_URL'])
26-
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env['ACTIONS_RUNTIME_TOKEN'])
25+
Object.keys(process.env).forEach(function (key) {
26+
if (key.startsWith('ACTIONS_')) {
27+
core.info(`Exporting ${key}`);
28+
core.exportVariable(key, process.env[key]);
29+
}
30+
});
2731
2832
- name: Construct docker build cache args
2933
shell: bash

.github/workflows/ci.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -432,8 +432,7 @@ jobs:
432432
echo "PREVIOUS_RELEASES_DIR=${{ runner.temp }}/previous_releases" >> "$GITHUB_ENV"
433433
434434
- name: Get previous releases
435-
working-directory: test
436-
run: ./get_previous_releases.py --target-dir $PREVIOUS_RELEASES_DIR
435+
run: ./test/get_previous_releases.py --target-dir $PREVIOUS_RELEASES_DIR
437436

438437
- name: Run functional tests
439438
env:
@@ -471,12 +470,18 @@ jobs:
471470
timeout-minutes: 120
472471
file-env: './ci/test/00_setup_env_native_asan.sh'
473472

474-
- name: 'macOS-cross, gui, no tests'
473+
- name: 'macOS-cross to arm64'
475474
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm'
476475
fallback-runner: 'ubuntu-24.04'
477476
timeout-minutes: 120
478477
file-env: './ci/test/00_setup_env_mac_cross.sh'
479478

479+
- name: 'macOS-cross to x86_64'
480+
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm'
481+
fallback-runner: 'ubuntu-24.04'
482+
timeout-minutes: 120
483+
file-env: './ci/test/00_setup_env_mac_cross_intel.sh'
484+
480485
- name: 'No wallet, libbitcoinkernel'
481486
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm'
482487
fallback-runner: 'ubuntu-24.04'
@@ -501,11 +506,11 @@ jobs:
501506
timeout-minutes: 120
502507
file-env: './ci/test/00_setup_env_native_previous_releases.sh'
503508

504-
- name: 'CentOS, depends, gui'
505-
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-lg'
509+
- name: 'Alpine (musl), depends, gui'
510+
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md'
506511
fallback-runner: 'ubuntu-24.04'
507512
timeout-minutes: 120
508-
file-env: './ci/test/00_setup_env_native_centos.sh'
513+
file-env: './ci/test/00_setup_env_native_alpine_musl.sh'
509514

510515
- name: 'tidy'
511516
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md'

ci/test/00_setup_env_mac_cross.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export SDK_URL=${SDK_URL:-https://bitcoincore.org/depends-sources/sdks}
1010

1111
export CONTAINER_NAME=ci_macos_cross
1212
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
13-
export HOST=x86_64-apple-darwin
13+
export HOST=arm64-apple-darwin
1414
export PACKAGES="clang lld llvm zip"
1515
export XCODE_VERSION=15.0
1616
export XCODE_BUILD_ID=15A240d
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) 2019-present The Bitcoin Core developers
4+
# Distributed under the MIT software license, see the accompanying
5+
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
6+
7+
export LC_ALL=C.UTF-8
8+
9+
export SDK_URL=${SDK_URL:-https://bitcoincore.org/depends-sources/sdks}
10+
11+
export CONTAINER_NAME=ci_macos_cross_intel
12+
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
13+
export HOST=x86_64-apple-darwin
14+
export PACKAGES="clang lld llvm zip"
15+
export XCODE_VERSION=15.0
16+
export XCODE_BUILD_ID=15A240d
17+
export RUN_UNIT_TESTS=false
18+
export RUN_FUNCTIONAL_TESTS=false
19+
export GOAL="deploy"
20+
export BITCOIN_CONFIG="-DBUILD_GUI=ON -DREDUCE_EXPORTS=ON"

ci/test/00_setup_env_mac_native_fuzz.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
88

99
export CONTAINER_NAME="ci_mac_native_fuzz" # macos does not use a container, but the env var is needed for logging
1010
export CMAKE_GENERATOR="Ninja"
11-
export BITCOIN_CONFIG="-DBUILD_FOR_FUZZING=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-stack_size -Wl,0x80000'"
11+
export BITCOIN_CONFIG="-DBUILD_FOR_FUZZING=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-stack_size -Wl,0x80000' -DAPPEND_CPPFLAGS='-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG'"
1212
export CI_OS_NAME="macos"
1313
export NO_DEPENDS=1
1414
export OSX_SDK=""

ci/test/00_setup_env_native_centos.sh renamed to ci/test/00_setup_env_native_alpine_musl.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66

77
export LC_ALL=C.UTF-8
88

9-
export CONTAINER_NAME=ci_native_centos
10-
export CI_IMAGE_NAME_TAG="quay.io/centos/centos:stream10"
11-
export CI_BASE_PACKAGES="gcc-c++ glibc-devel libstdc++-devel ccache make ninja-build git python3 python3-pip which patch xz procps-ng rsync coreutils bison e2fsprogs cmake dash"
12-
export PIP_PACKAGES="pyzmq pycapnp"
9+
export CONTAINER_NAME=ci_native_alpine_musl
10+
export CI_IMAGE_NAME_TAG="mirror.gcr.io/alpine:3.22"
11+
export CI_BASE_PACKAGES="build-base musl-dev pkgconf curl ccache make ninja git python3 py3-pip which patch xz procps rsync util-linux bison e2fsprogs cmake dash linux-headers"
12+
export PIP_PACKAGES="--break-system-packages pyzmq pycapnp"
1313
export DEP_OPTS="DEBUG=1"
1414
export GOAL="install"
1515
export BITCOIN_CONFIG="\

ci/test/00_setup_env_win64.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ export LC_ALL=C.UTF-8
88

99
export CONTAINER_NAME=ci_win64
1010
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04" # Check that https://packages.ubuntu.com/noble/g++-mingw-w64-x86-64-posix (version 13.x, similar to guix) can cross-compile
11-
export CI_IMAGE_PLATFORM="linux/amd64"
1211
export HOST=x86_64-w64-mingw32
1312
export PACKAGES="g++-mingw-w64-x86-64-posix nsis"
1413
export RUN_UNIT_TESTS=false

ci/test/01_base_install.sh

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,17 @@ if [ -n "${APT_LLVM_V}" ]; then
3232
)
3333
fi
3434

35-
if [[ $CI_IMAGE_NAME_TAG == *centos* ]]; then
36-
bash -c "dnf -y install epel-release"
37-
# The ninja-build package is available in the CRB repository.
38-
bash -c "dnf -y --allowerasing --enablerepo crb install $CI_BASE_PACKAGES $PACKAGES"
35+
if [[ $CI_IMAGE_NAME_TAG == *alpine* ]]; then
36+
${CI_RETRY_EXE} apk update
37+
# shellcheck disable=SC2086
38+
${CI_RETRY_EXE} apk add --no-cache $CI_BASE_PACKAGES $PACKAGES
3939
elif [ "$CI_OS_NAME" != "macos" ]; then
4040
if [[ -n "${APPEND_APT_SOURCES_LIST}" ]]; then
4141
echo "${APPEND_APT_SOURCES_LIST}" >> /etc/apt/sources.list
4242
fi
4343
${CI_RETRY_EXE} apt-get update
44-
${CI_RETRY_EXE} bash -c "apt-get install --no-install-recommends --no-upgrade -y $PACKAGES $CI_BASE_PACKAGES"
44+
# shellcheck disable=SC2086
45+
${CI_RETRY_EXE} apt-get install --no-install-recommends --no-upgrade -y $PACKAGES $CI_BASE_PACKAGES
4546
fi
4647

4748
if [ -n "${APT_LLVM_V}" ]; then

ci/test/03_test_script.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ else
9999
fi
100100

101101
if [ -z "$NO_DEPENDS" ]; then
102-
if [[ $CI_IMAGE_NAME_TAG == *centos* ]]; then
103-
SHELL_OPTS="CONFIG_SHELL=/bin/dash"
102+
if [[ $CI_IMAGE_NAME_TAG == *alpine* ]]; then
103+
SHELL_OPTS="CONFIG_SHELL=/usr/bin/dash"
104104
else
105105
SHELL_OPTS="CONFIG_SHELL="
106106
fi

ci/test_imagefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@ ENV BASE_ROOT_DIR=${BASE_ROOT_DIR}
1717
COPY ./ci/retry/retry /usr/bin/retry
1818
COPY ./ci/test/00_setup_env.sh ./${FILE_ENV} ./ci/test/01_base_install.sh /ci_container_base/ci/test/
1919

20+
# Bash is required, so install it when missing
21+
RUN sh -c "bash -c 'true' || ( apk update && apk add --no-cache bash )"
22+
2023
RUN ["bash", "-c", "cd /ci_container_base/ && set -o errexit && source ./ci/test/00_setup_env.sh && ./ci/test/01_base_install.sh"]

0 commit comments

Comments
 (0)