CommunityCodierung & Entwicklunggithub.com

OpenClaw Mac Release

Führt die Signierung, Notarisierung, Appcast-Veröffentlichung und Asset-Promotion für macOS-Releases von OpenClaw durch oder stellt sie wieder her.

Was ist OpenClaw Mac Release?

Diese Fertigkeit automatisiert den gesamten macOS-Release-Prozess für OpenClaw, einschließlich der Notarisierung mit Apple Notary, dem Appcast-Upload für Sparkle-Updates, der Signierung und der Asset-Promotion. Sie ist für Release-Maintainer und CI-Systeme gedacht, die stabile macOS-Artefakte veröffentlichen, und unterstützt die Wiederherstellung fehlgeschlagener Releases. Die Fertigkeit basiert auf Anmeldedaten von Apple App Store Connect (API-Schlüssel), die aus 1Password abgerufen werden, GitHub-Secrets und Workflows in einem privaten Repository (`openclaw/releases-private`) sowie öffentlichen Branches. Der Workflow umfasst eine Vorschau (Preflight) zur Validierung der Anmeldedaten und Artefakte, eine separate Validierung für Branch-Variationen und einen finalen Veröffentlichungsschritt, der auf erfolgreiche vorherige Läufe verweist. Die Fertigkeit behandelt häufige Fehler wie abgelaufene API-Schlüssel (401-Fehler bei `xcrun notarytool submit`) und stellt sicher, dass die Notarisierung ohne S3-Beschleunigung durchgeführt wird, um falsche 401-Fehler zu vermeiden. Sie verwendet einen persistenten `tmux`-Sitzung für 1Password-Operationen, um Geheimnisse nicht preiszugeben.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/openclaw-mac-release

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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, Titel API 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, Titel API Key - App Store Connect - Personal; halte es synchron für ältere Referenzen.
  • Symptom eines abgelaufenen/widerrufenen Schlüssels: xcrun notarytool submit schlägt fehl mit HTTP status code: 401. Unauthenticated.
  • Validieren Sie potenzielle ASC-Anmeldedaten mit xcrun notarytool history, bevor Sie GitHub-Secrets setzen.

1Password

  • Verwenden Sie $one-password: alle op-Arbeiten innerhalb einer persistenten tmux-Sitzung, keine Ausgabe von Geheimnissen.
  • Bevorzugen Sie OP_SERVICE_ACCOUNT_TOKEN aus ~/.profile für Lesezugriffe auf Molty.
  • Gehen Sie nicht davon aus, dass MOLTY_OP_SERVICE_ACCOUNT_TOKEN aktiv 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=false für den manuellen Pfad op 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_P8
  • APP_STORE_CONNECT_KEY_ID
  • APP_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.D für private Mac-Vorschau/Validierung beim Erstellen dieser Branch-Variation.
  • Behalten Sie tag=vYYYY.M.D bei, 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_ref verwenden; die Promotion lehnt nicht übereinstimmende Nachweise ab.

Notarisierung

  • OpenClaw verwendet scripts/notarize-mac-artifact.sh.
  • xcrun notarytool submit sollte --no-s3-acceleration verwenden; beschleunigter Upload kann irreführende 401-Fehler verursachen, selbst wenn notarytool history erfolgreich 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/openclaw zeigt zip, dmg, dSYM zip, nicht Entwurf, nicht Vorabversion.
  • Öffentliches main appcast.xml verweist auf OpenClaw-YYYY.M.D.zip.
  • Appcast-Eintrag hat sparkle:version, sparkle:shortVersionString, Länge und sparkle:edSignature.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Verwandte Skills