diff --git a/.github/scripts/create-platform-release-pr.sh b/.github/scripts/create-platform-release-pr.sh index 21270f68..ccf2a41f 100755 --- a/.github/scripts/create-platform-release-pr.sh +++ b/.github/scripts/create-platform-release-pr.sh @@ -190,7 +190,7 @@ create_release_pr() { # Prepare release PR body with team sign-off checklist local release_body="# 🚀 v${new_version} Testing & Release Quality Process -Hi Team, +Hi Team, As part of our new **MetaMask Release Quality Process**, here’s a quick overview of the key processes, testing strategies, and milestones to ensure a smooth and high-quality deployment. --- @@ -198,34 +198,34 @@ As part of our new **MetaMask Release Quality Process**, here’s a quick overvi ## 📋 Key Processes ### Testing Strategy -- **Developer Teams:** - Conduct regression and exploratory testing for your functional areas, including automated and manual tests for critical workflows. -- **QA Team:** - Focus on exploratory testing across the wallet, prioritize high-impact areas, and triage any Sentry errors found during testing. -- **Customer Success Team:** +- **Developer Teams:** + Conduct regression and exploratory testing for your functional areas, including automated and manual tests for critical workflows. +- **QA Team:** + Focus on exploratory testing across the wallet, prioritize high-impact areas, and triage any Sentry errors found during testing. +- **Customer Success Team:** Validate new functionalities and provide feedback to support release monitoring. ### GitHub Signoff -- Each team must **sign off on the Release Candidate (RC)** via GitHub by the end of the validation timeline (**Tuesday EOD PT**). +- Each team must **sign off on the Release Candidate (RC)** via GitHub by the end of the validation timeline (**Tuesday EOD PT**). - Ensure all tests outlined in the Testing Plan are executed, and any identified issues are addressed. ### Issue Resolution -- **Resolve all Release Blockers** (Sev0 and Sev1) by **Tuesday EOD PT**. +- **Resolve all Release Blockers** (Sev0 and Sev1) by **Tuesday EOD PT**. - For unresolved blockers, PRs may be reverted, or feature flags disabled to maintain release quality and timelines. ### Cherry-Picking Criteria -- Only **critical fixes** meeting outlined criteria will be cherry-picked. +- Only **critical fixes** meeting outlined criteria will be cherry-picked. - Developers must ensure these fixes are thoroughly reviewed, tested, and merged by **Tuesday EOD PT**. --- ## 🗓️ Timeline and Milestones -1. **Today (Friday):** Begin Release Candidate validation. -2. **Tuesday EOD PT:** Finalize RC with all fixes and cherry-picks. -3. **Wednesday:** Buffer day for final checks. -4. **Thursday:** Submit release to app stores and begin rollout to 1% of users. -5. **Monday:** Scale deployment to 10%. +1. **Today (Friday):** Begin Release Candidate validation. +2. **Tuesday EOD PT:** Finalize RC with all fixes and cherry-picks. +3. **Wednesday:** Buffer day for final checks. +4. **Thursday:** Submit release to app stores and begin rollout to 1% of users. +5. **Monday:** Scale deployment to 10%. 6. **Tuesday:** Full rollout to 100%. --- @@ -237,9 +237,9 @@ Each team is responsible for signing off via GitHub. Use the checkbox below to t # Team sign-off checklist - [ ] ${platform_team_name} -This process is a major step forward in ensuring release stability and quality. Let’s stay aligned and make this release a success! 🚀 +This process is a major step forward in ensuring release stability and quality. Let’s stay aligned and make this release a success! 🚀 -Feel free to reach out if you have questions or need clarification. +Feel free to reach out if you have questions or need clarification. Many thanks in advance @@ -305,7 +305,7 @@ create_changelog_pr() { # Delegate changelog update and PR creation to the shared update-release-changelog.sh script echo "Updating changelog and creating PR.." - + # Export git identity for the shared script export GIT_AUTHOR_NAME="${GIT_USER_NAME}" export GIT_AUTHOR_EMAIL="${GIT_USER_EMAIL}" @@ -438,7 +438,7 @@ main() { # Initialize branch names local release_branch_name changelog_branch_name version_bump_branch_name release_branch_name=$(get_release_branch_name "$NEW_VERSION") - changelog_branch_name="release/${NEW_VERSION}-Changelog" + changelog_branch_name="release-changelog/${NEW_VERSION}" version_bump_branch_name=$(get_version_bump_branch_name "$next_version") # Execute main workflow configure_git "${GIT_USER_NAME}" "${GIT_USER_EMAIL}" diff --git a/.github/scripts/tests/test-create-platform-release-pr-full.sh b/.github/scripts/tests/test-create-platform-release-pr-full.sh index 9ebf31be..0a776bca 100755 --- a/.github/scripts/tests/test-create-platform-release-pr-full.sh +++ b/.github/scripts/tests/test-create-platform-release-pr-full.sh @@ -152,7 +152,7 @@ configure_git echo "" echo "Testing create_release_pr:" -create_release_pr "extension" "1.5.3" "100" "release/1.5.3" "release/1.5.3-Changelog" +create_release_pr "extension" "1.5.3" "100" "release/1.5.3" "release-changelog/1.5.3" echo "" echo "Testing create_version_bump_pr:" diff --git a/.github/scripts/update-release-changelog.sh b/.github/scripts/update-release-changelog.sh index 6775234e..88602630 100755 --- a/.github/scripts/update-release-changelog.sh +++ b/.github/scripts/update-release-changelog.sh @@ -57,14 +57,14 @@ ensure_release_branch() { } determine_changelog_branch() { - # Prefer an existing remote changelog branch (release/-Changelog), - # falling back to the chore/ naming or the preferred default if none exist. + # Prefer an existing remote changelog branch (release-changelog/), + # falling back to the -fallback naming or the preferred default if none exist. local version="$1" - local preferred="release/${version}-Changelog" + local preferred="release-changelog/${version}" if git ls-remote --exit-code origin "${preferred}" > /dev/null 2>&1; then echo "${preferred}" - elif git ls-remote --exit-code origin "chore/${version}-Changelog" > /dev/null 2>&1; then - echo "chore/${version}-Changelog" + elif git ls-remote --exit-code origin "release-changelog/${version}-fallback" > /dev/null 2>&1; then + echo "release-changelog/${version}-fallback" else echo "${preferred}" fi @@ -84,7 +84,7 @@ commit_and_push_changelog() { if [[ "${previous_version_ref,,}" == "null" ]]; then commit_msg="${commit_msg} (hotfix - no test plan)" fi - + local changes_committed=false if git commit -am "${commit_msg}"; then changes_committed=true