Skip to content

build: full prerequisite preflight in build-macos.sh (macOS, Xcode, zig, git) - #11

Merged
evandhoffman merged 1 commit into
mainfrom
build/preflight-all-prereqs
Jun 20, 2026
Merged

build: full prerequisite preflight in build-macos.sh (macOS, Xcode, zig, git)#11
evandhoffman merged 1 commit into
mainfrom
build/preflight-all-prereqs

Conversation

@evandhoffman

Copy link
Copy Markdown
Collaborator

Expands the Xcode-only check (from #10) into one preflight that verifies all build prerequisites up front and reports every problem at once — each with its exact fix — before setup.sh/reload.sh do any work.

Checks:

  • macOS (Darwin)
  • full Xcodexcodebuild usable, not just the Command Line Tools (xcode-select -s …)
  • zigbrew install zig
  • git — needed for the submodules

Happy path prints one line and is otherwise a no-op:

==> Preflight OK (Xcode 26.5, zig 0.16.0, git present)

A missing prereq looks like:

  - zig not found:  brew install zig
error: 1 build prerequisite(s) missing — aborting before any work.

Verified: bash -n; happy path; and a simulated missing-zig run (reports zig + exits 1). No-op when everything is present, so working machines are unaffected.

Expand the Xcode-only check into a single preflight that verifies all build
prerequisites before any work and reports every problem at once (not just the
first), each with its exact fix:
  - macOS (Darwin)
  - full Xcode (xcodebuild usable, not just Command Line Tools)
  - zig (brew install zig)
  - git (for submodules)

On success it prints a one-line 'Preflight OK (Xcode <v>, zig <v>, git present)'
and is a no-op for the happy path. Aborts before setup.sh/reload.sh so failures
surface immediately with actionable guidance instead of deep in the build.
@evandhoffman
evandhoffman enabled auto-merge June 20, 2026 12:52
@evandhoffman
evandhoffman merged commit 84e97e6 into main Jun 20, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant