Skip to content

Remove the release-branch release flow - #23436

Open
oguzkocer wants to merge 8 commits into
trunkfrom
task/remove-old-release-flow
Open

oguzkocer wants to merge 8 commits into
trunkfrom
task/remove-old-release-flow

Conversation

@oguzkocer

Copy link
Copy Markdown
Contributor

TL;DR

Now that we have been using weekly automated releases for a while, this PR removes the old release flow that was based on code-freeze approach with release/x.y branches.

Description

Releases go through the trunk internal build and the beta and production promotion lanes. This removes the release-branch flow that preceded them: its lanes, the Buildkite pipelines that ran them, and the release notes files only it maintained.

Removed

  • fastlane/lanes/release.rb: code_freeze, complete_code_freeze, new_beta_release, new_hotfix_release, finalize_hotfix_release, finalize_release, publish_release, check_translations_coverage, trigger_beta_build, trigger_release_build, create_gh_release, and the helpers only they used (backmerge PR, milestones, release branch deletion)
  • build.rb: build_and_upload_release, build_and_upload_pre_releases, build_beta, download_signed_apks_from_google_play
  • localization.rb: update_appstore_strings, plus the per-version release_note keys in generate_playstore_strings and download_metadata_strings
  • The Buildkite pipelines for those lanes (code-freeze.yml, complete-code-freeze.yml, new-beta-release.yml, new-hotfix-release.yml, finalize-release.yml, finalize-hotfix-release.yml, publish-release.yml, update-release-notes.yml, beta-builds.yml, release-builds.yml) and their command scripts
  • RELEASE-NOTES.txt and its .gitattributes rule
  • The per-version release_notes.txt and release_notes_short.txt for both apps, and the changelogs/default.txt files generated from them
  • The two Danger checks that watched those release notes files
  • The version helpers only the removed lanes used
  • The release notes compilation process section in CLAUDE.md

Kept or moved

  • get_app_name_option! and validate_app_name! move to the Fastfile; bundle_file_path and signed_apk_path move to build.rb
  • localize_libraries and update_frozen_strings_for_translation stay, unchanged

Changed

  • upload_build_to_play_store no longer uploads changelogs. Its only caller is the trunk internal build; release notes are attached when a build is promoted to beta.
  • PlayStoreStrings.po for both apps is regenerated with generate_playstore_strings, which drops release_note_269 and adds the translator comment to release_note_static_serious.
  • fastlane/screenshots/README.md describes the screenshot copy translation steps with generate_playstore_strings and download_metadata_strings.

Testing instructions

No manual testing. Other than the changelog upload above, the lanes used by the trunk internal build, beta and production promotion, rollout, and translation sync are unchanged, and none of the removed lanes or pipelines are referenced by them or by a Buildkite schedule.

RELEASE-NOTES.txt was maintained by the code_freeze lane, which seeded the
per-version Play Store notes from it. Remove the file along with everything
that reads, writes, or documents it.

Changes:
- Delete RELEASE-NOTES.txt and its merge=union rule in .gitattributes
- Drop the extract and new-section steps from code_freeze, along with the
  Jetpack copy and reminder that depended on them
- Remove RELEASE_NOTES_SOURCE_PATH from the Fastfile
- Remove the Danger message for changes to the file
- Remove the Release Notes Compilation Process section from CLAUDE.md
Releases go through the trunk internal build and the beta and production
promotion lanes. Remove the release-branch lanes, the pipelines that ran
them, and the per-version Play Store release notes they maintained.

Changes:
- Delete fastlane/lanes/release.rb: code freeze, beta, hotfix, finalize
  and publish lanes, create_gh_release, and their helpers
- Remove build_and_upload_release, build_and_upload_pre_releases,
  build_beta and download_signed_apks_from_google_play from build.rb
- Remove update_appstore_strings, and the per-version release note keys
  from generate_playstore_strings and download_metadata_strings
- Delete the Buildkite pipelines and command scripts for those lanes
- Delete the per-version release_notes.txt and release_notes_short.txt
  sources for both apps, and the Danger check that watched them
- Remove the version helpers only those lanes used
- Move get_app_name_option! and validate_app_name! to the Fastfile, and
  bundle_file_path and signed_apk_path to build.rb
- Describe the screenshot copy translation steps with the remaining lanes
Release notes are attached when a build is promoted to beta, so the
per-version changelogs uploaded with each internal build are unused.

Changes:
- Skip changelog upload in upload_build_to_play_store
- Delete the changelogs/default.txt files for both apps
@dangermattic

dangermattic commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator
1 Warning
⚠️ This PR is larger than 300 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.

Generated by 🚫 Danger

@oguzkocer
oguzkocer marked this pull request as ready for review October 21, 2026 21:34
@oguzkocer
oguzkocer requested a review from a team as a code owner October 21, 2026 21:34
@oguzkocer
oguzkocer requested a review from jkmassel October 21, 2026 21:34
fastlane/lanes/release.rb was the only file excluded from
Lint/EmptyBlock and Style/MultilineBlockChain, and it no longer exists.

Changes:
- Remove both cop entries from .rubocop_todo.yml
Changes:
- Reflow the mac-metal comment in download-translations.yml
- Remove the blank line at the end of CLAUDE.md
generate_playstore_strings starts with ensure_git_status_clean, so it
fails while the updated screenshot_{n}.txt files are uncommitted.

Changes:
- Add a step to commit the .txt changes before running the lane
@wpmobilebot

Copy link
Copy Markdown
Contributor

App Icon📲 You can test the changes from this Pull Request in Jetpack Android by scanning the QR code below to install the corresponding build.

App NameJetpack Android
Build TypeDebug
Versionpr23436-a4b62aa
Build Number1498
Application IDcom.jetpack.android.prealpha
Commita4b62aa
Installation URL46t54fj0e4hvo
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot

Copy link
Copy Markdown
Contributor

App Icon📲 You can test the changes from this Pull Request in WordPress Android by scanning the QR code below to install the corresponding build.

App NameWordPress Android
Build TypeDebug
Versionpr23436-a4b62aa
Build Number1498
Application IDorg.wordpress.android.prealpha
Commita4b62aa
Installation URL06fbi526fsgc8
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants