Skip to content

Release process

Roma Sosnovsky edited this page Dec 5, 2022 · 1 revision

iOS build release process

  1. move all finished issues that we took action on to the current milestone from other milestones except the "discussion" milestone (after this step, discussion milestone is the only one that is expected to have any finished issues other than the current milestone). Example:
image
  1. compose release notes, by copying all issue names from the milestone to the milestone description and editorializing them as follows:
  • all refactoring issues with no change of functionality should be as one item called "internal improvements"
  • group of related issue that together are for a single goal should be together (in 1.2.0 it was "added drafts functionality")
  • if the milestone includes "add feature X" and then "fix a bug for the same feature X" then only "add feature X" should be on the list. We care about the difference between last released milestone and this one, not each step we took
  • editorialize remaining issues to describe them from the point of view of the user and customer, what do the changes mean for them. So for example issue called "app crashes when we do X" should be editorialized as "fixed a crash when doing X" in release notes. The issue title can also completely differ from release notes if the issue title was very technical or internal-focused, and it wouldn't be clear to users what the difference is.
  • change order of release notes from most impactful on top, to least impactful on the bottom
  1. increment version, build + publish, submit version increase PR
  2. go to https://appstoreconnect.apple.com/ -> FlowCrypt -> TestFlight -> iOS, where the app is showing Ready to submit. In Groups column click + and choose Public Beta
image
  1. What to test modal will pop up. Paste the release notes there.

  2. You should see it Waiting for review on TestFlight now

image
  1. go to FlowCrypt -> App Store -> Add Build -> 1.2.0. Save, ensure version on the page matches the build version.

  2. Add for Review, ensuring that Version Release on the bottom of the page is set to manually (for now)

  3. close the github milestone

Enterprise build release

  1. build/release enterprise app
  2. Add for enterprise TestFlight with same steps, except add group "Enterprise Testers"
  3. Add for Enterprise App Store release with an automatic release +2 calendar weeks
  4. write emails to our enterprise customers that a new iOS version is ready for them to test, and that it will be auto-released on X date. Add release notes. (copy me in the email)
Clone this wiki locally