OpenClaw macOS-release (Sparkle)
Deze app levert nu Sparkle automatische updates. Release-builds moeten met een Developer ID worden ondertekend, gecomprimeerd (zip) en gepubliceerd met een ondertekende appcast-vermelding.Prereqs
- Developer ID Application-certificaat geïnstalleerd (voorbeeld:
Developer ID Application: <Developer Name> (<TEAMID>)). - Sparkle-privésleutelpad ingesteld in de omgeving als
SPARKLE_PRIVATE_KEY_FILE(pad naar je Sparkle ed25519-privésleutel; publieke sleutel ingebakken in Info.plist). Als dit ontbreekt, controleer~/.profile. - Notary-referenties (sleutelhangprofiel of API-sleutel) voor
xcrun notarytoolals je Gatekeeper-veilige DMG/zip-distributie wilt.- We gebruiken een Sleutelhang-profiel met de naam
openclaw-notary, aangemaakt op basis van App Store Connect API-sleutel-omgevingsvariabelen in je shellprofiel: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"
- We gebruiken een Sleutelhang-profiel met de naam
pnpm-deps geïnstalleerd (pnpm install --config.node-linker=hoisted).- Sparkle-tools worden automatisch opgehaald via SwiftPM op
apps/macos/.build/artifacts/sparkle/Sparkle/bin/(sign_update,generate_appcast, enz.).
Build & packaging
Notities:APP_BUILDkomt overeen metCFBundleVersion/sparkle:version; houd dit numeriek en monotoon (geen-beta), anders vergelijkt Sparkle het als gelijk.- Standaard wordt de huidige architectuur gebruikt (
$(uname -m)). Voor release-/universal-builds stel jeBUILD_ARCHS="arm64 x86_64"in (ofBUILD_ARCHS=all). - Gebruik
scripts/package-mac-dist.shvoor release-artefacten (zip + DMG + notarization). Gebruikscripts/package-mac-app.shvoor lokale/dev-packaging.
Appcast-vermelding
Gebruik de release note generator zodat Sparkle opgemaakte HTML-notities rendert:CHANGELOG.md (via scripts/changelog-to-html.sh) en embedt ze in de appcast-vermelding.
Commit de bijgewerkte appcast.xml samen met de release-artefacten (zip + dSYM) bij het publiceren.
Publiceren & verifiëren
- Upload
OpenClaw-2026.2.9.zip(enOpenClaw-2026.2.9.dSYM.zip) naar de GitHub-release voor tagv2026.2.9. - Zorg dat de ruwe appcast-URL overeenkomt met de ingebakken feed:
https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml. - Sanitychecks:
curl -I https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xmlretourneert 200.curl -I <enclosure url>retourneert 200 na het uploaden van de assets.- Voer op een eerdere publieke build “Check for Updates…” uit via het tabblad About en verifieer dat Sparkle de nieuwe build probleemloos installeert.