Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/ci-macos-compat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ jobs:
- os: warp-macos-15-arm64-6x
timeout: 20
smoke: true
skip_zig: false
- os: warp-macos-26-arm64-6x
timeout: 20
smoke: false
skip_zig: true # zig 0.15.2 MachO linker can't resolve libSystem on macOS 26
runs-on: ${{ matrix.os }}
timeout-minutes: ${{ matrix.timeout }}
steps:
Expand Down Expand Up @@ -62,6 +67,7 @@ jobs:
./scripts/download-prebuilt-ghosttykit.sh

- name: Install zig
if: ${{ !matrix.skip_zig }}
run: |
ZIG_REQUIRED="0.15.2"
if command -v zig >/dev/null 2>&1 && zig version 2>/dev/null | grep -q "^${ZIG_REQUIRED}"; then
Expand Down Expand Up @@ -114,6 +120,8 @@ jobs:
done

- name: Run unit tests
env:
CMUX_SKIP_ZIG_BUILD: ${{ matrix.skip_zig && '1' || '0' }}
run: |
set -euo pipefail
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
Expand Down
10 changes: 10 additions & 0 deletions scripts/build-ghostty-cli-helper.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,16 @@ if [[ -z "$OUTPUT_PATH" ]]; then
exit 1
fi

# Allow CI to skip the zig build (e.g., macOS 26 where zig 0.15.2 can't link).
# Creates a stub binary so the Xcode Run Script file-existence check passes.
if [[ "${CMUX_SKIP_ZIG_BUILD:-}" == "1" ]]; then
echo "Skipping zig CLI helper build (CMUX_SKIP_ZIG_BUILD=1)"
mkdir -p "$(dirname "$OUTPUT_PATH")"
printf '#!/bin/sh\necho "ghostty CLI helper stub (zig build skipped)" >&2\nexit 1\n' > "$OUTPUT_PATH"
chmod +x "$OUTPUT_PATH"
exit 0
fi

if [[ "$UNIVERSAL" == "true" && -n "$TARGET_TRIPLE" ]]; then
echo "--universal and --target are mutually exclusive" >&2
usage >&2
Expand Down
Loading