ADR-0016: macOS-Editor nur nativ auf einem Mac
- Status: accepted
- Datum: 2026-08-26
- Phase: P2
- Lastenheft: Editor-Desktop (macOS-Nutzer)
Kontext
Der Editor ist Tauri 2. Linux-Bundles und Windows-NSIS entstehen auf dem Entwickler-Host (CachyOS); Windows nutzt den Last-Resort cargo-xwin (ADR-0014). Es gibt keinen Mac-CI-Runner. macOS-Kollegen brauchen .app / .dmg. Tauri bündelt Darwin nur auf Darwin (Xcode, hdiutil, WebKit.framework). osxcross kann höchstens ein Rust-Binary linken, kein signiertes Installer-Paket.
Entscheidung
| Gate | Wahl | Warum hier | Verworfen |
|---|---|---|---|
| macOS-Installer | .dmg (+ .app.tar.gz für den Updater) |
Tauri-Standard auf Darwin; Nutzer ziehen die App nach Programme | Nur .app zippen — kein üblicher Installer |
| Build-Host | Mac + scripts/build-macos.sh |
Xcode CLT und Tauri-Bundler sind macOS-only | osxcross / SDK von Linux — Apple-Lizenz, kein hdiutil, kein WebKit-Link, Gatekeeper blockt unsigned |
build-release.sh auf Linux |
macOS überspringen, Hinweis ausgeben | Linux+Windows sollen trotzdem fertig werden | Hard-Fail des ganzen Releases, weil kein Mac da ist |
| Signatur | Nur Tauri-Updater (minisign), kein Apple Developer ID / Notarisierung | Gleicher Key wie Linux/Windows; kein Apple-Zertifikat | Notarisierung jetzt — ohne Account/Zertifikat unmöglich |
| Verteilung | releases/macos/ + NAS latest.json Plattformen darwin-aarch64 / darwin-x86_64 |
Gleicher Feed wie die anderen OS | GitHub Actions macos-latest — Repo ist nicht auf GitHub |
Nativer pnpm tauri build auf einem Mac bleibt der einzige Weg zu einem startbaren macOS-Paket.
Begründung
Anders als NSIS (läuft auf Linux) sind .app/.dmg an Apples Toolchain gebunden. Ein zweites unsigned Linux-Pipeline-Artefakt wäre kein lauffähiger Editor.
Verworfene Alternativen
| Alternative | Warum verworfen |
|---|---|
osxcross + manuelles .app von Linux |
Kein unterstützter Tauri-Weg; SDK darf nicht verteilt werden; Gatekeeper |
GitHub Actions macos-latest |
Extra-Remote, Secrets-Kopie, passt nicht zu git.nasarek.dev |
Gitea Actions runs-on: macos-latest |
Kein Mac-Runner |
| macOS-VM auf Nicht-Apple-Hardware | Apple-EULA; fragiles WebView |
Folgen
./scripts/build-macos.sh nur auf Darwin. ./scripts/build-release.sh auf Linux baut Linux+Windows und überspringt macOS. latest.json braucht darwin-aarch64 (und ggf. darwin-x86_64), sobald .dmg / .app.tar.gz + .sig auf dem NAS liegen.