Was macht OpenClaw Mac Release?
Verwenden mit $openclaw-release-maintainer, $openclaw-release-ci und $one-password, wenn stabile macOS-Assets, private Mac-Vorschau, Notarisierung, Appcast-Promotion oder Mac-Release-Wiederherstellung betroffen sind.
Anmeldedaten
- Canonisches ASC-Item: Tresor
Molty, TitelAPI Key - App Store Connect - Personal - Release. - Felder:
private_key_p8,key_id,issuer_id. - Aktuell bekannte gültige Schlüssel-ID:
AKVLXW849T. - Legacy-Spiegel: Tresor
Private, TitelAPI Key - App Store Connect - Personal; halte es synchron für ältere Referenzen. - Symptom eines abgelaufenen/widerrufenen Schlüssels:
xcrun notarytool submitschlägt fehl mitHTTP status code: 401. Unauthenticated. - Validieren Sie potenzielle ASC-Anmeldedaten mit
xcrun notarytool history, bevor Sie GitHub-Secrets setzen.
1Password
- Verwenden Sie
$one-password: alleop-Arbeiten innerhalb einer persistenten tmux-Sitzung, keine Ausgabe von Geheimnissen. - Bevorzugen Sie
OP_SERVICE_ACCOUNT_TOKENaus~/.profilefür Lesezugriffe auf Molty. - Gehen Sie nicht davon aus, dass
MOLTY_OP_SERVICE_ACCOUNT_TOKENaktiv ist; es hat zuvor auf ein gelöschtes Dienstkonto verwiesen. - Wenn ein Dienst-Token fehlschlägt, führen Sie nur Statusprüfungen durch: Token vorhanden/Länge und
op whoami; geben Sie niemals Token-Werte aus. - Wenn Desktop-App-Authentifizierung erforderlich ist, aber Touch ID nicht verfügbar ist, setzen Sie
OP_BIOMETRIC_UNLOCK_ENABLED=falsefür den manuellen Pfadop account add --signin.
GitHub Secrets
Zielumgebung des privaten Repositorys: openclaw/releases-private, Env mac-release.
Setzen Sie nur nach lokaler Notar-Authentifizierungsvalidierung:
APP_STORE_CONNECT_API_KEY_P8APP_STORE_CONNECT_KEY_IDAPP_STORE_CONNECT_ISSUER_ID
Aktualisieren Sie diese nicht aus gemischten Quellen. Alle drei ASC-Felder müssen aus demselben 1Password-Element stammen.
Workflow-Form
- Der öffentliche Release-Branch kann nach dem stabilen Tag/npm bereits live sein und nur Mac-spezifische Paketkorrekturen enthalten.
- Verwenden Sie
source_ref=release/YYYY.M.Dfür private Mac-Vorschau/Validierung beim Erstellen dieser Branch-Variation. - Behalten Sie
tag=vYYYY.M.Dbei, das auf den ursprünglichen stabilen Release-Commit verweist. - Die echte Mac-Veröffentlichung muss wiederverwenden:
- einen erfolgreichen privaten Mac Vorschau-Lauf für denselben Tag/Quell-SHA
- einen erfolgreichen privaten Mac Validierungs-Lauf für denselben Tag/Quell-SHA
- Wenn der Vorschau-Quell-SHA sich vom Tag-SHA unterscheidet, muss die Validierung ebenfalls dieselbe
source_refverwenden; die Promotion lehnt nicht übereinstimmende Nachweise ab.
Notarisierung
- OpenClaw verwendet
scripts/notarize-mac-artifact.sh. xcrun notarytool submitsollte--no-s3-accelerationverwenden; beschleunigter Upload kann irreführende 401-Fehler verursachen, selbst wennnotarytool historyerfolgreich ist.- Wenn die Signierung erfolgreich ist, aber die Notarisierung sofort mit 401 fehlschlägt, überprüfen Sie zuerst die Aktualität des ASC-Schlüssels.
- Wenn die Notarisierung nach dem Schreiben der Schlüsseldatei mehrere Minuten lang in Bearbeitung bleibt, ist dies die normale Apple-Wartezeit; bearbeiten Sie nicht blind.
Dispatch
Private Vorschau:
gh workflow run openclaw-macos-publish.yml --repo openclaw/releases-private --ref main \
-f tag=vYYYY.M.D \
-f source_ref=release/YYYY.M.D \
-f preflight_only=true \
-f smoke_test_only=false \
-f allow_late_calver_recovery=false \
-f public_release_branch=release/YYYY.M.D
Private Validierung für eine Branch-Variation-Vorschau:
gh workflow run openclaw-macos-validate.yml --repo openclaw/releases-private --ref main \
-f tag=vYYYY.M.D \
-f source_ref=release/YYYY.M.D
Echte Veröffentlichung:
gh workflow run openclaw-macos-publish.yml --repo openclaw/releases-private --ref main \
-f tag=vYYYY.M.D \
-f preflight_only=false \
-f smoke_test_only=false \
-f preflight_run_id=<successful-preflight-run> \
-f validate_run_id=<successful-validation-run> \
-f allow_late_calver_recovery=false \
-f public_release_branch=release/YYYY.M.D
Überprüfen
gh release view vYYYY.M.D --repo openclaw/openclawzeigt zip, dmg, dSYM zip, nicht Entwurf, nicht Vorabversion.- Öffentliches
mainappcast.xmlverweist aufOpenClaw-YYYY.M.D.zip. - Appcast-Eintrag hat
sparkle:version,sparkle:shortVersionString, Länge undsparkle:edSignature.