diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3801c187faa07..1f0819198341f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -131,7 +131,7 @@ jobs: include: - job-type: standard file-env: './ci/test/00_setup_env_mac_native.sh' - job-name: 'macOS native, no depends, sqlite only, gui' + job-name: 'macOS native' - job-type: fuzz file-env: './ci/test/00_setup_env_mac_native_fuzz.sh' job-name: 'macOS native, fuzz' @@ -331,7 +331,7 @@ jobs: py -3 test/fuzz/test_runner.py --par $NUMBER_OF_PROCESSORS --loglevel DEBUG "${RUNNER_TEMP}/qa-assets/fuzz_corpora" windows-cross: - name: 'Linux->Windows cross, no tests' + name: 'Windows-cross to x86_64' needs: runners runs-on: ${{ needs.runners.outputs.provider == 'cirrus' && 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm' || 'ubuntu-24.04' }} if: ${{ vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request' }} @@ -366,6 +366,7 @@ jobs: with: name: x86_64-w64-mingw32-executables-${{ github.run_id }} path: | + ${{ env.BASE_BUILD_DIR }}/bin/*.dll ${{ env.BASE_BUILD_DIR }}/bin/*.exe ${{ env.BASE_BUILD_DIR }}/src/secp256k1/bin/*.exe ${{ env.BASE_BUILD_DIR }}/src/univalue/*.exe @@ -461,7 +462,7 @@ jobs: fail-fast: false matrix: include: - - name: '32 bit ARM, unit tests, no functional tests' + - name: '32 bit ARM' cirrus-runner: 'ubuntu-24.04-arm' # Cirrus' Arm runners are Apple (with virtual Linux aarch64), which doesn't support 32-bit mode fallback-runner: 'ubuntu-24.04-arm' timeout-minutes: 120 @@ -486,13 +487,13 @@ jobs: timeout-minutes: 120 file-env: './ci/test/00_setup_env_mac_cross_intel.sh' - - name: 'No wallet, libbitcoinkernel' + - name: 'No wallet' cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm' fallback-runner: 'ubuntu-24.04' timeout-minutes: 120 - file-env: './ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh' + file-env: './ci/test/00_setup_env_native_nowallet.sh' - - name: 'no IPC, i686, DEBUG' + - name: 'i686, no IPC' cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md' fallback-runner: 'ubuntu-24.04' timeout-minutes: 120 @@ -516,7 +517,7 @@ jobs: timeout-minutes: 120 file-env: './ci/test/00_setup_env_native_previous_releases.sh' - - name: 'Alpine (musl), depends, gui' + - name: 'Alpine (musl)' cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md' fallback-runner: 'ubuntu-24.04' timeout-minutes: 120 @@ -528,7 +529,7 @@ jobs: timeout-minutes: 120 file-env: './ci/test/00_setup_env_native_tidy.sh' - - name: 'TSan, depends, no gui' + - name: 'TSan' cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md' fallback-runner: 'ubuntu-24.04' timeout-minutes: 120 @@ -540,7 +541,7 @@ jobs: timeout-minutes: 150 file-env: './ci/test/00_setup_env_native_fuzz_with_msan.sh' - - name: 'MSan, depends' + - name: 'MSan' cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-lg' fallback-runner: 'ubuntu-24.04' timeout-minutes: 120 diff --git a/ci/test/00_setup_env_arm.sh b/ci/test/00_setup_env_arm.sh index 12ec71b8df582..46b3df8b32226 100755 --- a/ci/test/00_setup_env_arm.sh +++ b/ci/test/00_setup_env_arm.sh @@ -20,6 +20,7 @@ export CI_LIMIT_STACK_SIZE=1 # -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1" # This could be removed once the ABI change warning does not show up by default export BITCOIN_CONFIG=" \ + --preset=dev-mode \ -DREDUCE_EXPORTS=ON \ -DCMAKE_CXX_FLAGS='-Wno-psabi -Wno-error=maybe-uninitialized' \ " diff --git a/ci/test/00_setup_env_i686_no_ipc.sh b/ci/test/00_setup_env_i686_no_ipc.sh index 4da38d9bb999c..c32e68cb75bc6 100755 --- a/ci/test/00_setup_env_i686_no_ipc.sh +++ b/ci/test/00_setup_env_i686_no_ipc.sh @@ -16,6 +16,8 @@ export GOAL="install" export CI_LIMIT_STACK_SIZE=1 export TEST_RUNNER_EXTRA="--v2transport --usecli" export BITCOIN_CONFIG="\ + --preset=dev-mode \ + -DENABLE_IPC=OFF \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_C_COMPILER='clang;-m32' \ -DCMAKE_CXX_COMPILER='clang++;-m32' \ diff --git a/ci/test/00_setup_env_mac_cross.sh b/ci/test/00_setup_env_mac_cross.sh index c7de033472176..5b33c127f049b 100755 --- a/ci/test/00_setup_env_mac_cross.sh +++ b/ci/test/00_setup_env_mac_cross.sh @@ -17,4 +17,8 @@ export XCODE_BUILD_ID=15A240d export RUN_UNIT_TESTS=false export RUN_FUNCTIONAL_TESTS=false export GOAL="deploy" -export BITCOIN_CONFIG="-DBUILD_GUI=ON -DBUILD_KERNEL_LIB=ON -DREDUCE_EXPORTS=ON" +export BITCOIN_CONFIG="\ + --preset=dev-mode \ + -DWITH_USDT=OFF \ + -DREDUCE_EXPORTS=ON \ +" diff --git a/ci/test/00_setup_env_mac_cross_intel.sh b/ci/test/00_setup_env_mac_cross_intel.sh index 535b801bf5605..28eb7a09bd79b 100755 --- a/ci/test/00_setup_env_mac_cross_intel.sh +++ b/ci/test/00_setup_env_mac_cross_intel.sh @@ -17,4 +17,8 @@ export XCODE_BUILD_ID=15A240d export RUN_UNIT_TESTS=false export RUN_FUNCTIONAL_TESTS=false export GOAL="deploy" -export BITCOIN_CONFIG="-DBUILD_GUI=ON -DREDUCE_EXPORTS=ON" +export BITCOIN_CONFIG="\ + --preset=dev-mode \ + -DWITH_USDT=OFF \ + -DREDUCE_EXPORTS=ON \ +" diff --git a/ci/test/00_setup_env_mac_native.sh b/ci/test/00_setup_env_mac_native.sh index 41b97b02f1cca..a9b4d5c8c2e57 100755 --- a/ci/test/00_setup_env_mac_native.sh +++ b/ci/test/00_setup_env_mac_native.sh @@ -10,8 +10,13 @@ export CONTAINER_NAME="ci_mac_native" # macos does not use a container, but the export PIP_PACKAGES="--break-system-packages pycapnp zmq" export GOAL="install deploy" export CMAKE_GENERATOR="Ninja" -export BITCOIN_CONFIG="-DBUILD_GUI=ON -DWITH_ZMQ=ON -DBUILD_KERNEL_LIB=ON -DBUILD_UTIL_CHAINSTATE=ON -DBUILD_KERNEL_TEST=ON -DREDUCE_EXPORTS=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-stack_size -Wl,0x80000'" export CI_OS_NAME="macos" export NO_DEPENDS=1 export OSX_SDK="" +export BITCOIN_CONFIG="\ + --preset=dev-mode \ + -DWITH_USDT=OFF \ + -DREDUCE_EXPORTS=ON \ + -DCMAKE_EXE_LINKER_FLAGS='-Wl,-stack_size -Wl,0x80000' \ +" export BITCOIN_CMD="bitcoin -m" # Used in functional tests diff --git a/ci/test/00_setup_env_native_alpine_musl.sh b/ci/test/00_setup_env_native_alpine_musl.sh index 2de2a16b5c7f0..ce7614ab48246 100755 --- a/ci/test/00_setup_env_native_alpine_musl.sh +++ b/ci/test/00_setup_env_native_alpine_musl.sh @@ -13,8 +13,7 @@ export PIP_PACKAGES="--break-system-packages pyzmq pycapnp" export DEP_OPTS="DEBUG=1" export GOAL="install" export BITCOIN_CONFIG="\ - -DWITH_ZMQ=ON \ - -DBUILD_GUI=ON \ + --preset=dev-mode \ -DREDUCE_EXPORTS=ON \ -DCMAKE_BUILD_TYPE=Debug \ " diff --git a/ci/test/00_setup_env_native_msan.sh b/ci/test/00_setup_env_native_msan.sh index 4ff82614e9de9..c0559fc69cc83 100755 --- a/ci/test/00_setup_env_native_msan.sh +++ b/ci/test/00_setup_env_native_msan.sh @@ -22,6 +22,8 @@ export CI_LIMIT_STACK_SIZE=1 # Setting CMAKE_{C,CXX}_FLAGS_DEBUG flags to an empty string ensures that the flags set in MSAN_FLAGS remain unaltered. # _FORTIFY_SOURCE is not compatible with MSAN. export BITCOIN_CONFIG="\ + --preset=dev-mode \ + -DBUILD_GUI=OFF \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_C_FLAGS_DEBUG='' \ -DCMAKE_CXX_FLAGS_DEBUG='' \ diff --git a/ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh b/ci/test/00_setup_env_native_nowallet.sh similarity index 76% rename from ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh rename to ci/test/00_setup_env_native_nowallet.sh index 104177794160e..28446a705dc34 100755 --- a/ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh +++ b/ci/test/00_setup_env_native_nowallet.sh @@ -6,11 +6,15 @@ export LC_ALL=C.UTF-8 -export CONTAINER_NAME=ci_native_nowallet_libbitcoinkernel +export CONTAINER_NAME=ci_native_nowallet export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04" # Use minimum supported python3.10 (or best-effort 3.12) and clang-17, see doc/dependencies.md export PACKAGES="python3-zmq python3-pip clang-17 llvm-17 libc++abi-17-dev libc++-17-dev" export PIP_PACKAGES="--break-system-packages pycapnp" export DEP_OPTS="NO_WALLET=1 CC=clang-17 CXX='clang++-17 -stdlib=libc++'" export GOAL="install" -export BITCOIN_CONFIG="-DREDUCE_EXPORTS=ON -DBUILD_UTIL_CHAINSTATE=ON -DBUILD_KERNEL_LIB=ON -DBUILD_KERNEL_TEST=ON -DBUILD_SHARED_LIBS=ON" +export BITCOIN_CONFIG="\ + --preset=dev-mode \ + -DREDUCE_EXPORTS=ON \ + -DENABLE_WALLET=OFF \ +" diff --git a/ci/test/00_setup_env_native_tsan.sh b/ci/test/00_setup_env_native_tsan.sh index bf4b68412b2c8..b0429ce8fe792 100755 --- a/ci/test/00_setup_env_native_tsan.sh +++ b/ci/test/00_setup_env_native_tsan.sh @@ -16,6 +16,10 @@ export PIP_PACKAGES="--break-system-packages pycapnp" export DEP_OPTS="CC=clang CXX=clang++ CXXFLAGS='${LIBCXX_FLAGS}' NO_QT=1" export GOAL="install" export CI_LIMIT_STACK_SIZE=1 -export BITCOIN_CONFIG="-DWITH_ZMQ=ON -DSANITIZERS=thread \ --DAPPEND_CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKCONTENTION -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES'" +export BITCOIN_CONFIG="\ + --preset=dev-mode \ + -DBUILD_GUI=OFF \ + -DSANITIZERS=thread \ + -DAPPEND_CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKCONTENTION -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES' \ +" export USE_INSTRUMENTED_LIBCPP="Thread" diff --git a/ci/test/00_setup_env_native_valgrind.sh b/ci/test/00_setup_env_native_valgrind.sh index d6c45755df252..884bc3955c287 100755 --- a/ci/test/00_setup_env_native_valgrind.sh +++ b/ci/test/00_setup_env_native_valgrind.sh @@ -17,5 +17,7 @@ export TEST_RUNNER_EXTRA="--exclude rpc_bind,feature_bind_extra" export GOAL="install" # TODO enable GUI export BITCOIN_CONFIG="\ - -DWITH_ZMQ=ON -DBUILD_GUI=OFF \ + --preset=dev-mode \ + -DBUILD_GUI=OFF \ + -DWITH_USDT=OFF \ " diff --git a/ci/test/00_setup_env_s390x.sh b/ci/test/00_setup_env_s390x.sh index b84d99076ea95..b7d23fbf5ed3e 100755 --- a/ci/test/00_setup_env_s390x.sh +++ b/ci/test/00_setup_env_s390x.sh @@ -14,4 +14,7 @@ export CI_IMAGE_PLATFORM="linux/s390x" export TEST_RUNNER_EXTRA="--exclude rpc_bind,feature_bind_extra" # Excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547 export RUN_FUNCTIONAL_TESTS=true export GOAL="install" -export BITCOIN_CONFIG="-DREDUCE_EXPORTS=ON" +export BITCOIN_CONFIG="\ + --preset=dev-mode \ + -DREDUCE_EXPORTS=ON \ +" diff --git a/ci/test/00_setup_env_win64.sh b/ci/test/00_setup_env_win64.sh index 110db1a8f1e66..3a349105e06bf 100755 --- a/ci/test/00_setup_env_win64.sh +++ b/ci/test/00_setup_env_win64.sh @@ -13,6 +13,10 @@ export PACKAGES="g++-mingw-w64-x86-64-posix nsis" export RUN_UNIT_TESTS=false export RUN_FUNCTIONAL_TESTS=false export GOAL="deploy" -export BITCOIN_CONFIG="-DREDUCE_EXPORTS=ON -DBUILD_GUI_TESTS=OFF -DBUILD_KERNEL_LIB=ON -DBUILD_KERNEL_TEST=ON \ +export BITCOIN_CONFIG="\ + --preset=dev-mode \ + -DENABLE_IPC=OFF \ + -DWITH_USDT=OFF \ + -DREDUCE_EXPORTS=ON \ -DCMAKE_CXX_FLAGS='-Wno-error=maybe-uninitialized' \ "