2025-12-12 15:07:02 +00:00
|
|
|
# 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
|
|
|
|
|
|
2026-01-27 16:25:33 +00:00
|
|
|
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.
|
2025-12-12 15:07:02 +00:00
|
|
|
|
|
|
|
|
## 8. Tag the release
|
|
|
|
|
|
|
|
|
|
After the release is uploaded, tag the RC branch:
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-01-27 20:20:24 +00:00
|
|
|
git checkout rc-minor-fleetd-android-v1.X.X
|
2025-12-12 15:07:02 +00:00
|
|
|
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
|
2026-01-27 20:20:24 +00:00
|
|
|
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
|
2025-12-12 15:07:02 +00:00
|
|
|
git commit -m "Update version and CHANGELOG for fleetd-android-v1.X.X"
|
2026-01-27 20:20:24 +00:00
|
|
|
git push origin bring-fleetd-android-v1.X.X-to-main
|
2025-12-12 15:07:02 +00:00
|
|
|
```
|
|
|
|
|
|
2026-01-27 20:20:24 +00:00
|
|
|
Then open a PR to merge `bring-fleetd-android-v1.X.X-to-main` into `main`.
|
|
|
|
|
|
2025-12-12 15:07:02 +00:00
|
|
|
This brings only the version bump and CHANGELOG updates to main, not other RC changes.
|