Skip to content

Latest commit

 

History

History
45 lines (38 loc) · 2.86 KB

RELEASING.md

File metadata and controls

45 lines (38 loc) · 2.86 KB

Releasing CocoaPods

Environment Setup

Make sure to follow any initial setup instructions specified in the README.md.

  1. Clone Strata
  2. Run rake clone to setup the Strata repo and all of its submodules.
  3. Clone Rainforest.
  4. Run through Rainforest README to setup the repo and all of its submodules. Note that this may take a while.
  5. Run gem install postit.
  6. Setup options.yml configuration file:
    1. Include option for strata pointing to your Strata repo.
    2. Include option for branch_prefix to be used then making a release.
    3. Include paths to Rubygems & Bundler if releasing Molinillo.

Example options.yml file:

---
  strata: '~/Development/Strata'
  branch_prefix: 'dnkoutso/'
  rubygems: '~/Development/rubygems' # Optional unless a Molinillo release is required.
  bundler: '~/Development/bundler' # Optional unless a Molinillo release is required.
  1. Install gh CLI tool via brew install gh and run gh auth login.
  2. Make sure GPG is setup to your GitHub account keys.
  3. Get access to the gems you want to publish on rubygems.org.
  4. It is a good idea to run bundle install within the CocoaPods to ensure Bundler can be configured successfully.

Executing A Release

  1. If your release includes CocoaPods then open a PR that runs bundle update cocoapods. Ensure the build passes and is merged. This ensures CocoaPods will work with the new releases of all its dependencies that are about to be released.
  2. Run rake status to help you figure out which gems need a release.
  3. Run rake pull to update all repos (after checking out master on all of them).
  4. Run rake topological_order > topological_order.txt.
  5. For each gem you want to release, in topological order (go from the top of topological_order.txt to the bottom), run:
    1. Check formatting of latest release in the CHANGELOG.md.
    2. Install and use the latest Ruby version used by the gem you are releasing.
    3. Ensure the git config of the gem's repo is set to the account you are publishing with. Use git config user.name "John Doe" and git config user.email [email protected].
    4. Run rake super_release:[REPO_NAME, VERSION] (e.g. rake super_release\[Core,1.7.0\].
    5. If super_release fails for a gem then do the following:
      1. cd into the gem directory that failed.
      2. Run git reset --hard.
      3. Get the failure fixed, and start over.