OpenClaw macOS 릴리스 (Sparkle)
이 앱은 이제 Sparkle 자동 업데이트를 제공합니다. 릴리스 빌드는 Developer ID로 서명되고, 압축된 후, 서명된 appcast 항목과 함께 게시되어야 합니다.Prereqs
- Developer ID Application 인증서가 설치되어 있어야 합니다 (예:
Developer ID Application: <Developer Name> (<TEAMID>)). - Sparkle 개인 키 경로가 환경 변수로 설정되어 있어야 합니다:
SPARKLE_PRIVATE_KEY_FILE(귀하의 Sparkle ed25519 개인 키 경로; 공개 키는 Info.plist에 포함됨). 누락된 경우~/.profile을 확인하세요. - Gatekeeper-안전 DMG/zip 배포를 원하신다면
xcrun notarytool을 위한 공증 자격 증명 (키체인 프로필 또는 API key)이 필요합니다.- 우리는
openclaw-notary라는 이름의 Keychain 프로필을 사용하며, 이는 App Store Connect API 키 환경 변수를 통해 셸 프로필에서 생성됩니다:APP_STORE_CONNECT_API_KEY_P8,APP_STORE_CONNECT_KEY_ID,APP_STORE_CONNECT_ISSUER_IDecho "$APP_STORE_CONNECT_API_KEY_P8" | sed 's/\\n/\n/g' > /tmp/openclaw-notary.p8xcrun notarytool store-credentials "openclaw-notary" --key /tmp/openclaw-notary.p8 --key-id "$APP_STORE_CONNECT_KEY_ID" --issuer "$APP_STORE_CONNECT_ISSUER_ID"
- 우리는
pnpm종속 사항 설치됨 (pnpm install --config.node-linker=hoisted).- Sparkle 도구는 SwiftPM을 통해 자동으로 가져옵니다:
apps/macos/.build/artifacts/sparkle/Sparkle/bin/(sign_update,generate_appcast, 등).
Build & package
Notes:APP_BUILD는CFBundleVersion/sparkle:version에 매핑됩니다; 이를 숫자 + 단조롭게 유지하세요 (-beta없음), 그렇지 않으면 Sparkle이 이를 동등하게 비교합니다.- 기본적으로 현재 아키텍처로 설정됩니다 (
$(uname -m)). 릴리스/유니버설 빌드를 위해BUILD_ARCHS="arm64 x86_64"로 설정하세요 (또는BUILD_ARCHS=all). - 릴리스 아티팩트를 위한
scripts/package-mac-dist.sh를 사용하세요 (zip + DMG + 공증). 로컬/개발 패키징을 위해scripts/package-mac-app.sh를 사용하세요.
Appcast entry
Sparkle가 서식 있는 HTML 노트를 렌더링할 수 있도록 릴리스 노트 생성기를 사용하세요:CHANGELOG.md에서 HTML 릴리스 노트를 생성 (이를 통해 scripts/changelog-to-html.sh)하고 이를 appcast 항목에 포함합니다. 릴리스 자산 (zip + dSYM)과 함께 업데이트된 appcast.xml을 커밋하세요.
Publish & verify
OpenClaw-2026.2.21.zip(및OpenClaw-2026.2.21.dSYM.zip)을 태그v2026.2.21에 대한 GitHub 릴리스에 업로드합니다.- 원시 appcast URL이 굽힌 피드와 일치하는지 확인합니다:
https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml. - 무결성 검사:
curl -I https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml은 200을 반환해야 합니다.- 자산 업로드 후
curl -I <enclosure url>은 200을 반환해야 합니다. - 이전 공개 빌드에서 “업데이트 확인…”을 수행하고 Sparkle이 새로운 빌드를 문제없이 설치하는지 확인합니다.