What changed, and why it matters
This commit adds a new automated build test that cross-compiles Bitcoin Core for Intel (x86_64) macOS, while renaming the existing macOS cross-compile test to target Apple Silicon (arm64). It only changes continuous integration configuration and documentation. There is no change to the Bitcoin Core software that users run, and no security issue is present.
No security action needed. This is a routine CI infrastructure change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch splits a single GitHub Actions CI matrix job into two: one targeting arm64-apple-darwin and a new one targeting x86_64-apple-darwin using a newly created environment script. It also updates depends/README.md to clarify that x86_64-apple-darwin is for Intel macOS. No source code, build system logic, cryptography, networking, or consensus code is modified.
Changed components
.github/workflows/ci.ymlci/test/00_setup_env_mac_cross.shci/test/00_setup_env_mac_cross_intel.shdepends/README.mdInspect captured patch +29 / −3
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2cd411e2..246f7f67 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -446,12 +446,18 @@ jobs:
timeout-minutes: 120
file-env: './ci/test/00_setup_env_native_asan.sh'
- - name: 'macOS-cross, gui, no tests'
+ - name: 'macOS-cross to arm64'
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_mac_cross.sh'
+ - name: 'macOS-cross to x86_64'
+ 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_mac_cross_intel.sh'
+
- name: 'No wallet, libbitcoinkernel'
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm'
fallback-runner: 'ubuntu-24.04'
diff --git a/ci/test/00_setup_env_mac_cross.sh b/ci/test/00_setup_env_mac_cross.sh
index a0d9082f..088b853e 100755
--- a/ci/test/00_setup_env_mac_cross.sh
+++ b/ci/test/00_setup_env_mac_cross.sh
@@ -10,7 +10,7 @@ export SDK_URL=${SDK_URL:-https://bitcoincore.org/depends-sources/sdks}
export CONTAINER_NAME=ci_macos_cross
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
-export HOST=x86_64-apple-darwin
+export HOST=arm64-apple-darwin
export PACKAGES="clang lld llvm zip"
export XCODE_VERSION=15.0
export XCODE_BUILD_ID=15A240d
diff --git a/ci/test/00_setup_env_mac_cross_intel.sh b/ci/test/00_setup_env_mac_cross_intel.sh
new file mode 100755
index 00000000..a158ffa2
--- /dev/null
+++ b/ci/test/00_setup_env_mac_cross_intel.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2019-present The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+export LC_ALL=C.UTF-8
+
+export SDK_URL=${SDK_URL:-https://bitcoincore.org/depends-sources/sdks}
+
+export CONTAINER_NAME=ci_macos_cross_intel
+export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
+export HOST=x86_64-apple-darwin
+export PACKAGES="clang lld llvm zip"
+export XCODE_VERSION=15.0
+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"
diff --git a/depends/README.md b/depends/README.md
index 94579109..71110e94 100644
--- a/depends/README.md
+++ b/depends/README.md
@@ -123,7 +123,7 @@ Common `host-platform-triplet`s for cross compilation are:
- `i686-pc-linux-gnu` for Linux x86 32 bit
- `x86_64-pc-linux-gnu` for Linux x86 64 bit
- `x86_64-w64-mingw32` for Win64
-- `x86_64-apple-darwin` for macOS
+- `x86_64-apple-darwin` for Intel macOS
- `arm64-apple-darwin` for ARM macOS
- `arm-linux-gnueabihf` for Linux ARM 32 bit
- `aarch64-linux-gnu` for Linux ARM 64 bit
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.