feat: add OS compatibility checks before running platform-specific logic
- lib/common.sh: add require_local_os, require_remote_os, require_remote_pkg_manager - setup/macbook.sh: require macOS (Darwin) - setup/unraid.sh: require remote is Linux - setup/fedora.sh: require remote is Linux + has dnf (RPM-based) - manage_runner.sh: native runner add/remove requires macOS - run_all.sh: control plane must be macOS - preflight.sh: 3 new checks (1: local=macOS, 2: Unraid=Linux, 3: Fedora=Linux+dnf) - phase5_migrate_pipelines.sh: fix sed -i to be portable (no macOS-only syntax) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -189,6 +189,9 @@ add_docker_runner() {
|
||||
# and unreliable for long-running background services.
|
||||
# ---------------------------------------------------------------------------
|
||||
add_native_runner() {
|
||||
# Native runners use launchctl + macOS-specific paths — must be macOS
|
||||
require_local_os "Darwin" "Native runner deployment requires macOS (uses launchctl)"
|
||||
|
||||
log_info "Deploying native runner '${RUNNER_NAME}' on local machine..."
|
||||
|
||||
# Resolve ~ to actual home directory for local execution
|
||||
@@ -278,6 +281,9 @@ remove_docker_runner() {
|
||||
# remove_native_runner — Unload launchd service + remove binary + plist
|
||||
# ---------------------------------------------------------------------------
|
||||
remove_native_runner() {
|
||||
# Native runners use launchctl + macOS-specific paths — must be macOS
|
||||
require_local_os "Darwin" "Native runner removal requires macOS (uses launchctl)"
|
||||
|
||||
log_info "Removing native runner '${RUNNER_NAME}' from local machine..."
|
||||
|
||||
# Resolve ~ to actual home directory
|
||||
|
||||
Reference in New Issue
Block a user