Community코딩 & 개발github.com

openclaw-mac-release

OpenClaw macOS 릴리스 서명, 공증, 앱캐스트 및 자산 프로모션 실행 또는 복구

openclaw-mac-release란 무엇인가요?

이 스킬은 OpenClaw macOS 릴리스 프로세스를 자동화하고 복구하는 강력한 도구입니다. 안정적인 macOS 자산의 서명, 공증(notarization), 앱캐스트(appcast) 업데이트, 자산 프로모션을 처리합니다. Apple Developer 관계자로서 App Store Connect API 키를 사용하며, 공증 실패 시 401 오류를 진단하고 키 갱신을 안내합니다. GitHub Secrets를 안전하게 설정하고, 1Password를 통해 자격 증명을 관리합니다. 전체 워크플로우는 사전 비행(preflight), 검증(validation), 실제 게시(publish)의 세 단계로 구성되어 있으며, 일관된 소스 참조를 유지해야 합니다.

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

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

OpenClaw Mac Release

안정적인 macOS 자산, 비공개 Mac 사전 비행, 공증, 앱캐스트 프로모션 또는 Mac 릴리스 복구와 관련된 작업에 $openclaw-release-maintainer, $openclaw-release-ci, $one-password와 함께 사용하세요.

자격 증명

  • Canonical ASC 항목: 볼트 Molty, 제목 API Key - App Store Connect - Personal - Release.
  • 필드: private_key_p8, key_id, issuer_id.
  • 현재 알려진 유효 키 ID: AKVLXW849T.
  • 레거시 미러: 볼트 Private, 제목 API Key - App Store Connect - Personal; 이전 참조를 위해 동기화 상태 유지.
  • 만료/취소된 키 증상: xcrun notarytool submit이 HTTP status code: 401. Unauthenticated 오류와 함께 실패.
  • GitHub Secrets를 설정하기 전에 xcrun notarytool history로 후보 ASC 자격 증명을 검증하세요.

1Password

  • $one-password 사용: 모든 op 작업은 하나의 지속적인 tmux 세션 내에서 수행되며, 비밀 출력 없음.
  • Molty 읽기를 위해 ~/.profile의 OP_SERVICE_ACCOUNT_TOKEN을 선호하세요.
  • MOLTY_OP_SERVICE_ACCOUNT_TOKEN이 살아있다고 가정하지 마세요; 이전에 삭제된 서비스 계정을 가리킨 적이 있습니다.
  • 서비스 토큰이 실패하면 상태 전용 검사만 수행: 토큰 존재/길이 및 op whoami; 토큰 값을 절대 출력하지 마세요.
  • 데스크톱 앱 인증이 필요하지만 Touch ID를 사용할 수 없는 경우, 수동 op account add --signin 경로를 위해 OP_BIOMETRIC_UNLOCK_ENABLED=false를 설정하세요.

GitHub Secrets

대상 비공개 리포지토리 환경: openclaw/releases-private, 환경 mac-release.

로컬 공증 인증 검증 후에만 설정:

  • APP_STORE_CONNECT_API_KEY_P8
  • APP_STORE_CONNECT_KEY_ID
  • APP_STORE_CONNECT_ISSUER_ID

혼합 소스에서 업데이트하지 마세요. 세 ASC 필드는 모두 동일한 1Password 항목에서 가져와야 합니다.

워크플로우 구조

  • 공개 릴리스 브랜치는 안정적인 태그/npm이 이미 배포된 후 Mac 전용 패키징 수정을 포함할 수 있습니다.
  • 해당 브랜치 변형을 빌드할 때 비공개 Mac 사전 비행/검증을 위해 source_ref=release/YYYY.M.D를 사용하세요.
  • tag=vYYYY.M.D를 원래 안정적인 릴리스 커밋을 가리키도록 유지하세요.
  • 실제 Mac 게시는 다음을 재사용해야 합니다:
    • 동일한 태그/소스 SHA에 대한 성공적인 비공개 Mac 사전 비행 실행
    • 동일한 태그/소스 SHA에 대한 성공적인 비공개 Mac 검증 실행
  • 사전 비행 소스 SHA가 태그 SHA와 다른 경우, 검증도 동일한 source_ref를 사용해야 합니다; 프로모션은 일치하지 않는 증명을 거부합니다.

공증

  • OpenClaw는 scripts/notarize-mac-artifact.sh를 사용합니다.
  • xcrun notarytool submit은 --no-s3-acceleration을 사용해야 합니다; 가속 업로드는 notarytool history가 성공해도 잘못된 401 오류를 표시할 수 있습니다.
  • 서명은 성공했지만 공증이 401로 즉시 실패하면 먼저 ASC 키의 신선도를 확인하세요.
  • 키 파일 작성 후 공증이 몇 분 동안 진행 중이면 이는 정상적인 Apple 대기 시간입니다; 맹목적으로 편집하지 마세요.

디스패치

비공개 사전 비행:

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

브랜치 변형 사전 비행에 대한 비공개 검증:

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

실제 게시:

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=<성공적인-사전-비행-실행> \
  -f validate_run_id=<성공적인-검증-실행> \
  -f allow_late_calver_recovery=false \
  -f public_release_branch=release/YYYY.M.D

확인

  • gh release view vYYYY.M.D --repo openclaw/openclaw는 zip, dmg, dSYM zip을 표시하고, 초안이나 프리릴리스가 아니어야 합니다.
  • 공개 main appcast.xml이 OpenClaw-YYYY.M.D.zip을 가리켜야 합니다.
  • Appcast 항목에는 sparkle:version, sparkle:shortVersionString, 길이 및 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.

관련 스킬