Releases happen automatically every week. If you need to make a manual release, there are 2 ways you can do that: using CircleCI and locally, using Fastlane.
Trigger a pipeline in CircleCI for the branch you want to release (e.g. main
), and pass a paramater with name action
and value bump
.
The same can be done using the CircleCI API like so:
curl --location --request POST 'https://circleci.com/api/v2/project/github/RevenueCat/purchases-kmp/pipeline' \
--header 'Content-Type: application/json' \
-u "your_circleci_personal_token:" \
-d '{
"branch": "main",
"parameters": {
"action": "bump"
}
}'
More information on triggering pipelines can be found in the CircleCI docs.
- Create a
fastlane/.env
file with your GitHub API token (seefastlane/.env.SAMPLE
). This will be used to create the PR, so you should use your own token so the PR gets assigned to you. - Run
bundle exec fastlane bump github_rate_limit:10
. Thegithub_rate_limit
argument is optional, but recommended, to avoid hitting the GitHub API rate limit while generating the changelog.- Confirm base branch is correct.
- Input the new version number. You can omit the build metadata containing the purchases-hybrid-common version (e.g.
+13.2.0
). This will be added automatically for stable releases. - Optionally update
CHANGELOG.latest.md
when the auto-generated one is not sufficient. Call out public API changes (if any). - A new branch and PR will automatically be created.
- Review the PR and approve it if it's okay.
- Then approve the hold job created in CircleCI. CircleCI will now create a tag for the version, and continue the release.
- The release will be published automatically by CircleCI.
- After that, you can merge the release PR to
main
, and merge the PR bumping to the next-SNAPSHOT
version right after.