Skip to content

Enforce macOS 27+ before launching fm benchmarks#5

Merged
devinoldenburg merged 2 commits into
mainfrom
macos-version-gate
Jul 17, 2026
Merged

Enforce macOS 27+ before launching fm benchmarks#5
devinoldenburg merged 2 commits into
mainfrom
macos-version-gate

Conversation

@devinoldenburg

Copy link
Copy Markdown
Owner

Summary

  • Add src/macos.js with a fixed minimum of macOS 27.0 for any command that launches Apple's fm CLI.
  • Gate run, models, and doctor with exit code 2, reporting the detected version and the latest supported macOS.
  • Keep offline commands (compare, history, validate, export, legend) usable on any platform.
  • Cover parsing, support evaluation, and CLI gating with unit tests.

Test plan

  • npm test (58 pass)
  • npm run lint
  • Live fm-bench doctor and --profile quick on macOS 27.0
  • Fake sw_vers 26.1 PATH override exits 2 and prints latest supported version
  • CI green on this PR

Refuse run/models/doctor on older macOS or non-darwin platforms with an
exit code 2 message that names the detected version and the latest
supported release. Offline report commands stay available everywhere.
Keep hard gates for run/models. Doctor still reports the detected version,
latest supported macOS, and a failed fm probe when the host is too old.
@devinoldenburg

Copy link
Copy Markdown
Owner Author

Self-review (cannot approve own PR):

  • Fixed minimum is macOS 27.0 via SUPPORTED_MACOS_MAJOR.
  • run / models hard-fail with exit 2 and print Latest supported.
  • doctor is allowed through so it can diagnose old hosts; fm probe is try/caught.
  • Offline commands remain ungated.
  • Unit tests cover parse / evaluate / CLI gate paths.
  • CI green on latest commit.

Merging.

@devinoldenburg
devinoldenburg merged commit 4180430 into main Jul 17, 2026
1 check passed
@devinoldenburg
devinoldenburg deleted the macos-version-gate branch July 17, 2026 14:49
@devinoldenburg devinoldenburg mentioned this pull request Jul 17, 2026
4 tasks
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