Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions .github/scripts/create-platform-release-pr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -190,42 +190,42 @@ 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.

---

## 📋 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%.

---
Expand All @@ -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

Expand Down Expand Up @@ -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}"
Expand Down Expand Up @@ -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}"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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:"
Expand Down
12 changes: 6 additions & 6 deletions .github/scripts/update-release-changelog.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,14 @@ ensure_release_branch() {
}

determine_changelog_branch() {
# Prefer an existing remote changelog branch (release/<version>-Changelog),
# falling back to the chore/ naming or the preferred default if none exist.
# Prefer an existing remote changelog branch (release-changelog/<version>),
# 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
Expand All @@ -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
Expand Down
Loading