Skip to content

Latest commit

 

History

History
57 lines (34 loc) · 2.07 KB

RELEASING.md

File metadata and controls

57 lines (34 loc) · 2.07 KB

Releasing new versions of Recipe Robot

Requirements

  • 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)

Steps

  1. Update frameworks with Carthage:

     cd ./app
     carthage update --platform macOS
    
  2. Ensure both the MARKETING_VERSION variables in app/Recipe Robot.xcodeproj/project.pbxproj have been updated.

  3. Ensure the version in scripts/recipe_robot_lib/tools.py has been updated.

  4. Ensure the change log has been updated and reflects actual release date.

  5. Merge development branch to main/master branch.

  6. Run Recipe Robot unit tests and fix any errors. (See scripts/test/README.md for detailed steps.)

  7. Open Xcode and choose Product > Archive.

  8. Click Distribute App > Direct Distribution > Distribute. Wait for notarization to complete.

  9. Once ready, click Export Notarized App and save to build/Release/Recipe Robot.app.

  10. 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/
    
  11. Create new release on GitHub with title format Recipe Robot X.X.X. Set label format to vX.X.X. Add notes from change log. Attach built disk image.

  12. 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
    
  13. Announce to autopkg and other relevant channels, if desired.

  14. Create new dev branch.

  15. Bump versions for development:

    • MARKETING_VERSION variables in app/Recipe Robot.xcodeproj/project.pbxproj

    • Version in scripts/recipe_robot_lib/tools.py