Skip to content
mplorentz edited this page Jun 17, 2024 · 41 revisions

If you are a Planetary employee who wants to know how to release Planetary's iOS app you have come to the right place. If you want to release a fork of Planetary this might be helpful too.

First Time Setup

  • Check out planetary-ios and follow the Developer Installation instructions in the CONTRIBUTING.md.
  • Check out planetary-social/planetary-config-ios repository.
  • brew install mono0926/license-plist/license-plist to install the tool that generates our acknowledgements.
  • Install fastlane: brew install fastlane
  • Get added to the Verse Communications Apple Developer team with Manager permissions or higher.
  • Ask an existing team members for the build secrets file and copy it to Resources/Secrets.release.plist.
  • Ask an existing team member for the auth key .p8 file put it at ~/.fastlane/AuthKey_4L8Z9W89TJ.p8
  • Tell git to never commit changes to the secrets
git update-index --skip-worktree Resources/Secrets.release.plist

Build & Upload

  • Checkout the latest commit of the main branch.
  • Create a release branch including the version number like release/1.0.16.
  • Update the preloaded feed using the instructions at https://github.com/planetary-social/feed_seralizer/blob/main/README.md
  • Increment the version number if necessary, following Semantic Versioning guidelines. You can do this by running fastlane bump_{major, minor, or patch}. Fastlane will automatically bump the build number later on.
  • Update the Unreleased section of the CHANGELOG.md in the Github repository (it will be properly labeled with the version and release number by fastlane).
  • Run fastlane beta to build and upload the app to TestFlight. The script will commit and push all changes.

Deploy to Planetary Employees

Deploy to Beta Testers

  • Deploy the app to Planetary employees (see above)
  • Translate CHANGELOG into release notes.
  • Enter release notes into the Test Details box.
  • Click the + button in the Groups section and add the "Beta Public" group to distribute the build to our public beta testers.

Submit for review

  • Open App Store Connect and click the blue plus button in the top left.
  • Enter the version number, like "1.3.4" and click ok.
  • Put the release notes in the What's New In This Version section for each language. You can change the language at the top.
  • Select the correct build in the Build section.
  • Select "Manually release this version" in the Version Release Section unless you have already completed testing and want the build to go out automatically.
  • Click "Save" in the top right.
  • Click "Add for Review".
  • Click "Submit for Review" on the next page.
  • Perform final QA testing.

After QA & App Store Review Approval

  • Do a final check of TestFlight feedback and Github issues for any blocking bugs.
  • Create a Github Release, copying in the tag name and a link to the CHANGELOG.
  • Click "Release this Version" in App Store Connect
  • Merge the release branch into main and delete it.
  • Post release notes to Planetary account at https://planetary.rocks. (Connect to replicate with sbot gossip.connect "net:planetary.rocks:8008~shs:l1sGqWeCZRA99gN+t9sI6+UOzGcHq3KhLQUYEwb4DCo=")
  • Update this wiki page with any procedural changes.