Skip to content
mplorentz edited this page Jul 1, 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
  • Get credentials for Twitter.
  • Get credentials for Zendesk.
  • Get credentials for the Planetary SSB account at https://planetary.rocks
  • Join our Discord or Matrix server (they are bridged together).

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

  • Translate the CHANGELOG into release notes by removing GitHub issue numbers and overly technical language.
  • Ask Sebastian to translate release notes into Spanish.
  • Ask Filip to translate release notes into Polish.
  • Open App Store Connect and click "Create a Release" in the top left.
  • 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 "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

  • Do a final check of TestFlight feedback and Github issues for any blocking bugs.
  • 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 main
  • 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