Updating Android release process (#39581)

Updates per discussion with @mostlikelee 
See Gong for details.
This commit is contained in:
Victor Lyuboslavsky
2026-02-11 11:17:51 -06:00
committed by GitHub
parent 4304e54e7b
commit 08825ebf70
+51 -9
View File
@@ -14,6 +14,7 @@ In `app/build.gradle.kts`, update:
```kotlin
defaultConfig {
applicationId = "com.fleetdm.agent.stage"
versionCode = 2 // Increment by 1 each release
versionName = "1.1.0" // Semantic version for display
}
@@ -34,14 +35,25 @@ git commit -m "Prepare release v1.1.0"
git push origin rc-minor-fleetd-android-v1.X.X
```
## 5. Test the RC
## 5. Test the RC by releasing to the staging environment (com.fleetdm.agent.stage)
- Build and test the release candidate
- Fix any issues on the RC branch (cherry-pick fixes from main if applicable)
Prerequisites:
- Fleet server running with:
- `export FLEET_MDM_ANDROID_AGENT_PACKAGE=com.fleetdm.agent.stage`
- `export FLEET_MDM_ANDROID_AGENT_SIGNING_SHA256=uxe8ynMUe36j7avGtA2F4wHeA+gnQn6UbPP+7D3AbQQ=`
- In [Google Play Console](https://play.google.com/console) (using the "Google Play Admin" 1pass creds), add your Android MDM org ID to "Test and Release" --> "Advanced Settings" --> "Managed Google Play".
- Get the staging signing key from a previous releaser
## 6. Build signed release
### Build signed release
Ensure `keystore.properties` is configured with the release signing key.
Ensure `keystore.properties` is configured with the staging signing key:
```
storeFile=./qa-keystore.jks
storePassword=<get-this-from-a-previous-releaser>
keyAlias=fleet-android
keyPassword=<get-this-from-a-previous-releaser>
```
```bash
./gradlew clean bundleRelease
@@ -49,7 +61,37 @@ Ensure `keystore.properties` is configured with the release signing key.
Output: `app/build/outputs/bundle/release/app-release.aab`
## 7. Upload to Google Play
### Upload to Google Play
1. Go to [Google Play Console](https://play.google.com/console).
2. Select the Fleet staging app (`com.fleetdm.agent.stage`).
3. Navigate to "Test and release" > Production.
4. Select "Create new release"
5. Upload the signed .aab file.
6. Add release details at the bottom of the page.
7. Select Next, then Save, then select **Go to overview** in the modal that pops up.
8. You'll be redirected to **Publishing overview** page, where you need to select **Send 1 change for review**.
9. After Google approves the app, they will send an email to the Google Play console account.
### Test the release
Run through the testplans.
## 6. Release to production
Note: Only specific individuals have access to the release flow.
### Build signed release
Ensure `keystore.properties` is configured with the release signing key/password.
```bash
./gradlew clean bundleRelease
```
Output: `app/build/outputs/bundle/release/app-release.aab`
### Upload to Google Play
1. Go to [Google Play Console](https://play.google.com/console).
2. Select the Fleet app (`com.fleetdm.agent`).
@@ -58,9 +100,9 @@ Output: `app/build/outputs/bundle/release/app-release.aab`
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. After Google approves the app, they will send an email to the main Google Play console account.
## 8. Tag the release
## 7. Tag the release
After the release is uploaded, tag the RC branch:
@@ -70,7 +112,7 @@ 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
## 8. Bring version bump and CHANGELOG to main
```bash
git checkout main