Set up automated mobile app deployment via version tags#9
Conversation
- Trigger changed from push-to-main to v*.*.* tag pushes - Added deploy-android job using r0adkll/upload-google-play targeting beta track - Updated bump-version.js to commit, tag, and push automatically
|
Claude finished @cph5236's task in 1m 42s —— View job Code Review
SummaryThe PR establishes Android CI/CD using the Triplet Play Publisher Gradle plugin — a clean approach that avoids uploading/downloading AAB artifacts between jobs. A couple of issues need addressing. Findings1. Misleading comment in
|
Preview deployedhttps://cph5236.github.io/SimpleWeatherService/pr-previews/2131eb2a28cc648235e0fd0dafb57e9e5e427c01/ Commit:
|
- Pin r0adkll/upload-google-play to commit SHA (v1.1.3) to prevent supply chain risk - Remove unused aab-path job output and locate-aab step - Change deploy status from completed to inProgress (safer default) - Use annotated tag instead of lightweight tag in bump-version.js - Push only the new tag explicitly instead of --tags (all local tags) - Replace git -C path interpolation with cwd option in execSync calls
- Switch trigger from version tags to push-to-main/release/* branches - Add PR path: runs assembleDebug for verification (no secrets needed) - Replace r0adkll GitHub Action with publishReleaseBundle Gradle task using ANDROID_PUBLISHER_CREDENTIALS env var (matches HeapGame) - Collapse build + deploy into single job with event-based conditionals - Add Gradle Play Publisher plugin (triple-t 3.11.0) to android build - Upgrade Node from 22 to 24
Summary
This PR establishes a CI/CD pipeline for automated Android app builds and deployment to Google Play Console. The workflow is now triggered by semantic version tags (v*..) rather than branch pushes, and includes a new deployment job that uploads signed AAB files to the closed beta track.
Key Changes
push: [main, release/*]to tag-based triggering (tags: v*.*.*), enabling controlled releases via git tagslocate-aabstep to capture the AAB artifact path as a job output for downstream usedeploy-androidjob that downloads the built AAB and uploads it to Google Play Console's closed beta track using ther0adkll/upload-google-playactionbump-version.jsscript to automatically commit version changes, create a git tag, and push to origin — triggering the mobile CI/CD workflow without manual interventionImplementation Details
deploy-androidjob depends on theandroidbuild job and runs onubuntu-latestGOOGLE_PLAY_SERVICE_ACCOUNT_JSONsecrethttps://claude.ai/code/session_018hEQX5F36YGhne8fpZ449n