Skip to content
mplorentz edited this page Apr 18, 2022 · 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.

First Time Setup

  • Check out planetary-ios and follow the Developer Installation instructions in the README.md.
  • Check out planetary-social/planetary-config-ios repository.
  • brew install mono0926/license-plist/license-plist to install the tool that generates our acknowledgements.
  • 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.
  • 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 CHANGELOG.md in the Github repository.
  • Run fastlane beta to build and upload the app to TestFlight.
  • Commit changes

Deploy to TestFlight

  • Wait for the build to finish processing in the TestFlight dashboard.
  • Click on the build in the TestFlight Dashboard and fill out the Test Details box.
  • Distribute the TestFlight build to the appropriate groups and conduct UAT if necessary.

Submit for review

  • Fill out the App Store page
  • 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 "Submit for Review".
  • Perform final QA testing.

After QA & App Store Review Approval

  • Create a new page in the Release Notes section in Zendesk.
  • Tag the deployed commit with the semantic version number i.e. "1.0.7".
  • 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 master
  • 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=")
  • Post release notes on Twitter
  • Post release notes on Discord
  • Update this wiki page with any procedural changes.

Clone this wiki locally