一键导入
skymap-deploy-play-store
// Deploy Sky Map to the Google Play Store using fastlane. Trigger on "deploy to Play Store", "release to internal", "promote to beta/production", "upload metadata", or similar Play Store release requests.
// Deploy Sky Map to the Google Play Store using fastlane. Trigger on "deploy to Play Store", "release to internal", "promote to beta/production", "upload metadata", or similar Play Store release requests.
Use when asked to respond to, reply to, or draft replies for Google Play Store reviews for Sky Map. Triggers on "respond to reviews", "reply to reviews", "draft review replies", or any request to handle user feedback from the Play Store.
Build, test, deploy, and manage data generation for Sky Map. Trigger on "build the app", "run tests", "deploy to device", "generate data", "run lint", or similar build/dev workflow requests.
Make a new release of Sky Map and publish it to the Play Store.
Fully automated release note generator for Sky Map. Just provide the last tag.
Add a new deep-sky object or special object to Sky Map's catalog from a Wikipedia URL or user-supplied data. Handles all four required files. Trigger on "add object", "add nebula/galaxy/cluster", "add <object name> to Sky Map", etc. ARGUMENTS: "[wikipedia_url_or_object_name]"
Process and size an image for a Sky Map celestial info card. Prompts for an image (URL or local path), optional crop, and output filename, then converts to 480×800 WebP and saves to the correct assets directory. Trigger on "process celestial image", "add image for info card", "convert image for Sky Map", etc. ARGUMENTS: "[source_url_or_path] [category/output_name] [crop x1,y1,x2,y2]"
| name | skymap.deploy-play-store |
| description | Deploy Sky Map to the Google Play Store using fastlane. Trigger on "deploy to Play Store", "release to internal", "promote to beta/production", "upload metadata", or similar Play Store release requests. |
Manages the full release pipeline: build → internal → alpha → beta → production.
fastlane/play-store-credentials.json — service account key (never commit changes to this file)fastlane installed: bundle exec fastlane --version or fastlane --versionno-checkin.properties in app/ (required for release signing)export JAVA_HOME=$(/usr/libexec/java_home -v 17)Run fastlane commands from the repo root with bundle exec fastlane android <lane> (or plain
fastlane android <lane> if not using Bundler).
The standard path is: internal → alpha → beta → production. Always start at internal and promote rather than uploading directly to later tracks.
Internal → Alpha (Closed Testing) → Beta (Open Testing, 10%) → Production (10% rollout)
Before deploying, confirm these are done:
/release-splash)/skymap-sponsors)/skymap-contributors skill now before continuing./whats-new <last-tag>) — both whatsnew_content.xml and
fastlane/metadata/android/en-US/changelogs/default.txtmasterThis increments the version code, builds the release AAB, and uploads to the internal track.
bundle exec fastlane android internal
The build output is app/build/outputs/bundle/gmsRelease/app-gms-release.aab.
Metadata and screenshots are not uploaded by this lane — use upload_metadata separately.
Upload store listing text, changelogs, and/or images independently of a binary upload.
# Store text only (descriptions, title)
bundle exec fastlane android upload_metadata
# Include changelogs (whatsnew)
bundle exec fastlane android upload_metadata whatsnew:true
# Include screenshots/images
bundle exec fastlane android upload_metadata imgs:true
# Everything
bundle exec fastlane android upload_metadata all:true
# Skip store text, changelogs only
bundle exec fastlane android upload_metadata store:false whatsnew:true
To attach changelogs to a specific already-uploaded version code:
bundle exec fastlane android upload_metadata whatsnew:true version_code:1234
After verifying the internal build is stable:
bundle exec fastlane android promote_to_alpha
bundle exec fastlane android promote_to_beta
bundle exec fastlane android promote_to_production
Production starts at 10%. Increase the rollout percentage manually in the Play Console as confidence grows.
# Bump version name (e.g., for a named release). No spaces in name.
bundle exec fastlane android bump_version name:"1.5.0:Earth"
# Increment version code only (done automatically by the `internal` lane)
bundle exec fastlane android increment_version_code
Version name and code live in app/build.gradle. Commit the bump before deploying.
Capture Play Store screenshots using a connected device or emulator:
bundle exec fastlane android screenshots
Add --device_type=sevenInch for tablet screenshots. Results land in
fastlane/metadata/android/en-US/images/.
These upload directly without going through internal first. Prefer the promote lanes above.
bundle exec fastlane android alpha # Direct to alpha
bundle exec fastlane android beta_yes_im_sure # Direct to beta
bundle exec fastlane android production_yes_im_sure # Direct to production
fastlane/play-store-credentials.json is present and the
service account has the correct Play Console permissions.no-checkin.properties exists in app/ and JAVA_HOME points to
Java 17.internal lane auto-increments; if a manual upload already used
the next code, increment again.INSTALL_FAILED_UPDATE_INCOMPATIBLE on device: uninstall the Play Store version first with
adb uninstall com.google.android.stardroid.| File | Purpose |
|---|---|
fastlane/Fastfile | Lane definitions |
fastlane/Appfile | Package name + credentials path |
fastlane/play-store-credentials.json | Service account key (do not modify) |
fastlane/metadata/android/en-US/changelogs/default.txt | Play Store changelog (≤350 chars) |
fastlane/metadata/android/ | Store listing text and images per locale |
app/build.gradle | versionCode and versionName |