Apk versiong + download apk from google play#1719
Merged
Merged
Conversation
meladRaouf
commented
Jun 23, 2026
Collaborator
- APK versioning improvements (cherry-picked from main
- Download universal APK and create a draft GitHub release
…release - Add reusable-upload-to-internal-and-release.yml: uploads AAB via TianchenWei/upload-aab-google-play, downloads the Play-signed universal APK, and creates a draft GitHub release with the APK attached - Update pipeline-deploy-to-internal.yml: replace deploy-internal-build and tag-release jobs with the new upload-to-internal-and-release job
There was a problem hiding this comment.
Pull request overview
This PR improves CI-driven APK/AAB versioning by moving version-code/name computation into a dedicated script (with a matching test suite), and extends the internal deployment pipeline to upload an Internal AAB to Google Play and attach the resulting universal APK to a draft GitHub release.
Changes:
- Add
generate-version.shplustest-generate-version.sh, and a workflow to run the tests. - Update the reusable build workflow to validate version names and compute
VERSION_CODEvia the new script. - Replace the internal deploy pipeline’s promote/tag steps with a reusable workflow that uploads to Play Internal, downloads the universal APK, and creates a draft GitHub release.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/test-version-generation.yml |
Adds a workflow to run the version-generation script tests on demand and on script changes. |
.github/workflows/reusable-upload-to-internal-and-release.yml |
New reusable workflow to upload an AAB to Play Internal, fetch the universal APK, and draft a GitHub release. |
.github/workflows/reusable-build-apk.yml |
Switches version computation to generate-version.sh and documents the new version-code formula. |
.github/workflows/pipeline-deploy-to-internal.yml |
Rewires the internal pipeline to use the new upload-and-release reusable workflow. |
.github/scripts/test-generate-version.sh |
Adds a bash test suite covering valid/invalid version names and rerun constraints. |
.github/scripts/generate-version.sh |
Implements version-name validation and deterministic version-code/file-name generation. |
… workflow - Mask the derived base64 credential with ::add-mask:: to prevent it leaking in debug logs; use printf instead of echo to avoid content mangling - Pin TianchenWei/upload-aab-google-play to commit SHA 1b070738058f58636b4a5c92ece8bc89fc7e4910 (main) instead of the moving branch ref to prevent unreviewed breaking changes
inputs.version-name and inputs.mapping-file were interpolated directly into run scripts, allowing script injection if the workflow is triggered with crafted values. Move all user-controlled inputs and step outputs to env: so they are referenced as shell variables instead.
BurningAXE
reviewed
Jun 23, 2026
BurningAXE
approved these changes
Jun 23, 2026
| mapping-file: | ||
| description: "Optional artifact name of the ProGuard mapping file" | ||
| type: string | ||
| required: false |
Contributor
There was a problem hiding this comment.
Shouldn't it be required?
Cover the 4-digit/5-digit boundary (9999 → 10000) and a large 5-digit run number (99999) to confirm VERSION_CODE is computed correctly when run_number exceeds four digits.
The formula and re-run policy are already documented in generate-version.sh, which is the single source of truth. Keeping a copy in the workflow risks the two drifting apart.
…load script TianchenWei/upload-aab-google-play is an unmaintained personal repo. Replace it with: - r0adkll/upload-google-play@v1 (already used in reusable-promote-artifact) for uploading the AAB to the internal track - download-universal-apk.py (our own script) for fetching the Play-signed universal APK Also expose version-code as an output of reusable-build-apk.yml so the download script can look up the correct APK in the Play generatedApks API.
|
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.


