-
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:
-
You must be listed as an owner of the pods
BlueprintUI
andBlueprintUICommonControls
.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).
-
Make sure you're on the
main
branch, andgit pull
to get the latest commits. -
Create a branch off
main
to update the version numbers andPodfile.lock
. An example name would beyour-username/release-0.1.0
. -
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). -
Update
CHANGELOG.md
(in the root of the repo), moving current changes underMain
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]
. -
Change directory into the
SampleApp
dir:cd SampleApp
. -
Run
bundle exec pod install
to update thePodfile.lock
with the new versions. -
Change back to the root directory (
cd ..
) to commit the podspec version bumps and thePodfile.lock
update.git commit -am "Bumping versions to 0.1.0."
-
Push your branch and open a PR into
main
.
-
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
-
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