- 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
- Confirm base branch is correct
- Input new version number
- Update CHANGELOG.latest.md to include the latest changes. Call out API changes (if any). You can use the existing CHANGELOG.md as a base for formatting. To compile the changelog, you can compare the changes between the base branch for the release (usually main) against the latest release, by checking https://github.com/revenuecat/purchases-flutter/compare/<latest_release>...<base_branch>. For example, https://github.com/revenuecat/purchases-flutter/compare/3.10.0...main.
- A new branch and PR will automatically be created
bundle exec fastlane update_hybrid_common version:x.x.x
to set the purchases-hybrid-common version number if needed.- If purchases-hybrid-common was updated, run
pod update PurchasesHybridCommon
in bothMagicWeather
andpurchase_tester
- Wait until PR is approved (don't merge yet) and pull branch from origin (to make sure you've got all the changes locally)
- Run
flutter pub publish --dry-run
. Fix any errors if any show - When the PR is approved, approve the hold job created in CircleCI. CircleCI will create a tag for the version. Alternatively, you can tag the last commit in the release branch and push it to the repository.
- The rest will be performed automatically by CircleCI. If the automation fails, you can revert to manually calling
bundle exec fastlane release
. - After that, you can merge the release PR to main and merge the bump to the next snapshot version PR right after.