manaflow-ai

cmux-release

"cmux release workflow, version bumping, changelog updates, pretag guard, release tags, and release asset expectations. Use when preparing or troubleshooting a cmux release."

manaflow-ai 26,799 2,314 Updated 1mo ago

Resources

2
GitHub

Install

npx skillscat add manaflow-ai/cmux/cmux-release

Install via the SkillsCat registry.

About this skill

This skill automates the cmux release process, including version bumping, changelog updates, pretag validation, and tag management. It solves the problem of manual, error-prone release steps by providing a standardized workflow with scripts for version increments, build number handling, and release asset expectations. Developers should use it when preparing or troubleshooting a cmux release.

SKILL.md

cmux Release

Prefer the /release command. It determines the new version (minor by default), gathers commits since the last tag, updates CHANGELOG.md, runs ./scripts/bump-version.sh, commits, runs ./scripts/release-pretag-guard.sh, then tags and pushes.

The docs changelog page at web/app/[locale]/(landing)/docs/changelog/page.tsx renders from CHANGELOG.md, so there is no separate docs changelog source to update.

Version bumping

./scripts/bump-version.sh          # minor (0.15.0 -> 0.16.0)
./scripts/bump-version.sh patch    # 0.15.0 -> 0.15.1
./scripts/bump-version.sh major    # 0.15.0 -> 1.0.0
./scripts/bump-version.sh 1.0.0    # explicit version

This updates MARKETING_VERSION and CURRENT_PROJECT_VERSION. The build number auto-increments and must increase for Sparkle auto-update to work. Bump the minor version unless explicitly asked otherwise.

Tagging

./scripts/release-pretag-guard.sh
git tag vX.Y.Z
git push origin vX.Y.Z
gh run watch --repo manaflow-ai/cmux

If the pretag guard fails, run ./scripts/bump-version.sh, commit the build-number bump, then retry.

Release artifacts and secrets

  • The release asset is cmux-macos.dmg, attached to the tag. The README download button points to releases/latest/download/cmux-macos.dmg.
  • Signing and notarization require the GitHub secrets APPLE_CERTIFICATE_BASE64, APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, APPLE_TEAM_ID.

Detailed reference

Categories