Add Android release matrix + PR CI workflow#26
Merged
Conversation
added 2 commits
June 9, 2026 11:18
- Adds android matrix entry alongside mac/win/linux. - Gates the existing desktop build step with if: matrix.platform != 'android'. - Adds JDK 21 + Android SDK + Gradle cache setup (Capacitor 8 plugins like @capacitor/geolocation require JavaVersion.VERSION_21). - Decodes the keystore from ANDROID_KEYSTORE_BASE64 secret. - Runs set-android-version.js before mobile:sync so versionCode is correct. - Builds release APK + AAB with signing creds from secrets. - Renames APK to ClawControl-X.Y.Z.apk before the existing softprops/action-gh-release@v2 step picks it up. - Uploads AAB to Play Console production track as draft via r0adkll/upload-google-play@v1. continue-on-error so a Play hiccup doesn't strand the APK; explicit fail-job step keeps run status honest; AAB attached to workflow run as fallback artifact.
Triggers on PRs touching android-relevant paths (android/**, capacitor.config.ts, vite.config.mobile.ts, the two helper scripts, package.json/lock, src/**, plugins/capacitor-native-websocket/**, and this workflow file itself). No secrets exposed (debug build only, fork-safe). Uploads app-debug.apk as a 7-day workflow artifact for manual smoke-testing from the PR. Concurrency group cancels older runs on force-push.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 3 of the Android build pipeline (per spec and plan).
.github/workflows/release.ymlwith anandroidmatrix entry that builds a signed APK (attached to the GitHub Release) and a signed AAB (uploaded as a production-track draft to Play Console forcom.claw.control). Existing mac/win/linux jobs unchanged in behavior — only the build step gained anif: matrix.platform != 'android'guard..github/workflows/android-ci.yml: a fork-safe PR check that compilesassembleDebugand uploads the APK as a 7-day workflow artifact. No secrets exposed; debug build only.Both workflows use JDK 21 (Capacitor 8's
@capacitor/geolocationrequiresJavaVersion.VERSION_21).Secrets (all 5 are populated in this repo)
ANDROID_KEYSTORE_BASE64— base64-encoded upload keystoreANDROID_KEYSTORE_PASSWORD,ANDROID_KEY_ALIAS,ANDROID_KEY_PASSWORD— signing credsPLAY_SERVICE_ACCOUNT_JSON— Play Developer API service-account JSON (analytics@still-protocol-486316-c0.iam.gserviceaccount.com)Play upload flow
continue-on-error: trueso a Play API hiccup never strands the APK (which is already attached to the GitHub Release at that point).aab-fallback-<tag>(14-day retention) for manual upload, and a final stepexit 1s so the run shows red.draftstatus — nothing reaches end users until you click Submit for review in Play Console.Test plan
android-ci.ymlruns on this PR (it modifies.github/workflows/android-ci.yml, a triggering path) and uploads aapp-debug-<PR#>.apkartifact.release.ymlviagh workflow run release.yml --ref main -f tag=v1.8.0and verify:v1.8.0GitHub Release asClawControl-1.8.0.apk.com.claw.control→ Production shows a new draft release withversionCode 10800andversionName 1.8.0.🤖 Generated with Claude Code