- DropDMG, with a configuration called "Recipe Robot" that has the proper layout and settings
- Xcode and command line tools
- Carthage (install using
brew install carthage
)
-
Update frameworks with Carthage:
cd ./app carthage update --platform macOS
-
Ensure both the
MARKETING_VERSION
variables in app/Recipe Robot.xcodeproj/project.pbxproj have been updated. -
Ensure the version in scripts/recipe_robot_lib/tools.py has been updated.
-
Ensure the change log has been updated and reflects actual release date.
-
Merge development branch to main/master branch.
-
Run Recipe Robot unit tests and fix any errors. (See scripts/test/README.md for detailed steps.)
-
Open Xcode and choose Product > Archive.
-
Click Distribute App > Direct Distribution > Distribute. Wait for notarization to complete.
-
Once ready, click Export Notarized App and save to build/Release/Recipe Robot.app.
-
Build a release disk image:
rm -fv build/RecipeRobot*.dmg dropdmg --config-name "Recipe Robot" --destination build/ "build/Release/Recipe Robot.app" autoload zmv zmv -v 'build/Recipe Robot (*).dmg' 'build/RecipeRobot-$1.dmg' open build/
-
Create new release on GitHub with title format
Recipe Robot X.X.X
. Set label format tovX.X.X
. Add notes from change log. Attach built disk image. -
Trigger a GitHub Pages build, which updates the Sparkle feed (using @huangyq23's method detailed here):
git checkout gh-pages git commit --allow-empty -m "Trigger gh-pages build" git push git checkout main
-
Announce to autopkg and other relevant channels, if desired.
-
Create new
dev
branch. -
Bump versions for development:
-
MARKETING_VERSION
variables in app/Recipe Robot.xcodeproj/project.pbxproj -
Version in scripts/recipe_robot_lib/tools.py
-