openclaw-mac-release

Executar ou recuperar assinatura, notarização, appcast e promoção de artefatos do release macOS do OpenClaw.

O que é openclaw-mac-release?

Esta skill capacita um agente de IA (por exemplo, Claude Code, Cursor, Codex) a gerenciar o pipeline de release para a versão macOS do OpenClaw. Ela cobre desde a recuperação de credenciais e validação de autenticação com a Apple App Store Connect (ASC) usando o 1Password, até a configuração de segredos no GitHub, execução de workflows de pré-verificação (private preflight/validation) e a publicação real (signing, notarization, promoção de appcast). A skill foi projetada para ambientes com segredos sensíveis (chave privada P8, key ID, issuer ID) e garante que todas as ações sejam seguras e rastreáveis. Ela também lida com sintomas de falhas comuns, como o erro 401 no `notarytool`, e oferece instruções claras para recuperação de releases. Suporta os workflows do repositório privado `openclaw/releases-private` e o repositório público `openclaw/openclaw`.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

OpenClaw Mac Release

Use com $openclaw-release-maintainer, $openclaw-release-ci e $one-password quando estiver envolvido com artefatos estáveis do macOS, preflight particular do macOS, notarização, promoção de appcast ou recuperação de release do macOS.

Credenciais

  • Item Canonical ASC: cofre Molty, título API Key - App Store Connect - Personal - Release.
  • Campos: private_key_p8, key_id, issuer_id.
  • ID de chave conhecido atualmente bom: AKVLXW849T.
  • Mirror legado: cofre Private, título API Key - App Store Connect - Personal; mantenha-o sincronizado para referências antigas.
  • Sintoma de chave desatualizada/revogada: xcrun notarytool submit falha com HTTP status code: 401. Unauthenticated.
  • Valide as credenciais ASC candidatas com xcrun notarytool history antes de definir segredos do GitHub.

1Password

  • Use $one-password: todo trabalho op dentro de uma sessão persistente do tmux, sem saída de segredos.
  • Prefira OP_SERVICE_ACCOUNT_TOKEN de ~/.profile para leituras do Molty.
  • Não presuma que MOLTY_OP_SERVICE_ACCOUNT_TOKEN esteja ativo; ele já apontou para uma conta de serviço excluída.
  • Se um token de serviço falhar, execute apenas verificações de status: token presente/comprimento e op whoami; nunca imprima valores de token.
  • Se a autenticação do aplicativo de desktop for necessária, mas o Touch ID não estiver disponível, defina OP_BIOMETRIC_UNLOCK_ENABLED=false para o caminho manual de op account add --signin.

Segredos do GitHub

Ambiente do repositório privado de destino: openclaw/releases-private, env mac-release.

Defina somente após validação de autenticação de notário local:

  • APP_STORE_CONNECT_API_KEY_P8
  • APP_STORE_CONNECT_KEY_ID
  • APP_STORE_CONNECT_ISSUER_ID

Não atualize estes a partir de fontes mistas. Todos os três campos ASC devem vir do mesmo item do 1Password.

Forma do Workflow

  • O branch de release público pode conter correções de empacotamento exclusivas do macOS após a tag estável/npm já estarem ao vivo.
  • Use source_ref=release/YYYY.M.D para preflight/validação particular do macOS ao construir essa variação de branch.
  • Mantenha tag=vYYYY.M.D apontando para o commit original da release estável.
  • A publicação real do macOS deve reutilizar:
    • uma execução bem-sucedida de preflight particular do macOS para a mesma tag/SHA de origem
    • uma execução bem-sucedida de validação particular do macOS para a mesma tag/SHA de origem
  • Se o SHA de origem do preflight for diferente do SHA da tag, a validação também deve usar o mesmo source_ref; a promoção rejeita prova incompatível.

Notarização

  • OpenClaw usa scripts/notarize-mac-artifact.sh.
  • xcrun notarytool submit deve usar --no-s3-acceleration; upload acelerado pode exibir 401s enganosos mesmo quando notarytool history é bem-sucedido.
  • Se a assinatura for bem-sucedida, mas a notarização falhar imediatamente com 401, verifique primeiro a frescura da chave ASC.
  • Se a notarização permanecer em andamento por vários minutos após a escrita do arquivo de chave, isso é tempo de espera normal da Apple; não edite às cegas.

Despacho

Preflight particular:

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

Validação particular para um preflight de variação de branch:

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

Publicação real:

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=<id-da-execucao-preflight-bem-sucedida> \
  -f validate_run_id=<id-da-execucao-validacao-bem-sucedida> \
  -f allow_late_calver_recovery=false \
  -f public_release_branch=release/YYYY.M.D

Verificar

  • gh release view vYYYY.M.D --repo openclaw/openclaw mostra zip, dmg, zip dSYM, não rascunho, não pré-lançamento.
  • appcast.xml do main público aponta para OpenClaw-YYYY.M.D.zip.
  • A entrada do appcast tem sparkle:version, sparkle:shortVersionString, comprimento e 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.

Habilidades Relacionadas