
OpenClaw Mac Release
FreeAutomate macOS release signing and notarization.
Free · Opens the source repo
What OpenClaw Mac Release does
OpenClaw Mac Release is a skill designed to streamline the process of signing, notarizing, and promoting macOS applications. It integrates seamlessly with other tools such as $release-openclaw-maintainer, $release-openclaw-ci, and $one-password, ensuring that all necessary credentials and workflows are managed efficiently. This skill is particularly useful for developers and maintainers who need to ensure that their macOS applications are properly signed and notarized before distribution.
The skill provides a structured workflow for handling macOS releases, including validation of Apple credentials and management of GitHub secrets necessary for the release process. Users can leverage the skill to perform preflight checks, validate builds, and manage the promotion of assets to the public GitHub releases page. By following the defined commands and workflows, users can minimize errors and streamline their release process, making it easier to maintain high-quality standards for their applications.
OpenClaw Mac Release also emphasizes security by ensuring that sensitive information, such as service tokens and private keys, is handled appropriately. It offers guidance on using 1Password for credential management and provides clear instructions for validating and updating GitHub secrets. This focus on security is crucial for developers who need to protect their applications and maintain compliance with Apple's notarization requirements.
Overall, OpenClaw Mac Release is an essential tool for developers working on macOS applications who want to automate and secure their release processes. By reducing the complexity of signing and notarization, it allows developers to focus more on building great software rather than managing the intricacies of the release pipeline.
When to use it
Use this skill when preparing macOS applications for release, especially when notarization and asset promotion are involved.
When not to use it
This skill is not suitable for extended-stable releases, as it does not handle those workflows or inherit macOS assets.
What you can build with it
Automating macOS Releases
Use OpenClaw Mac Release to automate the signing and notarization of your macOS applications, ensuring compliance with Apple's requirements.
Managing GitHub Secrets
Leverage this skill to handle GitHub secrets securely, streamlining the process of updating and validating credentials for your releases.
Preflight Checks for Releases
Perform preflight checks on your macOS builds before promotion to ensure that all necessary validations are met.
How to install OpenClaw Mac Release
View source1. Install with the skills CLI
npx skills add openclaw/openclaw/release-openclaw-mac --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by openclawOpenClaw Mac Release
Use with $release-openclaw-maintainer, $release-openclaw-ci, $one-password, and $release-private if it exists when stable macOS assets, release-ops mac preflight, notarization, appcast promotion, or mac release recovery is involved.
This is a regular stable-release skill. Do not invoke it for extended-stable; that track does not inherit macOS assets, appcast promotion, or a GitHub Release unless the current extended-stable release policy explicitly adds them.
Credentials
- Resolve Peter-owned ASC item refs, key ids, issuer ids, and service-token provenance from
$release-private. - Fields:
private_key_p8,key_id,issuer_id. - Stale/revoked key symptom:
xcrun notarytool submitfails withHTTP status code: 401. Unauthenticated. - Validate candidate ASC credentials with
xcrun notarytool historybefore setting GitHub secrets.
1Password
- Use
$one-password: allopwork inside one persistent tmux session, no secret output. - Use the service-token guidance from
$release-privatewhen available. - If a service token fails, run status-only checks: token present/length and
op whoami; never print token values. - If desktop app auth is needed but Touch ID is unavailable, set
OP_BIOMETRIC_UNLOCK_ENABLED=falsefor the manualop account add --signinpath.
GitHub Secrets
Target release-ops repo environment: openclaw/releases, env mac-release.
Set only after local notary auth validation:
APP_STORE_CONNECT_API_KEY_P8APP_STORE_CONNECT_KEY_IDAPP_STORE_CONNECT_ISSUER_ID
Do not update these from mixed sources. All three ASC fields must come from the same 1Password item.
Workflow Shape
openclaw/openclawis the public product repo. Its GitHub Releases page is where macOS assets are ultimately attached.openclaw/openclawmacos-release.ymlis public handoff validation only. It never signs, notarizes, or uploads macOS assets, regardless ofpreflight_only.openclaw/releasesis the restricted release-ops repo. Its macOS workflows sign, notarize, validate, and promote assets onto theopenclaw/openclawGitHub release.- Public release branch may carry mac-only packaging fixes after the stable tag/npm are already live.
- Use
source_ref=release/YYYY.M.PATCHfor release-ops mac preflight/validation when building that branch variation. - Keep
tag=vYYYY.M.PATCHpointing at the original stable release commit. - Real mac publish must reuse:
- a successful release-ops mac preflight run for the same tag/source SHA
- a successful release-ops mac validation run for the same tag/source SHA
- Release-ops preflight and real publish enter the protected
mac-releaseenvironment in thebuild_sign_and_packagejob. Operators may be able to trigger the workflow while Vincent or another environment reviewer approves the paused deployment before signing/notarization/promotion proceeds. - If preflight source SHA differs from tag SHA, validation must also use the same
source_ref; promotion rejects mismatched proof.
Notarization
- OpenClaw uses
scripts/notarize-mac-artifact.sh. xcrun notarytool submitshould use--no-s3-acceleration; accelerated upload can surface misleading 401s even whennotarytool historysucceeds.- If signing succeeds but notarization fails immediately with 401, check ASC key freshness first.
- If notarization stays in progress for several minutes after key-file write, that is normal Apple wait time; do not edit blindly.
Dispatch
The public handoff workflow validates the tag, source, build, and package metadata before publication. It does not require a GitHub release page because it does not upload assets. Keep this validation before the real publish workflow; the publisher owns draft creation and final undraft.
Public handoff validation:
gh workflow run macos-release.yml --repo openclaw/openclaw \
--ref release/YYYY.M.PATCH \
-f tag=vYYYY.M.PATCH \
-f preflight_only=true \
-f public_release_branch=release/YYYY.M.PATCH
- Use the public release branch as the workflow ref so the Actions list displays
release/YYYY.M.PATCH, matching prior stable macOS handoff runs. - Do not use
--ref mainor--ref vYYYY.M.PATCHfor this public handoff validation. The workflow checks out the tag from thetaginput internally.
Release-ops preflight:
gh workflow run openclaw-macos-publish.yml --repo openclaw/releases --ref main \
-f tag=vYYYY.M.PATCH \
-f source_ref=release/YYYY.M.PATCH \
-f preflight_only=true \
-f smoke_test_only=false \
-f allow_late_calver_recovery=false \
-f public_release_branch=release/YYYY.M.PATCH
Wait for the run to reach the mac-release environment approval if GitHub
pauses it, then get approval from Vincent or another configured environment
reviewer. Record the successful preflight run id.
Release-ops validation for a branch-variation preflight:
gh workflow run openclaw-macos-validate.yml --repo openclaw/releases --ref main \
-f tag=vYYYY.M.PATCH \
-f source_ref=release/YYYY.M.PATCH
Record the successful validation run id.
Real publish:
gh workflow run openclaw-macos-publish.yml --repo openclaw/releases --ref main \
-f tag=vYYYY.M.PATCH \
-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.PATCH
Wait for the mac-release environment approval again if GitHub pauses the real
publish run before it promotes assets.
- Release-ops
openclaw/releasespublish/validate workflows run from their own trustedmainworkflow ref. Real publish has a guard that rejects any other workflow ref. That displayedmainref is expected; the public OpenClaw source is selected bytagand optionalsource_ref.
Verify
gh release view vYYYY.M.PATCH --repo openclaw/openclawshows zip, dmg, dSYM zip, not draft, not prerelease.- Public
mainappcast.xmlpoints atOpenClaw-YYYY.M.PATCH.zip. - Appcast entry has
sparkle:version,sparkle:shortVersionString, length, andsparkle:edSignature.
Frequently asked questions about OpenClaw Mac Release
Similar skills
Turborepo
Optimized build system for JavaScript/TypeScript monorepos.
Azure Pipelines Validation
Streamline your Azure DevOps pipeline changes locally.
Azure Developer CLI
Streamline your Azure project workflows with best practices.
Azure Container Registry CLI
Manage Azure Container Registry resources with ease.
Aspire
Build and orchestrate polyglot distributed applications seamlessly.
Vercel CLI
Manage and deploy Vercel projects from the command line.
