Updating Android release process (#39581)
Updates per discussion with @mostlikelee See Gong for details.
This commit is contained in:
+51
-9
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user