Merge bitcoin/bitcoin#36052: ci: Doc: Move all config comments right next to the option they explain
What changed, and why it matters
This commit is a documentation and code-style cleanup for Bitcoin Core's continuous integration (CI) scripts. It changes how build configuration strings are formatted in shell scripts so comments can sit next to the options they describe, and it switches one fuzz-test argument handling pattern to use an array. There is no change to the Bitcoin protocol, wallet logic, networking, or any code that runs in production. It is purely a CI maintenance refactor.
No security action required. Treat as ordinary CI hygiene/cleanup.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The merge commit refactors 26 CI environment shell scripts under ci/test/. The main transformation replaces manually quoted multi-line BITCOIN_CONFIG=”…” strings with printf -v BITCOIN_CONFIG “%q ” … followed by export BITCOIN_CONFIG. This lets shellcheck accept trailing comments and keeps comments adjacent to relevant options. A second change in 03_test_script.sh converts FUZZ_TESTS_CONFIG from an unquoted word-split expansion to an eval-based argv array (FUZZ_TESTS_ARGS) to satisfy shellcheck SC2086. No runtime semantics of the build are intended to change; values are preserved but quoting is now generated by printf %q.
Changed components
ci/test/00_setup_env_*.shci/test/03_test_script.shInspect captured patch +100 / −98
### ci/test/00_setup_env_arm.sh
@@ -15,10 +15,10 @@ export CI_IMAGE_NAME_TAG="mirror.gcr.io/debian:trixie" # Check that https://pac
export CI_IMAGE_PLATFORM="linux/arm64"
export GOAL="install"
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=" \
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DREDUCE_EXPORTS=ON \
- -DCMAKE_CXX_FLAGS='-Wno-psabi -Wno-error=maybe-uninitialized' \
-"
+ `# -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` \
+ -DCMAKE_CXX_FLAGS="-Wno-psabi -Wno-error=maybe-uninitialized"
+export BITCOIN_CONFIG
### ci/test/00_setup_env_freebsd_cross.sh
@@ -26,11 +26,11 @@ export DEP_OPTS="build_CC=clang build_CXX=clang++ \
RANLIB=llvm-ranlib-${APT_LLVM_V} \
STRIP=llvm-strip-${APT_LLVM_V}"
export GOAL="install"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DCMAKE_LINKER_TYPE=LLD \
-DREDUCE_EXPORTS=ON \
- -DWITH_USDT=OFF \
-"
+ -DWITH_USDT=OFF
+export BITCOIN_CONFIG
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
### ci/test/00_setup_env_i686_no_ipc.sh
@@ -16,9 +16,9 @@ export PACKAGES="g++-i686-linux-gnu binutils-i686-linux-gnu libstdc++6:i386 liba
export DEP_OPTS="DEBUG=1 NO_IPC=1"
export GOAL="install"
export CI_LIMIT_STACK_SIZE=1
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DENABLE_IPC=OFF \
-DCMAKE_BUILD_TYPE=Debug \
- -DAPPEND_CPPFLAGS='-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE' \
-"
+ -DAPPEND_CPPFLAGS=-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE
+export BITCOIN_CONFIG
### ci/test/00_setup_env_mac_cross.sh
@@ -18,8 +18,8 @@ export OSX_SDK_SHA256=9600fa93644df674ee916b5e2c8a6ba8dacf631996a65dc922d003b98b
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
export GOAL="deploy"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DWITH_USDT=OFF \
- -DREDUCE_EXPORTS=ON \
-"
+ -DREDUCE_EXPORTS=ON
+export BITCOIN_CONFIG
### ci/test/00_setup_env_mac_cross_intel.sh
@@ -18,8 +18,8 @@ export OSX_SDK_SHA256=9600fa93644df674ee916b5e2c8a6ba8dacf631996a65dc922d003b98b
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
export GOAL="deploy"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DWITH_USDT=OFF \
- -DREDUCE_EXPORTS=ON \
-"
+ -DREDUCE_EXPORTS=ON
+export BITCOIN_CONFIG
### ci/test/00_setup_env_mac_native.sh
@@ -14,10 +14,10 @@ export CMAKE_GENERATOR="Ninja"
export CI_OS_NAME="macos"
export NO_DEPENDS=1
export OSX_SDK=""
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DWITH_USDT=OFF \
-DREDUCE_EXPORTS=ON \
- -DCMAKE_EXE_LINKER_FLAGS='-Wl,-stack_size -Wl,0x80000' \
-"
+ -DCMAKE_EXE_LINKER_FLAGS="-Wl,-stack_size -Wl,0x80000"
+export BITCOIN_CONFIG
export BITCOIN_CMD="bitcoin -m" # Used in functional tests
### ci/test/00_setup_env_mac_native_fuzz.sh
@@ -8,7 +8,11 @@ export LC_ALL=C.UTF-8
export CONTAINER_NAME="ci_mac_native_fuzz" # macos does not use a container, but the env var is needed for logging
export CMAKE_GENERATOR="Ninja"
-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'"
+printf -v BITCOIN_CONFIG "%q " \
+ -DBUILD_FOR_FUZZING=ON \
+ -DCMAKE_EXE_LINKER_FLAGS="-Wl,-stack_size -Wl,0x80000" \
+ -DAPPEND_CPPFLAGS=-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG
+export BITCOIN_CONFIG
export CI_OS_NAME="macos"
export NO_DEPENDS=1
export OSX_SDK=""
### ci/test/00_setup_env_native_alpine_musl.sh
@@ -12,10 +12,10 @@ export CI_BASE_PACKAGES="build-base musl-dev pkgconf curl ccache make ninja git
export PIP_PACKAGES="--break-system-packages pyzmq pycapnp"
export DEP_OPTS="DEBUG=1"
export GOAL="install"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DREDUCE_EXPORTS=ON \
- -DCMAKE_BUILD_TYPE=Debug \
-"
+ -DCMAKE_BUILD_TYPE=Debug
+export BITCOIN_CONFIG
export TEST_RUNNER_EXTRA="--v2transport --usecli --extended --exclude feature_dbcrash" # Run extended tests under --usecli and --v2transport, but exclude the very slow dbcrash
export BITCOIN_CMD="bitcoin -m" # Used in functional tests
### ci/test/00_setup_env_native_asan.sh
@@ -25,14 +25,14 @@ export PIP_PACKAGES="--break-system-packages pycapnp"
export NO_DEPENDS=1
export GOAL="install"
export CI_LIMIT_STACK_SIZE=1
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DSANITIZERS=address,float-divide-by-zero,integer,undefined \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
- -DCMAKE_C_FLAGS='-ftrivial-auto-var-init=pattern' \
- -DCMAKE_CXX_FLAGS='-ftrivial-auto-var-init=pattern' \
- -DCMAKE_EXE_LINKER_FLAGS='-fuse-ld=mold' \
- -DAPPEND_CXXFLAGS='-std=c++23' \
- -DAPPEND_CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' \
-"
+ -DCMAKE_C_FLAGS=-ftrivial-auto-var-init=pattern \
+ -DCMAKE_CXX_FLAGS=-ftrivial-auto-var-init=pattern \
+ -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=mold \
+ -DAPPEND_CXXFLAGS=-std=c++23 `# Use the next std version to catch deprecated code early` \
+ -DAPPEND_CPPFLAGS="-DARENA_DEBUG -DDEBUG_LOCKORDER"
+export BITCOIN_CONFIG
### ci/test/00_setup_env_native_chimera_lto.sh
@@ -16,9 +16,9 @@ export PIP_PACKAGES="--break-system-packages pyzmq pycapnp"
# NO_QT=1 because Qt needs various patches: https://github.com/chimera-linux/cports/tree/master/main/qt6-qtbase/patches
export DEP_OPTS="build_CC=clang build_CXX=clang++ build_TAR=gtar AR=llvm-ar CC=clang CXX=clang++ NM=llvm-nm RANLIB=llvm-ranlib STRIP=llvm-strip NO_QT=1"
export GOAL="install"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DBUILD_GUI=OFF \
-DREDUCE_EXPORTS=ON \
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
-"
+ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
+export BITCOIN_CONFIG
### ci/test/00_setup_env_native_fuzz.sh
@@ -16,11 +16,11 @@ export RUN_FUNCTIONAL_TESTS=false
export RUN_FUZZ_TESTS=true
export GOAL="all"
export CI_CONTAINER_CAP="--cap-add SYS_PTRACE" # If run with (ASan + LSan), the container needs access to ptrace (https://github.com/google/sanitizers/issues/764)
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
-DBUILD_FOR_FUZZING=ON \
-DSANITIZERS=fuzzer,address,undefined,float-divide-by-zero,integer \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
- -DCMAKE_C_FLAGS='-ftrivial-auto-var-init=pattern' \
- -DCMAKE_CXX_FLAGS='-ftrivial-auto-var-init=pattern' \
-"
+ -DCMAKE_C_FLAGS=-ftrivial-auto-var-init=pattern \
+ -DCMAKE_CXX_FLAGS=-ftrivial-auto-var-init=pattern
+export BITCOIN_CONFIG
### ci/test/00_setup_env_native_fuzz_with_msan.sh
@@ -17,16 +17,15 @@ export CONTAINER_NAME="ci_native_fuzz_msan"
export PACKAGES="clang-${APT_LLVM_V} llvm-${APT_LLVM_V} llvm-${APT_LLVM_V}-dev libclang-${APT_LLVM_V}-dev libclang-rt-${APT_LLVM_V}-dev"
export DEP_OPTS="DEBUG=1 NO_QT=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
export GOAL="all"
-# 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="\
+printf -v BITCOIN_CONFIG "%q " \
-DCMAKE_BUILD_TYPE=Debug \
- -DCMAKE_C_FLAGS_DEBUG='' \
- -DCMAKE_CXX_FLAGS_DEBUG='' \
+ `# Setting CMAKE_{C,CXX}_FLAGS_DEBUG flags to an empty string ensures that the flags set in MSAN_FLAGS remain unaltered` \
+ -DCMAKE_C_FLAGS_DEBUG= \
+ -DCMAKE_CXX_FLAGS_DEBUG= \
-DBUILD_FOR_FUZZING=ON \
-DSANITIZERS=memory \
- -DAPPEND_CPPFLAGS='-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -U_FORTIFY_SOURCE' \
-"
+ -DAPPEND_CPPFLAGS="-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -U_FORTIFY_SOURCE" `# _FORTIFY_SOURCE is not compatible with MSAN`
+export BITCOIN_CONFIG
export USE_INSTRUMENTED_LIBCPP="MemoryWithOrigins"
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
### ci/test/00_setup_env_native_fuzz_with_valgrind.sh
@@ -15,8 +15,8 @@ export RUN_FUNCTIONAL_TESTS=false
export RUN_FUZZ_TESTS=true
export FUZZ_TESTS_CONFIG="--valgrind"
export GOAL="all"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
-DBUILD_FOR_FUZZING=ON \
-DCMAKE_C_COMPILER=clang \
- -DCMAKE_CXX_COMPILER=clang++ \
-"
+ -DCMAKE_CXX_COMPILER=clang++
+export BITCOIN_CONFIG
### ci/test/00_setup_env_native_iwyu.sh
@@ -21,8 +21,8 @@ export RUN_IWYU=true
# for https://gitlab.kitware.com/cmake/cmake/-/work_items/27862
# and https://github.com/bitcoin-core/libmultiprocess/issues/284.
export GOAL="codegen bitcoin_node_raw_data_headers mp_headers mptest_headers bitcoin_ipc_headers bitcoin_ipc_test_headers bitcoin_ipc_fuzz_headers"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset dev-mode -DBUILD_GUI=OFF \
-DCMAKE_C_COMPILER=clang-${IWYU_LLVM_V} \
- -DCMAKE_CXX_COMPILER=clang++-${IWYU_LLVM_V} \
-"
+ -DCMAKE_CXX_COMPILER=clang++-${IWYU_LLVM_V}
+export BITCOIN_CONFIG
### ci/test/00_setup_env_native_msan.sh
@@ -19,15 +19,14 @@ export PIP_PACKAGES="--break-system-packages pycapnp pyzmq"
export DEP_OPTS="DEBUG=1 NO_QT=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
export GOAL="install"
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="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DBUILD_GUI=OFF \
-DCMAKE_BUILD_TYPE=Debug \
- -DCMAKE_C_FLAGS_DEBUG='' \
- -DCMAKE_CXX_FLAGS_DEBUG='' \
+ `# Setting CMAKE_{C,CXX}_FLAGS_DEBUG flags to an empty string ensures that the flags set in MSAN_FLAGS remain unaltered` \
+ -DCMAKE_C_FLAGS_DEBUG= \
+ -DCMAKE_CXX_FLAGS_DEBUG= \
-DSANITIZERS=memory \
- -DAPPEND_CPPFLAGS='-U_FORTIFY_SOURCE' \
-"
+ -DAPPEND_CPPFLAGS=-U_FORTIFY_SOURCE `# _FORTIFY_SOURCE is not compatible with MSAN`
+export BITCOIN_CONFIG
export USE_INSTRUMENTED_LIBCPP="MemoryWithOrigins"
### ci/test/00_setup_env_native_nowallet.sh
@@ -13,9 +13,9 @@ export PACKAGES="python3-zmq python3-pip clang-17 llvm-17 libc++abi-17-dev libc+
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="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DREDUCE_EXPORTS=ON \
-DENABLE_WALLET=OFF \
- -DWITH_EMBEDDED_ASMAP=OFF \
-"
+ -DWITH_EMBEDDED_ASMAP=OFF
+export BITCOIN_CONFIG
### ci/test/00_setup_env_native_previous_releases.sh
@@ -16,14 +16,14 @@ export TEST_RUNNER_EXTRA="--previous-releases --coverage --extended --exclude fe
export GOAL="install"
export CI_LIMIT_STACK_SIZE=1
export DOWNLOAD_PREVIOUS_RELEASES=true
-# Use -Werror as the CMake version does not support CMAKE_COMPILE_WARNING_AS_ERROR
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DREDUCE_EXPORTS=ON \
-DCMAKE_BUILD_TYPE=Debug \
- -DCMAKE_C_FLAGS='-funsigned-char -Werror' \
- -DCMAKE_C_FLAGS_DEBUG='-g2 -O2' \
- -DCMAKE_CXX_FLAGS='-funsigned-char -Werror' \
- -DCMAKE_CXX_FLAGS_DEBUG='-g2 -O2' \
- -DAPPEND_CPPFLAGS='-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE' \
-"
+ `# Use -Werror as the CMake version does not support CMAKE_COMPILE_WARNING_AS_ERROR` \
+ -DCMAKE_C_FLAGS="-funsigned-char -Werror" \
+ -DCMAKE_C_FLAGS_DEBUG="-g2 -O2" \
+ -DCMAKE_CXX_FLAGS="-funsigned-char -Werror" \
+ -DCMAKE_CXX_FLAGS_DEBUG="-g2 -O2" \
+ -DAPPEND_CPPFLAGS=-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE
+export BITCOIN_CONFIG
### ci/test/00_setup_env_native_tidy.sh
@@ -18,10 +18,10 @@ export RUN_FUZZ_TESTS=false
export RUN_CHECK_DEPS=true
export RUN_TIDY=true
export GOAL="install"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset dev-mode \
-DCMAKE_C_COMPILER=clang-${TIDY_LLVM_V} \
-DCMAKE_CXX_COMPILER=clang++-${TIDY_LLVM_V} \
- -DCMAKE_C_FLAGS_RELWITHDEBINFO='-O0 -g0' \
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO='-O0 -g0' \
-"
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O0 -g0" \
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O0 -g0"
+export BITCOIN_CONFIG
### ci/test/00_setup_env_native_tsan.sh
@@ -17,10 +17,10 @@ export DEP_OPTS="CC=clang CXX=clang++ CXXFLAGS='${LIBCXX_FLAGS}' NO_QT=1"
export GOAL="install"
export CI_LIMIT_STACK_SIZE=1
# Disable fortification with -U_FORTIFY_SOURCE to work around https://github.com/bitcoin/bitcoin/issues/30586
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DBUILD_GUI=OFF \
-DSANITIZERS=thread \
- -DAPPEND_CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKCONTENTION -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -U_FORTIFY_SOURCE' \
-"
+ -DAPPEND_CPPFLAGS="-DARENA_DEBUG -DDEBUG_LOCKCONTENTION -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -U_FORTIFY_SOURCE"
+export BITCOIN_CONFIG
export USE_INSTRUMENTED_LIBCPP="Thread"
### ci/test/00_setup_env_native_valgrind.sh
@@ -15,11 +15,10 @@ export NO_DEPENDS=1
# bind tests excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
export TEST_RUNNER_EXTRA="--exclude rpc_bind --exclude feature_bind_extra"
export GOAL="install"
-# GUI disabled, because it only passes with a DEBUG=1 depends build
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
- -DBUILD_GUI=OFF \
+ -DBUILD_GUI=OFF `# GUI disabled, because it only passes with a DEBUG=1 depends build` \
-DWITH_USDT=OFF \
-DCMAKE_C_COMPILER=clang \
- -DCMAKE_CXX_COMPILER=clang++ \
-"
+ -DCMAKE_CXX_COMPILER=clang++
+export BITCOIN_CONFIG
### ci/test/00_setup_env_netbsd_cross.sh
@@ -28,11 +28,11 @@ export DEP_OPTS="build_CC=clang build_CXX=clang++ \
RANLIB=llvm-ranlib-${APT_LLVM_V} \
STRIP=llvm-strip-${APT_LLVM_V}"
export GOAL="install"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DBUILD_GUI=OFF \
-DREDUCE_EXPORTS=ON \
- -DWITH_USDT=OFF \
-"
+ -DWITH_USDT=OFF
+export BITCOIN_CONFIG
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
### ci/test/00_setup_env_openbsd_cross.sh
@@ -28,11 +28,11 @@ export DEP_OPTS="NO_QT=1 build_CC=clang build_CXX=clang++ \
RANLIB=llvm-ranlib-${APT_LLVM_V} \
STRIP=llvm-strip-${APT_LLVM_V}"
export GOAL="install"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DBUILD_GUI=OFF \
-DREDUCE_EXPORTS=ON \
- -DWITH_USDT=OFF \
-"
+ -DWITH_USDT=OFF
+export BITCOIN_CONFIG
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
### ci/test/00_setup_env_riscv_bare_cross.sh
@@ -12,7 +12,8 @@ export GOAL="bitcoin_consensus bitcoin_crypto secp256k1"
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:26.04"
export HOST="riscv32-unknown-elf-gcc"
export PACKAGES="autoconf automake autotools-dev curl python3 python3-pip libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev libslirp-dev"
-export BITCOIN_CONFIG="-DCMAKE_C_COMPILER=/opt/riscv-ilp32/bin/riscv32-unknown-elf-gcc \
+printf -v BITCOIN_CONFIG "%q " \
+ -DCMAKE_C_COMPILER=/opt/riscv-ilp32/bin/riscv32-unknown-elf-gcc \
-DCMAKE_CXX_COMPILER=/opt/riscv-ilp32/bin/riscv32-unknown-elf-g++ \
-DBUILD_KERNEL_LIB=OFF \
-DBUILD_UTIL_CHAINSTATE=OFF \
@@ -28,8 +29,8 @@ export BITCOIN_CONFIG="-DCMAKE_C_COMPILER=/opt/riscv-ilp32/bin/riscv32-unknown-e
-DENABLE_EXTERNAL_SIGNER=OFF \
-DENABLE_IPC=OFF \
-DCMAKE_SYSTEM_NAME=Generic \
- -DIFADDR_LINKS_WITHOUT_LIBSOCKET=ON \
- "
+ -DIFADDR_LINKS_WITHOUT_LIBSOCKET=ON
+export BITCOIN_CONFIG
export BARE_METAL_RISCV=true
export RUN_UNIT_TESTS=false
### ci/test/00_setup_env_s390x.sh
@@ -15,7 +15,7 @@ export CI_IMAGE_PLATFORM="linux/s390x"
export TEST_RUNNER_EXTRA="--exclude rpc_bind --exclude feature_bind_extra"
export RUN_FUNCTIONAL_TESTS=true
export GOAL="install"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
- -DREDUCE_EXPORTS=ON \
-"
+ -DREDUCE_EXPORTS=ON
+export BITCOIN_CONFIG
### ci/test/00_setup_env_win64.sh
@@ -13,10 +13,10 @@ export PACKAGES="nix-bin nix-setup-systemd"
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
export GOAL="deploy"
-export BITCOIN_CONFIG="\
+printf -v BITCOIN_CONFIG "%q " \
--preset=dev-mode \
-DENABLE_IPC=OFF \
-DWITH_USDT=OFF \
-DREDUCE_EXPORTS=ON \
- -DCMAKE_CXX_FLAGS='-Wno-error=maybe-uninitialized' \
-"
+ -DCMAKE_CXX_FLAGS=-Wno-error=maybe-uninitialized
+export BITCOIN_CONFIG
### ci/test/03_test_script.sh
@@ -275,10 +275,10 @@ subprocess.run(["git", "restore", "--", *subtrees], check=True)
fi
if [ "$RUN_FUZZ_TESTS" = "true" ]; then
- # shellcheck disable=SC2086
+ eval "FUZZ_TESTS_ARGS=($FUZZ_TESTS_CONFIG)"
LD_LIBRARY_PATH="${DEPENDS_DIR}/${HOST}/lib" \
"${BASE_BUILD_DIR}/test/fuzz/test_runner.py" \
- ${FUZZ_TESTS_CONFIG} \
+ "${FUZZ_TESTS_ARGS[@]}" \
"${MAKEJOBS}" \
-l DEBUG \
"${DIR_FUZZ_IN}" \Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.