fleet/android/RELEASE.md

87 lines
2.3 KiB
Markdown
Raw Normal View History

# Release process
## 1. Create RC branch
```bash
git checkout main
git pull origin main
git checkout -b rc-minor-fleetd-android-v1.X.X
```
## 2. Update version numbers
In `app/build.gradle.kts`, update:
```kotlin
defaultConfig {
versionCode = 2 // Increment by 1 each release
versionName = "1.1.0" // Semantic version for display
}
```
- `versionCode`: Integer that must increase with each release (Google Play requirement)
- `versionName`: Human-readable version string shown to users
## 3. Update CHANGELOG.md
Add an entry for the new version with changes since the last release.
## 4. Commit and push RC branch
```bash
git add app/build.gradle.kts CHANGELOG.md
git commit -m "Prepare release v1.1.0"
git push origin rc-minor-fleetd-android-v1.X.X
```
## 5. Test the RC
- Build and test the release candidate
- Fix any issues on the RC branch (cherry-pick fixes from main if applicable)
## 6. Build signed release
Ensure `keystore.properties` is configured with the release signing key.
```bash
./gradlew clean bundleRelease
```
Output: `app/build/outputs/bundle/release/app-release.aab`
## 7. Upload to Google Play
1. Go to [Google Play Console](https://play.google.com/console).
2. Select the Fleet app (`com.fleetdm.agent`).
3. Navigate to Release > Production.
4. Upload the signed .aab file.
5. Add release notes at the bottom of the page.
6. Select save, then select **Go to overview** in the modal that pops up.
7. You'll be redirected to **Publishing overview** page, where you need to select **Sent to review**.
6. After Google approves the app, they will send an email tothe main Google Play console account.
## 8. Tag the release
After the release is uploaded, tag the RC branch:
```bash
git checkout rc-minor-fleetd-android-v1.X.X
git tag fleetd-android-v1.X.X
git push origin rc-minor-fleetd-android-v1.X.X
```
## 9. Bring version bump and CHANGELOG to main
```bash
git checkout main
git pull origin main
git checkout -b bring-fleetd-android-v1.X.X-to-main
git checkout rc-minor-fleetd-android-v1.X.X -- android/app/build.gradle.kts android/CHANGELOG.md
git commit -m "Update version and CHANGELOG for fleetd-android-v1.X.X"
git push origin bring-fleetd-android-v1.X.X-to-main
```
Then open a PR to merge `bring-fleetd-android-v1.X.X-to-main` into `main`.
This brings only the version bump and CHANGELOG updates to main, not other RC changes.