Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 2.38 KB

RELEASING.md

File metadata and controls

56 lines (38 loc) · 2.38 KB

Releasing a new version

  1. You must be listed as an owner of the pods ListableUI and BlueprintUILists.

    To check this run:

    bundle exec pod trunk info ListableUI
    bundle exec pod trunk info BlueprintUILists

    See the CocoaPods documentation for pod trunk for more information about setting up credentials on your device. If you need to be added as an owner, ping in #listable on Slack (Square only).

  2. Make sure you're on the main branch, and git pull to get the latest commits.

  3. Create a branch off main to update the version numbers and Podfile.lock. An example name would be your-username/release-0.1.0.

  4. Update localized strings. Find the sha of the latest commit with git log, then run ./Scripts/install_localized_strings.sh [sha] to download the latest translations.

  5. Update the library version in version.rb if it has not already been updated (it should match the version number that you are about to release).

  6. Update CHANGELOG.md (in the root of the repo), moving current changes under Main to a new section under Past Releases for the version you are releasing.

    The changelog uses reference links to link each version's changes. Remember to add a link to the new version at the bottom of the file, and to update the link to [main].

  7. Run bundle exec pod install to update the Podfile.lock with the new versions.

  8. Commit the podspec version bumps and the Podfile.lock update.

    git commit -am "Bumping versions to 0.1.0."
  9. Re-generate the documentation.

    bundle exec Scripts/generate_docs.sh
  10. Push your branch and open a PR into main.

  11. Once the PR is merged, fetch changes and tag the release, using the merge commit:

    git fetch
    git tag 0.1.0 <merge commit SHA>
    git push origin 0.1.0
  12. Publish to CocoaPods

    Note: You may also need to quit Xcode before running these commands in order for the linting builds to succeed.

    LISTABLE_PUBLISHING=true bundle exec pod trunk push ListableUI.podspec
    # The --synchronous argument ensures this command builds against the
    # version of ListableUI that we just published.
    LISTABLE_PUBLISHING=true bundle exec pod trunk push BlueprintUILists.podspec --synchronous