Skip to content

Commit eadd4ed

Browse files
metamaskbottommasinidigiwandOGPoyrazmathieuartu
authored
feat: 7.47.0 (#15256)
# 🚀 v7.47.0 Testing & Release Quality Process 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:** 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**). - 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**. - 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. - 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%. 6. **Tuesday:** Full rollout to 100%. --- ## ✅ Signoff Checklist Each team is responsible for signing off via GitHub. Use the checkbox below to track signoff completion: # Team sign-off checklist - [x] Accounts - [x] Assets - [x] Confirmations - [x] Design System - [x] Earn - [x] Hardware Wallets - [x] Identity - [x] Mobile Platform - [x] Portfolio - [x] Product Safety - [x] Ramp - [x] SDK - [x] Snaps Platform - [x] Solana - [x] Swaps and Bridge - [x] Transactions - [x] Wallet API Platform - [x] Wallet Framework - [x] Wallet UX 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. Many thanks in advance # Reference https://docs.google.com/spreadsheets/d/1tsoodlAlyvEUpkkcNcbZ4PM9HuC9cEM80RZeoVv5OCQ/edit?gid=1347945803#gid=1347945803 --------- Signed-off-by: dan437 <80175477+dan437@users.noreply.github.com> Signed-off-by: augmentedmode <jacob.lebowitz@consensys.net> Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com> Co-authored-by: digiwand <20778143+digiwand@users.noreply.github.com> Co-authored-by: OGPoyraz <omergoktugpoyraz@gmail.com> Co-authored-by: Mathieu Artu <mathieu.artu@consensys.net> Co-authored-by: Gustavo Antunes <17601467+gantunesr@users.noreply.github.com> Co-authored-by: Frederik Bolding <frederik.bolding@gmail.com> Co-authored-by: Charly Chevalier <charlyy.chevalier@gmail.com> Co-authored-by: Hassan Malik <41640681+hmalik88@users.noreply.github.com> Co-authored-by: Pedro Pablo Aste Kompen <wachunei@gmail.com> Co-authored-by: Nick Gambino <35090461+gambinish@users.noreply.github.com> Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com> Co-authored-by: infiniteflower <139582705+infiniteflower@users.noreply.github.com> Co-authored-by: Amitabh Aggarwal <aggarwal.amitabh@gmail.com> Co-authored-by: ffmcgee <51971598+ffmcgee725@users.noreply.github.com> Co-authored-by: Jiexi Luan <jiexiluan@gmail.com> Co-authored-by: sethkfman <10342624+sethkfman@users.noreply.github.com> Co-authored-by: Arthur Breton <arthur.breton@consensys.net> Co-authored-by: Jyoti Puri <jyotipuri@gmail.com> Co-authored-by: Eric Bishard <eric@httpjunkie.com> Co-authored-by: Prithpal Sooriya <prithpal.sooriya@consensys.net> Co-authored-by: Salim TOUBAL <salim.toubal@outlook.com> Co-authored-by: sahar-fehri <sahar.fehri@consensys.net> Co-authored-by: Cal Leung <cal.leung@consensys.net> Co-authored-by: Daniel Cross <dan.s.cross@icloud.com> Co-authored-by: João <castrofjoao@gmail.com> Co-authored-by: Brian August Nguyen <brianacnguyen@gmail.com> Co-authored-by: George Marshall <george.marshall@consensys.net> Co-authored-by: Monte Lai <monte.lai@consensys.net> Co-authored-by: cmd-ob <ola.bale@consensys.net> Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com> Co-authored-by: ffmcgee <joao.carlos@consensys.net> Co-authored-by: ffmcgee <jc.992@hotmail.com> Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com> Co-authored-by: runway-github[bot] <73448015+runway-github[bot]@users.noreply.github.com> Co-authored-by: Vince Howard <vincenguyenhoward@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Aslau Mario-Daniel <marioaslau@gmail.com> Co-authored-by: Owen Craston <owen.craston@consensys.net> Co-authored-by: Curtis David <Curtis.David7@gmail.com> Co-authored-by: Davide Brocchetto <davide.brocchetto@consensys.net> Co-authored-by: Matthew Grainger <46547583+Matt561@users.noreply.github.com> Co-authored-by: Xiaoming Wang <7315988+dawnseeker8@users.noreply.github.com> Co-authored-by: CW <chris.wilcox@consensys.net> Co-authored-by: Pedro Figueiredo <ganseki.figueiredo@gmail.com> Co-authored-by: Vinicius Stevam <45455812+vinistevam@users.noreply.github.com> Co-authored-by: EtherWizard33 <165834542+EtherWizard33@users.noreply.github.com> Co-authored-by: Bryan Fullam <bryan.fullam@consensys.net> Co-authored-by: Devin Stewart <49423028+Bigshmow@users.noreply.github.com> Co-authored-by: Ziad Saab <ziad.saab@gmail.com> Co-authored-by: Nicholas Smith <nick.smith@consensys.net> Co-authored-by: George Weiler <georgejweiler@gmail.com> Co-authored-by: Gauthier Petetin <gauthierpetetin@hotmail.com> Co-authored-by: Iván <ivan.canete@consensys.net> Co-authored-by: Owen Craston <owengc12@gmail.com> Co-authored-by: Kylan Hurt <6249205+smilingkylan@users.noreply.github.com> Co-authored-by: jake-perkins <128608287+jake-perkins@users.noreply.github.com> Co-authored-by: David Drazic <david@timechaser.org> Co-authored-by: AxelGes <axelges9@gmail.com> Co-authored-by: Michele Esposito <34438276+mikesposito@users.noreply.github.com> Co-authored-by: Alejandro Garcia Anglada <aganglada@gmail.com> Co-authored-by: Antonio Regadas <antonio.regadas@consensys.net> Co-authored-by: João Loureiro <175489935+joaoloureirop@users.noreply.github.com> Co-authored-by: Nicolas MASSART <nicolas.massart@consensys.net> Co-authored-by: AugmentedMode <31675118+AugmentedMode@users.noreply.github.com> Co-authored-by: yande <110056475+Andepande@users.noreply.github.com> Co-authored-by: mar <72634565+mindofmar@users.noreply.github.com> Co-authored-by: David Walsh <davidwalsh83@gmail.com> Co-authored-by: Elliot Winkler <elliot.winkler@gmail.com> Co-authored-by: AxelGes <34173844+AxelGes@users.noreply.github.com> Co-authored-by: George Weiler <george.weiler@consensys.net> Co-authored-by: Charly Chevalier <charly.chevalier@consensys.net> Co-authored-by: Stanley Yuen <102275989+stanleyyconsensys@users.noreply.github.com> Co-authored-by: wantedsystem <amine.harty@consensys.net> Co-authored-by: Yande <andepandy@outlook.com> Co-authored-by: Maarten Zuidhoorn <maarten@zuidhoorn.com> Co-authored-by: Bernardo Garces Chapero <bernardo.chapero@consensys.net> Co-authored-by: cryptodev-2s <109512101+cryptodev-2s@users.noreply.github.com> Co-authored-by: tommasini <tommasini15@gmail.com> Co-authored-by: abretonc7s <107169956+abretonc7s@users.noreply.github.com> Co-authored-by: Tamas <soostamas.hu@gmail.com> Co-authored-by: Edward Penta <eddie.penta@consensys.net> Co-authored-by: Christopher Ferreira <104831203+christopherferreira9@users.noreply.github.com> Co-authored-by: Eddie Penta <ecp4224@gmail.com> Co-authored-by: Desi McAdam <desi.mcadam@gmail.com> Co-authored-by: Shane T <muldots@gmail.com> Co-authored-by: Frank von Hoven <141057783+frankvonhoven@users.noreply.github.com> Co-authored-by: sethkfman <Seth.Kaufman@consensys.net> Co-authored-by: Salah-Eddine Saakoun <salah-eddine.saakoun@consensys.net> Co-authored-by: stas-kravchuk <40563919+stas-kravchuk@users.noreply.github.com> Co-authored-by: Matthew Walsh <matthew.walsh@consensys.net> Co-authored-by: EtherWizard33 <etherwizard22@gmail.com> Co-authored-by: Alex Donesky <adonesky@gmail.com>
1 parent c56ec84 commit eadd4ed

1,578 files changed

Lines changed: 70911 additions & 43922 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.depcheckrc.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ ignores:
88
- '@lavamoat/allow-scripts'
99
- '@lavamoat/git-safe-dependencies'
1010
- 'babel-plugin-inline-import'
11+
# This is used in index.d.ts
12+
- '@sentry/react'
1113
# This is used on the patch for TokenRatesController of Assets controllers, for we to be able to use the last version of it
1214
- cockatiel
1315

@@ -79,16 +81,26 @@ ignores:
7981
- 'url'
8082
- 'vm-browserify'
8183
- 'react-native-cli'
84+
- 'babel-plugin-module-resolver'
8285

8386
## Missing dependencies to investigate
8487
- '@react-navigation/core'
8588
- 'app'
8689
- 'i18n-js'
8790
- 'images'
88-
91+
8992
## Expo
9093
- '@config-plugins/detox'
9194
- 'cross-spawn'
9295
- 'expo-build-properties'
9396
- 'expo-dev-client'
94-
97+
98+
## react native
99+
- '@react-native-community/cli'
100+
- '@react-native-community/cli-platform-android'
101+
- '@react-native-community/cli-platform-ios'
102+
- '@react-native-community/cli-server-api'
103+
- '@react-native/typescript-config'
104+
- 'react-native-pager-view'
105+
# this dependency can probably be removed, needs investigation
106+
- '@types/react-test-renderer'

.github/CODEOWNERS

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,6 @@ app/components/Views/Settings/NotificationsSettings @MetaMask/notifications
7878
**/notification/** @MetaMask/notifications
7979

8080
# Identity Team
81-
app/actions/identity @MetaMask/identity
82-
app/util/identity @MetaMask/identity
83-
app/components/UI/ProfileSyncing @MetaMask/identity
84-
e2e/specs/identity @MetaMask/identity
8581
**/Identity/** @MetaMask/identity
8682
**/identity/** @MetaMask/identity
8783

@@ -101,7 +97,8 @@ app/core/Engine/controllers/TokenSearchDiscoveryController @MetaMask/portfolio
10197
app/components/UI/TemplateRenderer @MetaMask/confirmations @MetaMask/snaps-devs
10298

10399
# Wallet API Platform Team
104-
app/core/RPCMethods/ @MetaMask/wallet-api-platform-engineers
100+
app/core/RPCMethods/ @MetaMask/wallet-api-platform-engineers
101+
app/util/permissions/ @MetaMask/wallet-api-platform-engineers
105102

106103
# Earn Team
107104
app/components/UI/Stake @MetaMask/metamask-earn

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ name: Bug Report
22
description: Using MetaMask, but it's not working as you expect?
33
title: "[Bug]: "
44
labels: ["type-bug"]
5+
type: 'Bug'
56
body:
67
- type: markdown
78
attributes:
@@ -11,7 +12,7 @@ body:
1112
## **Before Submitting:**
1213
1314
* Please search to make sure this issue has not been opened already.
14-
* If this is a question about how to integrate MetaMask with your project, please ask in our [Community forum](https://community.metamask.io/c/developer-questions/) instead. This will get your question answered more quickly and make it easier for other devs to find the answer in the future.
15+
* If this is a question about how to integrate MetaMask with your project, please ask in our [Community forum](https://community.metamask.io/c/developer-discussion/) instead. This will get your question answered more quickly and make it easier for other devs to find the answer in the future.
1516
- type: textarea
1617
id: what-happened
1718
attributes:
@@ -55,7 +56,7 @@ body:
5556
description: At what stage was the bug detected?
5657
options:
5758
- In production (default)
58-
- In beta
59+
- In public beta
5960
- During release testing
6061
- On main branch
6162
- On a feature branch

.github/guidelines/LABELING_GUIDELINES.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ Every PR shall include one the QA labels below:
2222
To merge your PR one of the following QA labels are required:
2323
- **QA Passed**: If the PR was labeled with `needs-qa`, this label must be added once QA has signed off
2424
- **No QA Needed**: If the PR does not require any QA effort. This label should only be used in case you are updating a README or other files that does not impact the building or runtime of the application.
25-
- **Run E2E Smoke**: This label will kick-off E2E testing and trigger a check to make sure the E2E tests pass.
25+
- **Run E2E Smoke**: This label will kick-off E2E testing and trigger a check to make sure the E2E tests pass.
26+
- **No E2E Smoke Needed**: This label will bypass the E2E smoke test gate and allow the PR to be merged.
2627

2728
### Optional labels:
2829
- **regression-main**: This label can manually be added to a bug report issue at the time of its creation if the bug is present on the development branch, i.e., `main`, but is not yet released in production.

.github/scripts/check-pr-has-required-labels.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ async function main(): Promise<void> {
5858
console.log(`PR contains a team label as expected: ${label}`);
5959
hasTeamLabel = true;
6060
}
61-
if (label.includes('Run Smoke E2E') || label.includes('No QA Needed') || label.includes('QA Passed') ) {
61+
if (label.includes('No QA Needed') || label.includes('QA Passed') ) {
6262
console.log(`PR contains a QA label as expected: ${label}`);
6363
hasQALabel = true;
6464
}
@@ -80,7 +80,7 @@ async function main(): Promise<void> {
8080
}
8181

8282
if (!hasQALabel) {
83-
errorMessage += 'No \'Run E2E Smoke\' or \'No QA Needed\' or \'QA Passed\' label. ';
83+
errorMessage += 'No \'No QA Needed\' or \'QA Passed\' label. ';
8484
}
8585
errorMessage += `Please make sure the PR is appropriately labeled before merging it.\n\nSee labeling guidelines for more detail: https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md`;
8686
core.setFailed(errorMessage);

.github/scripts/check-template-and-add-labels.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ function extractRegressionStageFromBugReportIssueBody(
203203
return RegressionStage.DevelopmentMain;
204204
case 'During release testing':
205205
return RegressionStage.Testing;
206-
case 'In beta':
206+
case 'In public beta':
207207
return RegressionStage.Beta;
208208
case 'In production (default)':
209209
return RegressionStage.Production;

.github/workflows/automated-rca.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,13 @@ permissions:
1010

1111
jobs:
1212
automated-rca:
13-
uses: MetaMask/github-tools/.github/workflows/post-gh-rca.yml@115cc6dce7aa32c85cbd77a19e9c04db85fb7920
13+
uses: MetaMask/github-tools/.github/workflows/post-gh-rca.yml@af33de88e00adce0e41583beb7954d691ad3e304
1414
with:
15-
google-form-base-url: 'https://docs.google.com/forms/d/e/1FAIpQLSdnPbJISzFlR_aQD2uRpnMKSoGAopuTd_yeZK7J4Q5GzgbsOA/viewform?usp=pp_url&entry.340898780='
15+
google-form-base-url: 'https://docs.google.com/forms/d/e/1FAIpQLSdnPbJISzFlR_aQD2uRpnMKSoGAopuTd_yeZK7J4Q5GzgbsOA/viewform'
1616
repo-owner: ${{ github.repository_owner }}
1717
repo-name: ${{ github.event.repository.name }}
1818
issue-number: ${{ github.event.issue.number }}
1919
issue-labels: '["Sev0-urgent", "Sev1-high"]'
20+
entry-team: 'entry.1698032149'
21+
entry-regression: 'entry.1228565618'
22+
entry-issue: 'entry.340898780'

.github/workflows/create-release-pr-v2.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
create-release-pr:
2222
needs: generate-build-version
23-
uses: MetaMask/github-tools/.github/workflows/create-release-pr.yml@3e0b0204e41b576263b9060945de3b3b9b8c5448
23+
uses: MetaMask/github-tools/.github/workflows/create-release-pr.yml@d1ba843333b920fc9b0e1823fd519b7a64d07f5f
2424
with:
2525
platform: mobile
2626
base-branch: ${{ inputs.base-branch }}

.github/workflows/create-release-pr.yml

Lines changed: 0 additions & 57 deletions
This file was deleted.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ android/app/.project
3838
android/app/bin/
3939
android/app/gradle*
4040
android/app/_build*
41+
.cxx/
4142

4243
# if we ever want to add google services
4344
android/app/google-services.json
@@ -134,6 +135,7 @@ android/app/src/main/assets/modules.json
134135
.expo
135136
dist/
136137
web-build/
138+
expo-env.d.ts
137139

138140
# CICD
139141
github-tools/

0 commit comments

Comments
 (0)