Skip to content

Latest commit

 

History

History
104 lines (69 loc) · 2.19 KB

File metadata and controls

104 lines (69 loc) · 2.19 KB

Releasing MobCrew

Guide for creating MobCrew releases.

Prerequisites

  1. GitHub CLI: brew install gh && gh auth login
  2. Node.js: brew install node

Quick Release

./scripts/release.sh 1.0.0

This builds the app, creates a DMG, and publishes to GitHub Releases.

Pre-Release Checklist

  • All tests pass: xcodebuild test -project MobCrew/MobCrew.xcodeproj -scheme MobCrew -destination 'platform=macOS'
  • Manual testing complete (see ../TESTING.md)
  • Version number is appropriate (follow semver)
  • No uncommitted changes: git status

Release Process

1. Test with a Draft Release

./scripts/release.sh 1.0.0 --draft

2. Create the Release

./scripts/release.sh 1.0.0

3. Verify

Version Numbering

  • Major (1.0.0 → 2.0.0): Breaking changes
  • Minor (1.0.0 → 1.1.0): New features
  • Patch (1.0.0 → 1.0.1): Bug fixes

Script Details

Script Purpose
scripts/build-release.sh [version] Builds app with version injection
scripts/create-dmg.sh <version> Creates DMG from built app
scripts/release.sh <version> Full release (build → DMG → GitHub)

Troubleshooting

"gh is not authenticated"

gh auth login

"Node.js is required"

brew install node

Build Fails

Check Xcode is installed:

xcode-select --install

DMG Creation Fails

The create-dmg tool is downloaded via npx on first run. Ensure you have internet access.

Release Already Exists

Delete the existing release first:

gh release delete v1.0.0 --yes
git tag -d v1.0.0
git push origin :v1.0.0

Future Improvements

  • Code Signing: Requires Apple Developer ID ($99/year)
  • Notarization: Allows Gatekeeper approval
  • GitHub Actions: Automate releases on tag push
  • Sparkle: In-app auto-update mechanism