Add a promote-to-production flow (beta → production) to the Play Store#23104
Draft
oguzkocer wants to merge 2 commits into
Draft
Add a promote-to-production flow (beta → production) to the Play Store#23104oguzkocer wants to merge 2 commits into
oguzkocer wants to merge 2 commits into
Conversation
Adds the gather_production_candidate and promote_to_production lanes, the promote-production.yml pipeline, and its command scripts. Promotes the current beta build to the production track as a draft via the Play API for WordPress and Jetpack, gated by a Buildkite confirmation block step. Shared beta-promotion helpers and constants are renamed for track parity.
Collaborator
Generated by 🚫 Danger |
Contributor
|
|
Contributor
|
|
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.


Description
Part of the Faster Releases effort. Adds a Buildkite flow that promotes the current beta build to the Play Store
productiontrack without rebuilding, mirroring the existing beta-promotion picker (#23079).How it works
gather_production_candidatereads the version code currently on thebetatrack (WordPress and Jetpack share it) and, when it's ahead ofproduction, opens a Buildkite confirmation block step and posts the candidate to Slack. There is no picker — a single candidate and a Yes/No gate.promote_to_productioncreates a newproductionrelease referencing that already-uploaded AAB via the Play API (the sameupdate_trackapproach as the beta picker), once per app, so a single confirmation promotes both.Release status
draft: the release is created but not rolled out, so a developer starts the rollout from the Play Console. The live staged-rollout path (status: 'inProgress'+ a smalluser_fraction) is present but commented out inpromote_version_code_to_production, to switch on once the full flow is ready.Not in this PR
PIPELINE=promote-production.yml); no Buildkite schedule yet.Also
BETA_*/PRODUCTION_*, shared plumbing keepsPROMOTION_*. The beta lane's behavior is unchanged.Testing instructions
The promote lanes are
trunk-only and act on the real Play Store. To validate off-trunk, branch off this PR, remove theensure_promotion_on_trunk!calls on that throwaway branch, and run the pipeline there. It ships as adraft, so nothing rolls out to users.Promote a beta build to production (draft):
PIPELINE=promote-production.yml.productionfor WordPress and Jetpack and posts a per-app result to Slack.draftrelease exists with the promoted version code for both apps, and no rollout has started.Decline path:
productionrelease.Nothing-to-release path:
betabuild is not ahead ofproduction.