Align Android Fastlane with Earn Time Play lanes (beta, release, promote) - #87
Open
thcathy wants to merge 1 commit into
Open
Align Android Fastlane with Earn Time Play lanes (beta, release, promote)#87thcathy wants to merge 1 commit into
thcathy wants to merge 1 commit into
Conversation
…ote) Add ETTP-style Android lanes while keeping build_apk, set_version, build_bundle, changelog-from-release_notes, and release_android's production-draft AAB upload. Wire Play json_key from GCLOUD_SERVICE_ACCOUNT_KEY (PLAY_STORE_JSON_KEY alias) and document draft-safe defaults. Co-authored-by: Timmy Wong <thcathy@gmail.com>
|
thcathy
marked this pull request as ready for review
September 8, 2026 23:55
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.



Bring FunFunSpell Android Fastlane closer to Earn Time To Play so Timmy can use the same lane names (
beta,release,promote,metadata,validate).What changed
build(AAB only),beta(internal/draft),release(promote, orPLAY_UPLOAD_AAB=trueto upload),promote,metadata,validate, plus existingset_version/build_apk/build_bundle/upload./build.sh beta_android,release_android,promote_android,metadata_android,validate_android,build_android— Capacitor prep stays inbuild.sh(no Flutter)android/fastlane/env.exampledocumentsGCLOUD_SERVICE_ACCOUNT_KEY/PLAY_STORE_JSON_KEYand Play env togglesPLAY_PRODUCTION_STATUSdefaults draft onrelease/promote/release_androidversionCodeformula unchanged:major*100000 + minor*1000 + patchfrompackage.jsonrelease_notes/{en,zh-Hant,zh-Hans}.txtupload(production draft,aab:required) andbuild_apkkeptHow to run
cp android/fastlane/env.example android/fastlane/.env # or keep repo-root .env with GCLOUD_SERVICE_ACCOUNT_KEY and ESL_IONIC_KEYSTORE_PASSWORD ./build.sh beta_android ./build.sh release_android PLAY_PRODUCTION_STATUS=completed ./build.sh release_android ./build.sh promote_android SKIP_BUILD=true ./build.sh beta_android ./build.sh metadata_android ./build.sh validate_androidrelease_androidmaps tofastlane android releasewithPLAY_UPLOAD_AAB=true(new AAB → production draft). Directfastlane android releasepromotes like Earn Time.Verification (no Play upload)
Linux agent did not call Google Play. Checks that did run:
package.json10.3.1→versionCode1003001(matchesapp/build.gradle)build,beta,release,promote,metadata,validate+ legacy); noflutter./build.sh helplists the new commandsPLAY_STORE_JSON_KEYalias is enough forrequire_play_keySKIP_BUILD=true ./build.sh beta_androidskips Capacitor (then stops because Fastlane is not installed here)release_notes/is intactOut of scope