ci: Enable experimental kernel stuff in MSan task
What changed, and why it matters
This commit only changes Bitcoin Core's continuous integration (CI) testing configuration. It renames a CI job from 'MSan, depends' to 'MSan' and switches the build to use a 'dev-mode' preset that enables experimental kernel-related components for testing with MemorySanitizer (MSan). There is no change to the actual Bitcoin node or wallet code that users run, and nothing in the commit suggests a security vulnerability or fix.
No security action required. This is a CI/test configuration change. Reviewers may verify that the new MSan job completes successfully and that enabling experimental kernel components does not introduce unrelated CI noise.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff modifies .github/workflows/ci.yml and ci/test/00_setup_env_native_msan.sh. It removes the ‘depends’ label from the MSan CI job and adds –preset=dev-mode plus -DBUILD_GUI=OFF to the BITCOIN_CONFIG used by the MSan CI environment. This enables experimental kernel components (bitcoin-chainstate, libbitcoinkernel, kernel-test) in the MSan build for broader sanitizer coverage. No source code, consensus logic, networking, or cryptographic code is changed.
Changed components
ci/test/00_setup_env_native_msan.sh.github/workflows/ci.ymlInspect captured patch +3 / −1
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3801c187..a24f0afd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -540,7 +540,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_native_msan.sh b/ci/test/00_setup_env_native_msan.sh
index 4ff82614..c0559fc6 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='' \
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.