Release process - bonkey/zalando-commerce-ios GitHub Wiki

Release process is heavily based on calypso.rb.

It consists of the following basic steps:

  1. Update version number
  2. Create release notes
  3. Update docs
  4. Publish in CococaPods
  5. Remove finished issues from the projects

They are done with simple script commands.

Optional: preview changelog

./calypso.rb release preview

Presents contents of the generated release notes.

Update version and create release notes

./calypso.rb release create
  1. Runs ./calypso.rb version create internally (updates version number, creates and pushes git tag)
  2. Builds release notes from closed issues since last release
  3. Creates a draft of release on github.com and opens it in browser

Next Steps

  1. Refine the issues opened in the browser
  2. Issues that has multiple tags are repeated for each tag (decide manually which tag should be kept)
  3. Some issues are not important to be mentioned at all (remove them)
  4. Publish the release

Update public documentation

Use this command on a separate branch in order to create a PR to the master

./calypso.rb docs publish

More details: Build code documentation.

Publish in CocoaPods repository

./calypso.rb pod publish

More details: CocoaPods publication

Note: Carthage is not centralized. Everything needed is already inside the repository. (more)

Clean issues from projects

./calypso.rb issues clean_closed

Removes all closed issues from main GitHub Projects (defined in CLEANABLE_GITHUB_PROJECT_COLUMNS in consts.rb)

Verify correctness of pods

Buddybuild runs a build automatically for each created tag and, additionally and only for builds from tags, runs a script to verify podspecs.

However, it takes some time before it will finish and update Release with a link to demo app. So, after ~2 hours please check if a release contains the link and keep an eye on buddybuild notification emails.

References