Repository navigation
K2GO-564 feat(ci): send Play release candidates to review, publish the approved build - #769
Open
luisguzman-adfa wants to merge 3 commits into
Open
luisguzman-adfa wants to merge 3 commits into
luisguzman-adfa wants to merge 3 commits into
Conversation
…e approved build play-candidate.yml uploads the Play AAB with the next Play versionCode and tags vX.Y.Z-rc.N; play-release.yml tags the approved rc commit vX.Y.Z and runs the release build. Google can reject an unchanged build, so the release is the build it approved, never a rebuild.
play-release refuses an older rc (Play holds the newest); candidates build only from main; an internal-track run gets no rc tag. The manual fallback takes the Play versionCode as an input.
Remove the v* tag push trigger, so a hand-pushed tag cannot ship GitHub, R2 and OTA without a Google-approved Play build.
This branch has not been deployed
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.
What changes
play-candidate.yml(manual, main only): builds the Play AAB, takes the next versionCode from Play, sends it to review on the beta track, then tags the commitvX.Y.Z-rc.Nand archives the AAB to R2. Aninternalrun gets no rc tag.play-release.yml(manual): accepts only the newest rc of a version. It tags that commitvX.Y.Zand runs the release build (GitHub Release, website APKs, R2,update.json).android-release-build.yml: runs only whenplay-release.ymlcalls it. Nov*tag push trigger, no Play AAB build.tools/play-publish/play_publish.py(stdlib + openssl) with unit tests: version and rc rules, release notes, Play versionCode, Play API upload.build.gradle: the play flavor takes-PplayVersionCodewhen it is set. Other flavors do not change.android-r2-republish.yml: optionalplay_version_codeinput for the manual fallback.controller/docs/ADR-K2GO-564-play-release-candidates.md;R2_LAYOUT.mdupdated.Why
rc.N+1of the same version, not a new version.Verifications
python -m unittest test_play_publish).-PplayVersionCode=723has versionCode 723. Without the property it has 710. The standard flavor does not change.openssl dgst -verify).planrefusesv1.1.0(already released).final-tagrefuses an older rc and a malformed tag.google-playwith required reviewers and the secretPLAY_SERVICE_ACCOUNT_JSON, and turns on managed publishing in Play Console.android-r2-republish.ymlafter the first candidate run works.Notes
play-release.yml.workflow_dispatchshow "Run workflow" only after they are on main.internaltrack, to check the credentials end to end.