-
You must be listed as an owner of the pods
ListableUI
andBlueprintUILists
.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).
-
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 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. -
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 underPast 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]
. -
Run
bundle exec pod install
to update thePodfile.lock
with the new versions. -
Commit the podspec version bumps and the
Podfile.lock
update.git commit -am "Bumping versions to 0.1.0."
-
Re-generate the documentation.
bundle exec Scripts/generate_docs.sh
-
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.
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