Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a new shell script, promote_from_production_to_production_050.sh, to automate a 50% staged rollout for Android production releases. The review feedback focuses on improving script robustness and CI compatibility, specifically suggesting that skip conditions should return a success exit code (0) rather than an error (1) to avoid unnecessary pipeline failures. Additionally, the reviewer recommends double-quoting variable expansions to prevent word splitting and ensure consistent shell script execution.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request improves the robustness and consistency of various shell scripts by quoting variables like $GIT_PROJECT_NAME and ${SCRIPT_DIR} to prevent word splitting and globbing issues. It also standardizes the formatting of promote.sh and publish.sh command calls across the Android deployment scripts and introduces a new script for a 50% production rollout. Feedback was provided regarding inconsistent formatting in the 100% production promotion script to ensure it aligns with the structure used in other rollout scripts.
There was a problem hiding this comment.
Pull request overview
Adds a new Play Store promotion helper script to ramp Production-to-Production rollouts to 50%, and standardizes quoting/formatting across existing bash release/promote scripts (especially for “old repo” *-gradle detection).
Changes:
- Add
promote_from_production_to_production_050.shto promote Production → Production with--user-fraction 0.50. - Quote
"$GIT_PROJECT_NAME"consistently in[[ ... == *"-gradle"* ]]checks. - Reformat several
publish.sh/promote.shwrapper invocations into multi-line commands for readability.
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| sync.sh | Quotes GIT_PROJECT_NAME in old-repo detection when selecting submodules. |
| shared/publish_app_release.sh | Quotes GIT_PROJECT_NAME for conditional extra GitHub release in old repo layout. |
| shared/commit_data_change.sh | Quotes GIT_PROJECT_NAME for old-repo path selection during commits. |
| shared/app-android/publish_to_production_100.sh | Quote setGitProjectName arg; multi-line publish.sh invocation. |
| shared/app-android/publish_to_production_033.sh | Quote setGitProjectName arg; multi-line publish.sh invocation. |
| shared/app-android/publish_to_production_025.sh | Quote setGitProjectName arg; multi-line publish.sh invocation. |
| shared/app-android/publish_to_production_010.sh | Quote setGitProjectName arg; multi-line publish.sh invocation and 0.10 formatting. |
| shared/app-android/publish_to_production_001.sh | Quote setGitProjectName arg; multi-line publish.sh invocation. |
| shared/app-android/publish_to_private_beta.sh | Quote setGitProjectName arg; multi-line publish.sh invocation. |
| shared/app-android/publish_to_internal.sh | Quote setGitProjectName arg; multi-line publish.sh invocation. |
| shared/app-android/publish_to_current_users.sh | Quote setGitProjectName arg for consistent path handling. |
| shared/app-android/publish_to_alpha.sh | Quote setGitProjectName arg; multi-line publish.sh invocation. |
| shared/app-android/promote_from_production_to_production_100.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_production_to_production_050.sh | New script to promote Production → Production at 50% user fraction. |
| shared/app-android/promote_from_production_to_production_033.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_production_to_production_025.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_production_to_production_010.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_private_beta_to_production_100.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_private_beta_to_production_033.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_private_beta_to_production_025.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_private_beta_to_production_010.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_private_beta_to_production_001.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_internal_to_alpha.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared/app-android/promote_from_alpha_to_private_beta.sh | Quote setGitProjectName arg; multi-line promote.sh invocation. |
| shared-overwrite/submodules_init.sh | Quotes GIT_PROJECT_NAME in old-repo submodule selection. |
| code_setup.sh | Quotes GIT_PROJECT_NAME in old-repo submodule selection. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.