diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 4e03b15..4a46d28 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -112,14 +112,26 @@ jobs: for file in raw-bin-arm64/*; do bin_name=$(basename "$file") if [ -f "raw-bin-x86_64/$bin_name" ]; then - echo "Creating universal binary with lipo: $bin_name" - lipo -create "raw-bin-x86_64/$bin_name" "raw-bin-arm64/$bin_name" -output "bin/$bin_name" - chmod +x "bin/$bin_name" + if file "raw-bin-arm64/$bin_name" | grep -q "Mach-O" && file "raw-bin-x86_64/$bin_name" | grep -q "Mach-O"; then + echo "Creating universal binary with lipo: $bin_name" + lipo -create "raw-bin-x86_64/$bin_name" "raw-bin-arm64/$bin_name" -output "bin/$bin_name" + chmod +x "bin/$bin_name" + else + echo "Non Mach-O file, copying directly: $bin_name" + cp "$file" "bin/$bin_name" + fi else echo "Warning: $bin_name not found in raw-bin-x86_64, copying arm64 version" cp "$file" "bin/$bin_name" fi done + for file in raw-bin-x86_64/*; do + bin_name=$(basename "$file") + if [ ! -f "bin/$bin_name" ]; then + echo "Warning: $bin_name only found in raw-bin-x86_64, copying x86_64 version" + cp "$file" "bin/$bin_name" + fi + done - name: Verify Architecture & Smoke Tests env: