WearAmp is deployed to Google Play via GitHub Actions. Every merge to main automatically builds a signed release AAB and uploads it to the Internal Testing track.
The workflow lives at .github/workflows/deploy.yml and runs on every push to main. It:
run_number as both the versionCode and the patch component of the version name β so run 42 produces version 1.0.42.VERSION_MAJOR_MINOR from version.properties and combines it with the run number to form the full versionName (e.g. 1.0.42)../gradlew :app:bundleRelease (includes native debug symbols).wear:internal) on Google Play for package com.wearamp with draft status.Note: Since August 2023, Wear OS apps must be published on a dedicated Wear OS release track (
wear:internal,wear:production, etc.). The workflow usesstatus: draftbecause Google Play requires draft status for apps that havenβt been fully published yet. Once the app has its first production release, you can change the status tocompletedin the workflow to auto-publish.
Do this once and keep the file somewhere safe (not in the repo).
keytool -genkey -v \
-keystore wearamp-release.jks \
-alias wearamp \
-keyalg RSA -keysize 2048 -validity 10000
Base64-encode it so it can be stored as a GitHub secret:
# macOS
base64 -i wearamp-release.jks | tr -d '\n'
# Linux
base64 -w 0 wearamp-release.jks
github-deploy).In your repository go to Settings β Secrets and variables β Actions and add:
| Secret name | Value |
|---|---|
KEYSTORE_BASE64 |
Base64-encoded content of wearamp-release.jks (step 1) |
KEY_STORE_PASSWORD |
The keystore password you set in step 1 |
KEY_ALIAS |
wearamp (or whatever alias you used) |
KEY_PASSWORD |
The key password you set in step 1 |
GOOGLE_PLAY_SERVICE_ACCOUNT_JSON |
Full JSON content of the service account key from step 2 |
Google Play requires at least one manually uploaded AAB before the API can push subsequent updates. Build a release AAB locally (with your keystore environment variables set) or via Android Studio, then upload it to the Wear OS Internal Testing track in Play Console for package com.wearamp. After that, every merge to main is handled automatically.
Important: When uploading via Play Console, use the Wear OS release track β not the standard mobile internal testing track. Since August 2023, Wear OS updates must be published on a dedicated Wear OS track.
After creating the internal testing track, you must add testers or the release wonβt be available to anyone:
Edit version.properties and update VERSION_MAJOR_MINOR before merging:
VERSION_MAJOR_MINOR=1.1
The patch number is always the GitHub Actions run number (e.g. 1.1.58), and the versionCode is set to the same run number. You never need to manage either manually.
The ci.yml workflow runs on every pull request targeting main and: