Make a new release of Sky Map and publish it to the Play Store.
This skill does all the steps involved in making a major or minor release of Sky Map. This skill might make use of other skills and it has some overlap with the skymap.deploy-play-store skill. Some steps might require input from the user.
app/build.gradle, and suggest a release name by inferring the pattern from recent git tags (e.g. planets, constellations, stars) — but confirm both with the user before proceeding, since the theme may change.bundle exec fastlane android bump_version name:"<version>:<ReleaseName>"
# e.g. bundle exec fastlane android bump_version name:"1.14.0:Jupiter"
skymap.release-splashscreen skill for this.Ask the user if they need to:
skymap.sponsors skill)skymap.contributors skill)skymap.whatsnew skill) for the app, the fastlane update and the github changelogbeta_user_help_text string in app/src/main/res/values/whatsnew_content.xml is filled with instructions for beta testers during the beta period, and must be cleared to an empty string before a full release. Check if it has content; if so, set it to empty. It does not exist in other locales so no action is needed there.fastlane/metadata/android/<locale>/changelogs/default.txt file for every non en-US locale (delete the file entirely — Step 4 will regenerate them via translation).whatsnew_content.xml files in non en-US locales (i.e. app/src/main/res/values-<locale>/whatsnew_content.xml). Delete the files entirely — Step 4 will regenerate them.Prerequisites: tm must be installed globally (which tm). If missing, install it from the translationmanager project:
pip install -e /path/to/translationmanager
The project has a .tmconfig.toml already configured. Run all tm commands from stardroid-v1/.
Check current coverage to see what's missing:
tm languages
Translate all primary languages (covers both Android XML strings and fastlane changelogs):
tm translate --all-primary
To translate a single locale: tm translate de-DE
To preview without calling the LLM: tm translate --all-primary --dry-run
After primary translation, also translate fastlane changelogs for all supported locales (not just primary ones — Play Store serves changelogs to every locale it supports):
tm translate --all --source fastlane
Locales already translated by --all-primary will be skipped automatically.
If you only need to retranslate the what's new content and changelogs (e.g. after Step 3 deletions):
tm translate --all-primary --file whatsnew_content.xml
tm translate --all --source fastlane
Spot-check a few locales for structural issues (no LLM needed):
tm validate de-DE
tm validate fr-FR
skymap.deploy-play-store skill to build and upload a new bundle and store metadata to the internal track.
Note: the internal fastlane lane automatically increments versionCode in app/build.gradle. Do not commit before this step — the Step 6 commit captures everything including this bump.After getting explicit confirmation from the user:
In all commands below, substitute <version> and <ReleaseName> with the values confirmed in Step 1 (e.g. 1.14.0 and Jupiter).
Cap the ../CHANGELOG.md entry for this release. The skymap.whatsnew skill (Step 2.3) prepends content but leaves it without a version heading. Add the heading now:
## [<version>] - YYYY-MM-DD
Use today's date. The CHANGELOG format follows Keep a Changelog.
Commit all changes from Steps 1–5 (version name, version code bump, splash, sponsors, contributors, whatsnew content, translations, CHANGELOG) in a single commit to master:
git add -A
git commit -m "Prepare <version>:<ReleaseName> release"
git push origin master
Tag the commit:
git tag v<version>
git push origin v<version>
Build the signed release APK:
./build_skymap.sh
The signed APK will be at app/build/outputs/apk/gms/release/app-gms-release.apk.
Extract the release notes for this version from ../CHANGELOG.md (the section between the new heading and the previous one) and upload the GitHub release:
# Substitute the actual version number in the awk pattern
awk '/^## \[<version>\]/{flag=1; next} /^## \[/{flag=0} flag' ../CHANGELOG.md \
| sed '/^[[:space:]]*---[[:space:]]*$/d' \
> /tmp/release_notes.md
gh release create v<version> \
app/build/outputs/apk/gms/release/app-gms-release.apk \
--title "Sky Map <version>: <ReleaseName>" \
--notes-file /tmp/release_notes.md
Before promoting, pause and explicitly ask the user to confirm that the internal build has been reviewed and tested. Do not proceed until you receive explicit approval.
Once approved:
bundle exec fastlane android promote_to_alphabundle exec fastlane android promote_to_beta