app-release
Use this skill when you need to publish a new version of the Skill Lake application.
Workflow
- Check Prerequisites: Ensure you are on the
mainbranch and have no uncommitted changes. - Determine Version: Ask the user for the new version number (e.g.,
1.1.8) if not provided. - Execute Release: Run the
./release.shscript with the new version as an argument. - Verification: Confirm that the build succeeded, the DMG was created, and the release was pushed to GitHub and the Homebrew tap.
Usage
./release.sh <new_version>
Example:
./release.sh 1.1.8
Features
- Code Validation: Automatically runs
flutter analyzeand checks formatting before building. - Automated Build: Builds the macOS app in release mode.
- DMG Packaging: Creates a signed DMG package for easy installation.
- Git Automation: Handles version bumping in
pubspec.yaml, commits, tagging, and pushing. - GitHub Integration: Creates or updates a GitHub Release and uploads the DMG.
- Homebrew Sync: Automatically updates the Homebrew Cask in the dedicated tap repository.
- UI Sync: Ensures the version displayed in the "About" dialog matches the released version using
package_info_plus.