-
Define the next semantic version
Semantic versioning: a.b.c
- a: major breaking changes
- b: new functionality, new features
- c: any other small changes
-
Checkout the main branch and make sure it is up-to-date:
git checkout main && git pull
-
Create a new branch
-
Update the CHANGELOG.md file with changes of this release
-
Change the version in
gradle.properties
-
Change the version in
maestro-cli/gradle.properties
-
git commit -am "Prepare for release X.Y.Z."
(where X.Y.Z is the new version) -
Submit a PR with the changes against the main branch
-
Merge the PR
git tag -a vX.Y.Z -m "Version X.Y.Z"
(where X.Y.Z is the new version)git push --tags
- Wait until all Publish actions have completed https://github.com/mobile-dev-inc/maestro/actions
This step also published Maestro Android SDK.
- Log in to Sonatype
- Close the uploaded staging repository
- Release the closed staging repository
- Trigger the Publish CLI Github action
- Test installing the cli by running
curl -Ls "https://get.maestro.mobile.dev" | bash
- Check the version number
maestro --version
This step is optional and only required if there are changes to the iOS SDK. Important note if your changes include new APIs or breaking changes - make sure to reflect that in React Native SDK as well.
Run this after a tag is pushed to remote.
./scripts/publish-ios-sdk.sh
This step is optional and only required if there are changes to the React Native SDK.
Before you start, make sure to sign in into npm package manager (credentials are in the shared password manager).
Then
./maestro-sdk/rn/scripts/publish.sh
Note that version name is imported automatically from gradle.properties
and is set to match Maestro version.