Skip to content

Latest commit

 

History

History
65 lines (42 loc) · 2.38 KB

RELEASING.md

File metadata and controls

65 lines (42 loc) · 2.38 KB

Releasing a new version

  1. Prepare a release

    # Cuts a release off of main with the given version number.
    Scripts/release.sh --version 1.2.3
    

Manual instructions can be found here:

  1. You must be listed as an owner of the pods BlueprintUI and BlueprintUICommonControls.

    To check this run:

    bundle exec pod trunk info BlueprintUI
    bundle exec pod trunk info BlueprintUICommonControls

    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 #blueprint 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 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).

  5. Update CHANGELOG.md (in the root of the repo), moving current changes under Main to a new section 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].

  6. Change directory into the SampleApp dir: cd SampleApp.

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

  8. Change back to the root directory (cd ..) to commit the podspec version bumps and the Podfile.lock update.

    git commit -am "Bumping versions to 0.1.0."
  9. Push your branch and open a PR into main.

  1. 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
  2. Publish to CocoaPods

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

    bundle exec pod trunk push BlueprintUI.podspec
    # The --synchronous argument ensures this command builds against the
    # version of BlueprintUI that we just published.
    bundle exec pod trunk push --synchronous BlueprintUICommonControls.podspec