Pick release notes during beta promotion - #23144
Open
oguzkocer wants to merge 4 commits into
Open
Conversation
Adds static "what's new" options (one for now, `serious`) chosen from a second field in the beta-promotion block step. The picked option's notes are set on the beta release, and the production promote carries them over. Changes: - `STATIC_RELEASE_NOTE_OPTIONS` registry (Fastfile) - Release-notes select field in the beta picker; `promote_to_beta` takes `release_notes_option` (read from Buildkite meta-data by promote-to-beta.sh) - `static_release_notes` attaches the per-locale notes to the beta release - `download_static_release_notes` lane pulls the translations from GlotPress - English source files + seeded en-US metadata Translations are seeded separately via GlotPress; until then promotions attach the committed en-US note and Play falls back to the default language.
Adds `release_note_static_serious` to both apps' `PlayStoreStrings.po` so GlotPress can translate it. Added by hand rather than regenerating the `.po`, which would also churn the per-version `release_note` key.
Lint/RedundantDirGlobSort: drop the redundant sort (Dir.glob is already sorted). Style/NestedFileDirname: use File.dirname(path, 2).
Contributor
|
|
Contributor
|
|
write_beta_promotion_steps_file exceeded the 30-line limit after the release-notes field was added; move the fields into beta_promotion_block_fields.
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. Lets a developer choose a release note ("what's new") when promoting a build to the Play Store
betatrack, alongside picking the build. The note is set on thebetarelease; a later promotion toproductionreuses that release, so the same note follows the build.The notes come from a fixed, translated set (
STATIC_RELEASE_NOTE_OPTIONS, one option for now,serious) rather than being written per release. Adding an option is a data change: a<key>.txtsource plus a row in the list.How it works
STATIC_RELEASE_NOTE_OPTIONS(fastlane/Fastfile).promote_to_betatakes the chosen option asrelease_notes_option(read from Buildkite meta-data bypromote-to-beta.sh), validates it, andstatic_release_notesattaches the per-locale text to thebetarelease.download_static_release_notes(fastlane/lanes/localization.rb) pulls the translated options from GlotPress intofastlane/{metadata,jetpack_metadata}/android/<locale>/release_notes_static/<option>.txt.WordPress/{metadata,jetpack_metadata}/release_notes_static/<option>.txt; its GlotPress stringrelease_note_static_<option>is registered ingenerate_playstore_strings.Translations
Each option is translated once through GlotPress (a stable key, so it doesn't change per release).
release_note_static_seriousis added to eachPlayStoreStrings.pofor GlotPress to pick up;en-USis committed. Until a locale is translated, the promotion attaches theen-USnote and Play falls back to the default listing language.The
.poentry was added by hand rather than regenerating, which would also churn the per-versionrelease_notekey.Testing instructions
The promote lane is
trunk-only and acts on the real Play Store (as a draft), so e2e-test from a throwaway branch with the guard removed.Set up a test branch:
task/static-release-notes-e2e).ensure_promotion_on_trunk!calls infastlane/lanes/promote.rband commit.Run the picker:
PIPELINE=promote-beta.yml, with a promotable build above the current beta version code.promote_to_betaruns and posts a per-app result to Slack.Confirm in the Play Console:
en-US"what's new" text for both apps.