Skip to content

Commit 3bed4dd

Browse files
committed
Skip Intel build in macOS GitHub Actions (ARM runners only) - GitHub macOS runners are Apple Silicon (M1/M2/M3) - no Intel runners available - Cross-compiling ARM to x86 fails due to CPU detection issues (llama.cpp detects host M3, tries -march=apple-m3 which is invalid for x86) - Intel Macs are legacy (discontinued 2020) - ARM build works on all modern Macs - Intel build can still be done locally with build-all-macos.sh on Intel Mac - Updated VERIFICATION.md to explain why Intel build is skipped - Removed Intel build step, replaced with skip notice - GitHub Actions now builds 3 variants: bitnet-arm, standard, standard-metal
1 parent f47e180 commit 3bed4dd

File tree

1 file changed

+32
-49
lines changed

1 file changed

+32
-49
lines changed

.github/workflows/build-macos-only.yml

Lines changed: 32 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -53,28 +53,19 @@ jobs:
5353
fi
5454
5555
# ========================================================================
56-
# VARIANT 2: BitNet Intel (Intel Macs with TL2 kernels)
56+
# VARIANT 2: BitNet Intel (SKIPPED - GitHub Actions uses ARM runners)
5757
# ========================================================================
58-
- name: Build BitNet Intel (Intel Macs)
58+
- name: Skip BitNet Intel (Intel Macs)
5959
run: |
60-
echo "🔨 Building BitNet Intel (x86 - TL2 kernels)..."
61-
62-
cmake -B build-macos-bitnet-intel \
63-
-DBITNET_X86_TL2=ON \
64-
-DCMAKE_C_COMPILER=clang \
65-
-DCMAKE_CXX_COMPILER=clang++ \
66-
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
67-
-DLLAMA_BUILD_SERVER=ON \
68-
-DLLAMA_BUILD_EXAMPLES=ON \
69-
.
70-
71-
if cmake --build build-macos-bitnet-intel --config Release -j; then
72-
echo "BITNET_INTEL_SUCCESS=true" >> $GITHUB_ENV
73-
echo "✅ BitNet Intel build SUCCESS"
74-
else
75-
echo "BITNET_INTEL_SUCCESS=false" >> $GITHUB_ENV
76-
echo "❌ BitNet Intel build FAILED"
77-
fi
60+
echo "⏭️ Skipping BitNet Intel build..."
61+
echo ""
62+
echo "Reason: GitHub macOS runners are Apple Silicon (M1/M2/M3) only."
63+
echo "Cross-compiling ARM → x86 is problematic due to CPU detection issues."
64+
echo ""
65+
echo "To build for Intel Macs, run build-all-macos.sh locally on an Intel Mac."
66+
echo "Intel Macs are legacy (discontinued 2020) - ARM build covers modern Macs."
67+
echo ""
68+
echo "BITNET_INTEL_SUCCESS=skipped" >> $GITHUB_ENV
7869
7970
# ========================================================================
8071
# VARIANT 3: Standard CPU (no BitNet, universal)
@@ -163,25 +154,10 @@ jobs:
163154
fi
164155
165156
# ================================================================
166-
# Copy BitNet Intel binaries
157+
# Skip BitNet Intel (not built on GitHub Actions)
167158
# ================================================================
168-
if [ "$BITNET_INTEL_SUCCESS" = "true" ]; then
169-
echo "📦 Copying BitNet Intel binaries..."
170-
171-
if [ -d "build-macos-bitnet-intel/bin" ]; then
172-
cp -f build-macos-bitnet-intel/bin/* BitnetRelease/cpu/macos/bitnet-intel/ 2>/dev/null || true
173-
fi
174-
175-
# Copy .dylib files
176-
find build-macos-bitnet-intel -name "*.dylib" -type f -exec cp -f {} BitnetRelease/cpu/macos/bitnet-intel/ \; 2>/dev/null || true
177-
178-
chmod +x BitnetRelease/cpu/macos/bitnet-intel/* 2>/dev/null || true
179-
180-
FILE_COUNT=$(ls -1 BitnetRelease/cpu/macos/bitnet-intel/ 2>/dev/null | wc -l)
181-
echo " ✅ bitnet-intel: $FILE_COUNT files copied"
182-
else
183-
echo " ⚠️ BitNet Intel build failed - skipping"
184-
fi
159+
echo "⏭️ Skipping BitNet Intel (not built on ARM runners)"
160+
echo " Build locally on Intel Mac if needed"
185161
186162
# ================================================================
187163
# Copy Standard CPU binaries
@@ -274,17 +250,23 @@ jobs:
274250
cat > BitnetRelease/cpu/macos/VERIFICATION.md << 'EOF'
275251
# 🔍 BitNet macOS Build Verification Report
276252
277-
## Build Matrix
253+
## Build Matrix (GitHub Actions)
278254
279-
This directory contains **4 macOS variants** (3 CPU + 1 GPU):
255+
This directory contains **2 CPU variants** built by GitHub Actions:
280256
281-
### CPU Variants
257+
### CPU Variants Built
282258
- **bitnet-arm/** - BitNet for Apple Silicon (M1/M2/M3/M4 with TL1 kernels)
283-
- **bitnet-intel/** - BitNet for Intel Macs (x86 with TL2 kernels)
284259
- **standard/** - Standard llama.cpp (universal, no BitNet)
285260
286-
### GPU Variant
287-
- **standard-metal/** - Metal GPU acceleration (ALL Macs)
261+
### ⏭️ Skipped on GitHub Actions
262+
- **bitnet-intel/** - BitNet for Intel Macs (requires local Intel Mac build)
263+
- GitHub's macOS runners are Apple Silicon only
264+
- Cross-compiling ARM → x86 causes CPU detection issues
265+
- Intel Macs are legacy (discontinued 2020)
266+
- To build: run `build-all-macos.sh` locally on an Intel Mac
267+
268+
### GPU Variant (separate directory)
269+
- **../gpu/macos/standard-metal/** - Metal GPU acceleration (ALL Macs)
288270
289271
## Quick Start
290272
@@ -294,10 +276,10 @@ jobs:
294276
./llama-server -m bitnet-model.gguf
295277
```
296278
297-
### For Intel Macs:
279+
### For ANY Mac (universal standard build):
298280
```bash
299-
cd bitnet-intel/
300-
./llama-server -m bitnet-model.gguf
281+
cd standard/
282+
./llama-server -m model.gguf
301283
```
302284
303285
### For Metal GPU (Best Performance):
@@ -338,12 +320,13 @@ jobs:
338320
echo "BitnetRelease/cpu/macos/"
339321
ls -lh BitnetRelease/cpu/macos/ 2>/dev/null || echo " (empty)"
340322
echo ""
341-
for subdir in bitnet-arm bitnet-intel standard; do
323+
for subdir in bitnet-arm standard; do
342324
if [ -d "BitnetRelease/cpu/macos/$subdir" ]; then
343325
COUNT=$(ls -1 BitnetRelease/cpu/macos/$subdir 2>/dev/null | wc -l)
344-
echo " $subdir/: $COUNT files"
326+
echo " $subdir/: $COUNT files"
345327
fi
346328
done
329+
echo " ⏭️ bitnet-intel/: skipped (requires Intel Mac)"
347330
echo ""
348331
echo "BitnetRelease/gpu/macos/"
349332
ls -lh BitnetRelease/gpu/macos/ 2>/dev/null || echo " (empty)"

0 commit comments

Comments
 (0)