Skip to content
Merged
Show file tree
Hide file tree
Changes from 177 commits
Commits
Show all changes
130 commits
Select commit Hold shift + click to select a range
8120bf6
refactor: remove password strength metrics from wallet events (#34714)
huggingbot Aug 1, 2025
3f71af6
test(e2e): Deflake `onStart` lifecycle hook test (#34769)
Mrtenz Aug 1, 2025
7cdc193
chore: bump @metamask/profile-sync-controller to ^23.0.0 (#34746)
mathieuartu Aug 1, 2025
e881172
Merge origin/main into master-sync
gauthierpetetin Aug 1, 2025
871b0a0
chore: Remove `@sentry/browser` from main bundles (#34567)
Gudahtt Aug 1, 2025
866f809
release: Master sync v13.0.0 into main (#34788)
gauthierpetetin Aug 1, 2025
607b63b
build(webpack): fix webpack build paths on windows (#34778)
davidmurdoch Aug 1, 2025
4be7602
test: remove unnecessary balance-check race in test (#34793)
davidmurdoch Aug 1, 2025
4d2d6c7
chore: cp-13.1.0 Add missing bundle environment variables (#34789)
Gudahtt Aug 1, 2025
e699f2b
fix: bump @metamask/multichain-api-client to v0.6.5 (#34783)
baptiste-marchand Aug 1, 2025
ba0fb3d
chore: updated release workflows to eliminate confusion (#34717)
bsgrigorov Aug 1, 2025
9f48c9c
fix: Fix misleading console warning (#34816)
Gudahtt Aug 1, 2025
c9ccdea
chore: put comments back in `.yarnrc.yml` (#34641)
davidmurdoch Aug 2, 2025
7569360
fix: gracefully handle account type lookup error when wallet is locke…
vinistevam Aug 4, 2025
97acbbf
fix: Hide resimulate alert if transaction is wallet initiated (#34782)
OGPoyraz Aug 4, 2025
61df9c5
test: Fix console error in onboarding E2E tests (#34627)
Gudahtt Aug 4, 2025
f3c1238
chore: Skip a flaky test for now (#34829)
dan437 Aug 4, 2025
1fe60bb
feat: consume send bundle feature flag to determine `alternateGasFee`…
vinistevam Aug 4, 2025
9fbac57
chore: Remove obsolete policy overrides (#34818)
Gudahtt Aug 4, 2025
a2867d9
fix(action): pass version tag instead of a branch name to github-tool…
gauthierpetetin Aug 4, 2025
faf3144
chore: Bump main version to 13.2.0 (#34840)
metamaskbot Aug 4, 2025
52b79d7
fix: flaky test `Address Book Sends to an address book entry on a dif…
seaona Aug 4, 2025
6e8559e
fix: flaky test `Editing Confirm Transaction goes back from confirm p…
seaona Aug 5, 2025
dae3100
fix: flaky test `Multichain Aggregated Balances shows correct aggrega…
seaona Aug 5, 2025
d53dfb9
bump(deps): Bitcoin 0.18.0 (#34741)
darioAnongba Aug 5, 2025
ce6d44d
test: Migrate request queuing dapp1-send-dapp2-signTypedData test to …
Unik0rnMaggie Aug 5, 2025
bb90c36
fix(snaps): Catch `handleSnapRequest` error in `SnapInterfaceContext`…
GuillaumeRx Aug 5, 2025
240a571
fix: Fix metric transaction type for bridge and swap transactions (#3…
OGPoyraz Aug 5, 2025
b8ebd11
test: Optimize test server shutdown (#34707)
Gudahtt Aug 5, 2025
e5a157e
fix: problem in `yarn start:with-state` (#34851)
HowardBraham Aug 5, 2025
92cd919
chore: Improve accuracy of test error inline comments (#34404)
Gudahtt Aug 5, 2025
ab8a67b
fix: flaky test `Developer Options - Sentry gives option to cause a p…
seaona Aug 5, 2025
c4b262d
test: request-queue WatchAsset flakyness (#34835)
wenfix Aug 5, 2025
39cd7bb
test: Speed up test server shutdown by closing connections (#34747)
Gudahtt Aug 5, 2025
1c90198
test: add missing tests for `getWalletIdAndNameByAccountAddress` sele…
hmalik88 Aug 5, 2025
84a33a9
refactor: DRY our HTML by using ETA partials (#34842)
davidmurdoch Aug 5, 2025
310b064
feat: better manage automatic labeling of Sentry issues (#34768)
gauthierpetetin Aug 5, 2025
942336c
feat: add `getInternalAccountByGroupAndCaip` and `getInternalAccountB…
hmalik88 Aug 5, 2025
d23a85d
fix: moved pwd-change to background cp-13.1.0 (#34852)
lwin-kyaw Aug 6, 2025
5c7ffcc
ci: post validation bot to add a checklist in `feat` and `perf` PRs #…
jvbriones Aug 6, 2025
9bb7748
feat: hide remove imported account button for social login (#34895)
lwin-kyaw Aug 6, 2025
4c37f38
feat: added onboarding download app page (#34825)
lionellbriones Aug 6, 2025
6f33b6b
test: rename POM methods to use camel case (#34902)
seaona Aug 6, 2025
89d4df3
ci: add RCA-needed label on RCA workflow (#34904)
jvbriones Aug 6, 2025
369bae9
test: Support window switching without WebSocket background connectio…
Gudahtt Aug 6, 2025
d5b5787
fix: slippage update on unified cp-13.1.0 (#34821)
ghgoodreau Aug 6, 2025
ffcafea
test: Fixed the asset list test (#34710)
hjetpoluru Aug 6, 2025
6d09a54
chore: Revert "feat: set default theme to dark (#34274)" (#34912)
davidmurdoch Aug 6, 2025
9ddf5fc
fix: add `account_type` property to the Wallet Created event cp-13.1.…
huggingbot Aug 7, 2025
7715b6f
perf: Exclude test assets in production (#34690)
FrederikBolding Aug 7, 2025
6d9d47f
chore: Bump Snaps packages (#34907)
Mrtenz Aug 7, 2025
bfecbb9
test: cleanup some Multichain API e2e tests (#34817)
jiexi Aug 7, 2025
1abaa66
chore: update browserslist dependencies (#34915)
davidmurdoch Aug 7, 2025
12d1786
fix: add slippage to quote card cp-13.1.0 (#34916)
ghgoodreau Aug 7, 2025
8f23c49
feat: add CSS-based loading timeout message (#34530)
davidmurdoch Aug 7, 2025
4f308f6
fix(security): obfuscate blurred SRP to prevent blur-reversal attacks…
davidmurdoch Aug 7, 2025
b77558b
refactor: Add route constants infrastructure for React Router v5-comp…
DDDDDanica Aug 7, 2025
8daaeaa
fix: handle undefined destination account in bridge (#34943)
ghgoodreau Aug 8, 2025
6b63526
chore: update `SEI` network's name from `Sei Network` to `Sei Mainnet…
stanleyyconsensys Aug 8, 2025
ad08b4e
fix: cp-13.1.0 bump solana snap (#34887)
xavier-brochard Aug 8, 2025
7c1a52b
fix: flaky test `Forgot password resets password and then unlock wall…
seaona Aug 8, 2025
99d7e06
fix: Remove hover state when `SnapUISelector` is disabled (#34964)
FrederikBolding Aug 8, 2025
45851c1
feat: Add the multichain account list page (#34836)
david0xd Aug 8, 2025
9b63ccf
ci: add missing teams for the `identify-codeowners` job (#34944)
jvbriones Aug 8, 2025
b8f8984
test: add power user persona E2E test (#34925)
HowardBraham Aug 8, 2025
1defdd3
chore: bump multichain account dependencies (#34963)
ccharly Aug 8, 2025
b96e992
fix: fixed invalid refresh token after login attempt cp-13.0.1 (#34961)
lwin-kyaw Aug 8, 2025
fa94a13
chore: remove old BridgeQuoteCard component (#34949)
micaelae Aug 8, 2025
f2ca1e5
fix: cp-13.0.1 correct defi polling (#34883)
bergarces Aug 8, 2025
ed9a5f1
test: move power-user.spec.ts so it runs (#34979)
HowardBraham Aug 11, 2025
295aa44
ci(next semver version): rely on package.json when crafting next semv…
gauthierpetetin Aug 11, 2025
67efc8a
refactor: use named imports for actions in `ImportSrp` (#34976)
hmalik88 Aug 11, 2025
49ffff4
feat: SWAPS-2692 price impact quotecard (#34951)
ghgoodreau Aug 11, 2025
4d90601
test: Force exit after running E2E test (#34966)
FrederikBolding Aug 11, 2025
c8dca54
test: Migrate request queuing chainid-check test to Typescript and PO…
Unik0rnMaggie Aug 11, 2025
160cbfc
ci: adapt PR size job to have permissions to add labels (#34981)
jvbriones Aug 11, 2025
c4596ed
fix: storybook g.trim bug (#35002)
georgewrmarshall Aug 11, 2025
cc4c09d
feat: allow offline unlock for social login users (#34996)
lwin-kyaw Aug 12, 2025
c307b07
test: Rename E2E test to run it in CI (#35017)
FrederikBolding Aug 12, 2025
9ffdaa8
refactor: import getCaip25PermissionFromLegacyPermissions and request…
ffmcgee725 Aug 12, 2025
6d59268
Merge origin/main into master-sync
gauthierpetetin Aug 12, 2025
db4dc71
release: Master sync v13.0.1 into main (#35027)
gauthierpetetin Aug 12, 2025
0dd6551
chore: Disable transaction resubmit (same is done in mobile) (#35028)
dan437 Aug 12, 2025
6198462
refactor(5560): migrate create-account.component.js to react-router-v…
DDDDDanica Aug 12, 2025
703afa1
refactor: Migrate `<Routes />` into a TypeScript functional component…
MajorLift Aug 13, 2025
ad5394b
fix: skip metametrics if user has already chosen an option (#35036)
lwin-kyaw Aug 13, 2025
77577f5
feat: Add the selection process for multichain accounts (#34989)
david0xd Aug 13, 2025
870644b
chore: add frax network and token logos (#34986)
saraantole Aug 13, 2025
f63c70a
feat: update seedless-onboarding-controller to 2.6.0 (#35050)
lwin-kyaw Aug 13, 2025
eff6e07
chore: bump institutional snap cp-13.1.1 (#35053)
shane-t Aug 13, 2025
4abf7d1
fix: wrap long text in `OriginPill` component (#34824)
vinistevam Aug 13, 2025
bb3024c
chore: removes the Solana modal from the initial flow (#34988)
zone-live Aug 13, 2025
b58539e
fix: show effective gas in swaps QuoteCard cp-13.1.0 (#35038)
micaelae Aug 13, 2025
0a9a6c0
feat: get all internal accounts for a given scope (non user facing ch…
owencraston Aug 13, 2025
5e642ca
fix: sanitize sensitive items from UI state (#35003)
matthiasgeihs Aug 13, 2025
a55740a
fix: work around Firefox bug by avoiding vault backup when `indexedDB…
davidmurdoch Aug 13, 2025
136faa8
chore: update design system documentation (#35103)
georgewrmarshall Aug 14, 2025
43b1d3b
feat: add discover button for Solana network (#34498)
wantedsystem Aug 14, 2025
bceab54
chore: upgrading design system library packages (#35105)
georgewrmarshall Aug 14, 2025
6074a7b
feat: Add Linea for Smart Transactions, bump smart-transactions-contr…
dan437 Aug 14, 2025
771a3cc
fix: redact email from state logs (#35119)
himanshuchawla009 Aug 14, 2025
50ad723
ci: adapt the post-merge-validation job to track progress in a sheet …
jvbriones Aug 14, 2025
10781df
Merge remote-tracking branch 'origin/master' into sync-v13.2.0-with-m…
gauthierpetetin Aug 19, 2025
d98ede4
Update Attributions
metamaskbot Aug 19, 2025
ac0e733
fix(quote card test file): remove duplicate slippage
gauthierpetetin Aug 19, 2025
ce02ead
Update Attributions
metamaskbot Aug 19, 2025
06f7732
Merge pull request #35200 from MetaMask/sync-v13.2.0-with-master
gauthierpetetin Aug 19, 2025
d1b47bf
chore: chore/13.2.0-Changelog (#35199)
metamaskbot Aug 19, 2025
ca3fa3b
release(runway): cherry-pick feat: removed `socialLogin` email from s…
runway-github[bot] Aug 20, 2025
7031398
chore: Swap token balance and metrics fixes cp-13.2.0 (#35215)
micaelae Aug 20, 2025
0c71918
release(runway): cherry-pick feat: adds the nonevm deeplink (#35303)
runway-github[bot] Aug 21, 2025
684ec72
release(runway): cherry-pick fix: audit failures `cipher-base` and `s…
runway-github[bot] Aug 22, 2025
73bd368
release(runway): cherry-pick fix: Add missing build secret to Firefox…
runway-github[bot] Aug 22, 2025
3593e0f
release(runway): cherry-pick feat(INFRA-2845): restrict release pr me…
runway-github[bot] Aug 22, 2025
0a74087
release(runway): cherry-pick fix: fix ui not loading in old browsers …
runway-github[bot] Aug 25, 2025
fee42cd
Merge remote-tracking branch 'origin/master' into sync-v13.2.0-with-m…
gauthierpetetin Aug 25, 2025
30f6d29
fix(unit test): update snapshot from multichain bridge quote card
gauthierpetetin Aug 25, 2025
36bc5a8
Merge pull request #35358 from MetaMask/sync-v13.2.0-with-master
gauthierpetetin Aug 25, 2025
0fef5fa
release(runway): cherry-pick chore: cp-13.2.0 deeplink - auto selects…
runway-github[bot] Aug 26, 2025
872f280
Merge remote-tracking branch 'origin/master' into sync-v13.2.0-with-m…
gauthierpetetin Aug 27, 2025
48aa329
Merge pull request #35420 from MetaMask/sync-v13.2.0-with-master
gauthierpetetin Aug 27, 2025
065e735
release(runway): cherry-pick fix: network manager GNS removal update…
runway-github[bot] Aug 27, 2025
7f0c0bf
chore: chore/13.2.0-Changelog (#35301)
gauthierpetetin Aug 27, 2025
bf08566
release(runway): cherry-pick fix: cp-13.2.0 show active dapp network …
runway-github[bot] Aug 28, 2025
4860284
release(runway): cherry-pick fix: cp-13.2.0 Show error when backgroun…
runway-github[bot] Aug 28, 2025
3340f70
release(runway): cherry-pick fix: skip automatic gas updates for swap…
runway-github[bot] Aug 28, 2025
11e75ce
release(runway): cherry-pick fix: Launchdarkly flag added carousel-b…
runway-github[bot] Aug 29, 2025
c6379c6
release(runway): cherry-pick fix: cp-13.2.0 Make SnapsNameProvider re…
runway-github[bot] Aug 29, 2025
7087b6a
chore: chore/13.2.0-Changelog (#35522)
gauthierpetetin Aug 29, 2025
0df1de0
release(runway): cherry-pick fix: grant permission via connected sit…
runway-github[bot] Aug 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .depcheckrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ ignores:
- '@storybook/manager-webpack5'
- '@storybook/react-webpack5'
- 'storybook-dark-mode'
- '@whitespace/storybook-addon-html'
- 'react-syntax-highlighter'
- 'style-loader'
- 'css-loader'
Expand Down
4 changes: 4 additions & 0 deletions .eslintrc.base.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ module.exports = {
globals: {
document: 'readonly',
window: 'readonly',
// Our ESLint config is stuck at ES2017 because Browserify doesn't support the spread operator.
// We can remove this global after we've migrated away from Browserify and updated our ESLint
// config to at least ES2021.
AggregateError: 'readonly',
},

rules: {
Expand Down
23 changes: 17 additions & 6 deletions .github/scripts/bundle.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
#!/usr/bin/env bash

# Keep this list synchronized with:
# * The environment variables used by the `run-build` step in `.github/workflows/run-build.yml`.
# * The environment variables used by the `publish-release` step in `.github/workflows/publish-release.yml`.
export APPLE_BETA_CLIENT_ID=""
export APPLE_FLASK_CLIENT_ID=""
export APPLE_PROD_CLIENT_ID=""
export CONTENTFUL_ACCESS_SPACE_ID=""
export CONTENTFUL_ACCESS_TOKEN=""
export ETHERSCAN_API_KEY=""
Expand All @@ -10,22 +16,27 @@ export FIREBASE_MEASUREMENT_ID=""
export FIREBASE_MESSAGING_SENDER_ID=""
export FIREBASE_PROJECT_ID=""
export FIREBASE_STORAGE_BUCKET=""
export GOOGLE_BETA_CLIENT_ID=""
export GOOGLE_FLASK_CLIENT_ID=""
export GOOGLE_PROD_CLIENT_ID=""
export INFURA_BETA_PROJECT_ID=""
export INFURA_FLASK_PROJECT_ID=""
export INFURA_PROD_PROJECT_ID=""
export INFURA_PROJECT_ID=""
export PUBNUB_PUB_KEY=""
export QUICKNODE_ARBITRUM_URL=""
export QUICKNODE_AVALANCHE_URL=""
export QUICKNODE_BASE_URL=""
export QUICKNODE_LINEA_MAINNET_URL=""
export QUICKNODE_MAINNET_URL=""
export QUICKNODE_OPTIMISM_URL=""
export QUICKNODE_POLYGON_URL=""
export SEGMENT_BETA_WRITE_KEY=""
export SEGMENT_FLASK_WRITE_KEY=""
export SEGMENT_PROD_WRITE_KEY=""
export SEGMENT_WRITE_KEY=""
export ANALYTICS_DATA_DELETION_SOURCE_ID=""
export ANALYTICS_DATA_DELETION_ENDPOINT=""
export SENTRY_AUTH_TOKEN=""
export SENTRY_DSN=""
export SENTRY_DSN_DEV=""
export VAPID_KEY=""
export TZ="UTC"
export VAPID_KEY=""
export ENABLE_MV3="false"

# 1. Download and install nvm:
Expand Down
39 changes: 34 additions & 5 deletions .github/scripts/check-template-and-add-labels.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {
craftRegressionLabel,
externalContributorLabel,
needsTriageLabel,
areaSentryLabel,
flakyTestsLabel,
invalidIssueTemplateLabel,
invalidPullRequestTemplateLabel,
Expand Down Expand Up @@ -98,8 +99,9 @@ async function main(): Promise<void> {
labelable.body,
);

// If labelable's author is a bot we skip the template checks as bots don't use templates
if (knownBots.includes(labelable.author)) {
// If labelable's author is a bot we skip the rest of the script, including the template checks as bots don't use templates.
// Exception: For issues created the 'sentry-io' bot, we don't skip the rest of the script because there's a specific handling for those issues.
if (knownBots.includes(labelable.author) && labelable.author !== 'sentry-io') {
console.log(
`${
labelable.type === LabelableType.PullRequest ? 'PR' : 'Issue'
Expand All @@ -123,6 +125,24 @@ async function main(): Promise<void> {
process.exit(0); // Stop the process and exit with a success status code
}

if (labelable.author === 'sentry-io') {
console.log(
`Issue ${labelable?.number} was created through Sentry. Issue's description doesn't need to match issue template in that case. Skip template checks.`,
);
await removeLabelFromLabelableIfPresent(
octokit,
labelable,
invalidIssueTemplateLabel,
);
// Add needs triage label ONLY if issue is created (not updated)
if (context.payload.action === 'opened') {
await addNeedsTriageLabelToIssue(octokit, labelable);
}
// Add area-Sentry label to the bug report issue
await addAreaSentryLabelToIssue(octokit, labelable);
process.exit(0); // Stop the process and exit with a success status code
}

if (templateType === TemplateType.GeneralIssue) {
console.log("Issue matches 'general-issue.yml' template.");
await removeLabelFromLabelableIfPresent(
Expand All @@ -139,10 +159,12 @@ async function main(): Promise<void> {
);

// Add regression label to the bug report issue
addRegressionLabelToIssue(octokit, labelable);
await addRegressionLabelToIssue(octokit, labelable);

// Add needs triage label to the bug report issue
addNeedsTriageLabelToIssue(octokit, labelable);
// Add needs triage label ONLY if issue is created (not updated)
if (context.payload.action === 'opened') {
await addNeedsTriageLabelToIssue(octokit, labelable);
}
} else {
const errorMessage =
"Issue body does not match any of expected templates ('general-issue.yml' or 'bug-report.yml').\n\nMake sure issue's body includes all section titles.\n\nSections titles are listed here: https://github.com/MetaMask/metamask-extension/blob/main/.github/scripts/shared/template.ts#L14-L37";
Expand Down Expand Up @@ -271,6 +293,13 @@ async function addNeedsTriageLabelToIssue(
): Promise<void> {
await addLabelToLabelable(octokit, issue, needsTriageLabel);
}
// This function adds the "area-Sentry" label to the issue if it doesn't have it
async function addAreaSentryLabelToIssue(
octokit: InstanceType<typeof GitHub>,
issue: Labelable,
): Promise<void> {
await addLabelToLabelable(octokit, issue, areaSentryLabel);
}
// This function adds the correct regression label to the issue, and removes other ones
async function addRegressionLabelToIssue(
octokit: InstanceType<typeof GitHub>,
Expand Down
20 changes: 2 additions & 18 deletions .github/scripts/get-next-semver-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,7 @@ then
exit 0
fi

# Pattern for Version-vX.Y.Z branches
VERSION_BRANCHES_VERSION_V=$(git branch -r | grep -o 'Version-v[0-9]*\.[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*\.[0-9]*' | sort --version-sort | tail -n 1)
# Default pattern for release/x.y.z branches
VERSION_BRANCHES_RELEASE=$(git branch -r | grep -o 'release/[0-9]*\.[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*\.[0-9]*' | sort --version-sort | tail -n 1)


# Get the highest version from tags
VERSION_TAGS=$(git tag | grep -o 'v[0-9]*\.[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*\.[0-9]*' | sort --version-sort | tail -n 1)

# Get the version from package.json
VERSION_PACKAGE=$(node -p "require('../../package.json').version")

# Compare versions and keep the highest one
HIGHEST_VERSION=$(printf "%s\n%s\n%s\n%s" "$VERSION_BRANCHES_VERSION_V" "$VERSION_BRANCHES_RELEASE" "$VERSION_TAGS" "$VERSION_PACKAGE" | sort --version-sort | tail -n 1)
echo "HIGHEST_VERSION=${HIGHEST_VERSION}, VERSION_BRANCHES_VERSION_V=${VERSION_BRANCHES_VERSION_V}, VERSION_BRANCHES_RELEASE=${VERSION_BRANCHES_RELEASE}, VERSION_TAGS=${VERSION_TAGS}, VERSION_PACKAGE=${VERSION_PACKAGE}"

# Increment the minor version of the highest version found and reset the patch version to 0
NEXT_VERSION=$(echo "$HIGHEST_VERSION" | awk -F. -v OFS=. '{$2++; $3=0; print}')
VERSION_PACKAGE=$(node -p "require(process.env.GITHUB_WORKSPACE + '/package.json').version")

echo "NEXT_SEMVER_VERSION=${NEXT_VERSION}" >> "$GITHUB_ENV"
echo "NEXT_SEMVER_VERSION=${VERSION_PACKAGE}" >> "$GITHUB_ENV"
5 changes: 4 additions & 1 deletion .github/scripts/identify-codeowners.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const teamEmojis: TeamEmojis = {
'@MetaMask/extension-devs': '🧩',
'@MetaMask/policy-reviewers': '📜',
'@MetaMask/supply-chain': '🔗',
'@MetaMask/snaps-devs': '🫰',
'@MetaMask/core-platform': '🫰',
'@MetaMask/extension-security-team': '🔒',
'@MetaMask/extension-privacy-reviewers': '🕵️',
'@MetaMask/confirmations': '✅',
Expand All @@ -40,6 +40,9 @@ const teamEmojis: TeamEmojis = {
'@MetaMask/ramp': '📈',
'@MetaMask/wallet-ux': '🖥️',
'@MetaMask/metamask-assets': '💎',
'@MetaMask/web3auth': '🔐',
'@MetaMask/transactions': '💸',
'@MetaMask/qa': '🧪',
};

main().catch((error: Error): void => {
Expand Down
12 changes: 9 additions & 3 deletions .github/scripts/shared/label.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,16 @@ export const externalContributorLabel: Label = {

export const needsTriageLabel: Label = {
name: 'needs-triage',
color: '#68AEE6',
color: '68AEE6',
description: 'Issue needs to be triaged',
};

export const areaSentryLabel: Label = {
name: 'area-sentry',
color: '5319E7',
description: 'Issue from Sentry',
};

export const flakyTestsLabel: Label = {
name: 'flaky tests',
color: 'BE564E',
Expand Down Expand Up @@ -113,14 +119,14 @@ export function craftTeamLabel(teamName: string): Label {
case 'extension-platform':
return {
name: `team-${teamName}`,
color: '#BFD4F2', // light blue
color: 'BFD4F2', // light blue
description: `Extension Platform team`,
};

case 'mobile-platform':
return {
name: `team-${teamName}`,
color: '#76E9D0', // light green
color: '76E9D0', // light green
description: `Mobile Platform team`,
};

Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/add-team-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ on:
pull_request:
types:
- opened
- reopened
- synchronize

jobs:
add-team-label:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/automated-rca.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions:

jobs:
automated-rca:
uses: MetaMask/github-tools/.github/workflows/post-gh-rca.yml@af33de88e00adce0e41583beb7954d691ad3e304
uses: MetaMask/github-tools/.github/workflows/post-gh-rca.yml@727c028d5fdb2b86f6b1cf205b97fa8e79f7de61
with:
google-form-base-url: 'https://docs.google.com/forms/d/e/1FAIpQLSfnfEWH7JCFFtvjCHixgyqJdTU3LW3BmTwdF1dDezTNf7m4ig/viewform'
repo-owner: ${{ github.repository_owner }}
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/check-pr-max-lines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ on:
- Version-v*
- release/*

permissions:
contents: read
pull-requests: write # Required for the called workflow to manage labels

jobs:
check-pr-max-lines:
uses: metamask/github-tools/.github/workflows/pr-line-check.yml@main
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Create Release Pull Request V2
name: Create Release Pull Request (Legacy)

on:
workflow_dispatch:
inputs:
base-branch:
description: 'The base branch, tag, or SHA for git operations and the pull request (usually `main`)'
description: 'The base branch, tag, or SHA for git operations and the pull request. Usually `main`'
required: true
semver-version:
description: 'A semantic version, eg: x.x.x'
Expand All @@ -14,13 +14,14 @@ on:
required: true
jobs:
create-release-pr:
uses: MetaMask/github-tools/.github/workflows/create-release-pr.yml@dde6d530bebae07d1e50180894ab2cac64170a2c
name: Create Release Pull Request using Github Tools
uses: MetaMask/github-tools/.github/workflows/create-release-pr.yml@fc6fe1a3fb591f6afa61f0dbbe7698bd50fab9c7
with:
platform: extension
base-branch: ${{ inputs.base-branch }}
semver-version: ${{ inputs.semver-version }}
previous-version-tag: Version-v${{ inputs.previous-semver-version }}
github-tools-version: dde6d530bebae07d1e50180894ab2cac64170a2c
github-tools-version: fc6fe1a3fb591f6afa61f0dbbe7698bd50fab9c7
secrets:
# This token needs write permissions to metamask-extension & read permissions to metamask-planning
github-token: ${{ secrets.PR_TOKEN }}
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/create-release-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,20 @@ on:
semver-version:
description: 'A semantic version, eg: x.x.x'
required: true
previous-semver-version:
description: 'Previous semantic version, eg: x.x.x'
previous-version-ref:
description: 'Previous release version reference (tag or commit hash). eg: v7.7.0'
required: true

jobs:
create-release-pr:
name: Create Release Pull Request using Github Tools
uses: MetaMask/github-tools/.github/workflows/create-release-pr.yml@fc6fe1a3fb591f6afa61f0dbbe7698bd50fab9c7
uses: MetaMask/github-tools/.github/workflows/create-release-pr.yml@dde6d530bebae07d1e50180894ab2cac64170a2c
with:
platform: extension
base-branch: ${{ inputs.base-branch }}
semver-version: ${{ inputs.semver-version }}
previous-version-tag: Version-v${{ inputs.previous-semver-version }}
github-tools-version: fc6fe1a3fb591f6afa61f0dbbe7698bd50fab9c7
previous-version-tag: ${{ inputs.previous-version-ref }}
github-tools-version: dde6d530bebae07d1e50180894ab2cac64170a2c
secrets:
# This token needs write permissions to metamask-extension & read permissions to metamask-planning
github-token: ${{ secrets.PR_TOKEN }}
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/post-merge-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Post Merge Validation

on:
schedule:
- cron: '0 7 * * *'

jobs:
post-merge-validation-tracker:
uses: MetaMask/github-tools/.github/workflows/post-merge-validation.yml@main
with:
repo: ${{ github.repository }}
start_hour_utc: 7
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
google-application-creds-base64: ${{ secrets.GCP_RLS_SHEET_ACCOUNT_BASE64 }}
29 changes: 22 additions & 7 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ jobs:
name: Publish release
runs-on: ubuntu-latest
env:
# Publishing tokens
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FIREFOX_BUNDLE_SCRIPT_TOKEN: ${{ secrets.FIREFOX_BUNDLE_SCRIPT_TOKEN }}
# Environment variables used in Firefox bundle script
# Keep this list synchronized with:
# * The environment variables exported by `.github/scripts/bundle.sh`
# * The environment variables used by the `run-build` step in `.github/workflows/run-build.yml`.
APPLE_BETA_CLIENT_ID: ${{ secrets.APPLE_BETA_CLIENT_ID }}
APPLE_FLASK_CLIENT_ID: ${{ secrets.APPLE_FLASK_CLIENT_ID }}
APPLE_PROD_CLIENT_ID: ${{ secrets.APPLE_PROD_CLIENT_ID }}
CONTENTFUL_ACCESS_SPACE_ID: ${{ secrets.CONTENTFUL_ACCESS_SPACE_ID }}
CONTENTFUL_ACCESS_TOKEN: ${{ secrets.CONTENTFUL_ACCESS_TOKEN }}
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
Expand All @@ -18,23 +29,27 @@ jobs:
FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.FIREBASE_MESSAGING_SENDER_ID }}
FIREBASE_PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }}
FIREBASE_STORAGE_BUCKET: ${{ secrets.FIREBASE_STORAGE_BUCKET }}
GOOGLE_BETA_CLIENT_ID: ${{ secrets.GOOGLE_BETA_CLIENT_ID }}
GOOGLE_FLASK_CLIENT_ID: ${{ secrets.GOOGLE_FLASK_CLIENT_ID }}
GOOGLE_PROD_CLIENT_ID: ${{ secrets.GOOGLE_PROD_CLIENT_ID }}
INFURA_BETA_PROJECT_ID: ${{ secrets.INFURA_BETA_PROJECT_ID }}
INFURA_FLASK_PROJECT_ID: ${{ secrets.INFURA_FLASK_PROJECT_ID }}
INFURA_PROD_PROJECT_ID: ${{ secrets.INFURA_PROD_PROJECT_ID }}
INFURA_PROJECT_ID: ${{ secrets.INFURA_PROJECT_ID }}
PUBNUB_PUB_KEY: ${{ secrets.PUBNUB_PUB_KEY }}
QUICKNODE_ARBITRUM_URL: ${{ secrets.QUICKNODE_ARBITRUM_URL }}
QUICKNODE_AVALANCHE_URL: ${{ secrets.QUICKNODE_AVALANCHE_URL }}
QUICKNODE_BASE_URL: ${{ secrets.QUICKNODE_BASE_URL }}
QUICKNODE_LINEA_MAINNET_URL: ${{ secrets.QUICKNODE_LINEA_MAINNET_URL }}
QUICKNODE_MAINNET_URL: ${{ secrets.QUICKNODE_MAINNET_URL }}
QUICKNODE_OPTIMISM_URL: ${{ secrets.QUICKNODE_OPTIMISM_URL }}
QUICKNODE_POLYGON_URL: ${{ secrets.QUICKNODE_POLYGON_URL }}
SEGMENT_BETA_WRITE_KEY: ${{ secrets.SEGMENT_BETA_WRITE_KEY }}
SEGMENT_FLASK_WRITE_KEY: ${{ secrets.SEGMENT_FLASK_WRITE_KEY }}
SEGMENT_PROD_WRITE_KEY: ${{ secrets.SEGMENT_PROD_WRITE_KEY }}
SEGMENT_WRITE_KEY: ${{ secrets.SEGMENT_WRITE_KEY }}
ANALYTICS_DATA_DELETION_SOURCE_ID: ${{ secrets.ANALYTICS_DATA_DELETION_SOURCE_ID }}
ANALYTICS_DATA_DELETION_ENDPOINT: ${{ secrets.ANALYTICS_DATA_DELETION_ENDPOINT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_DSN_DEV: ${{ secrets.SENTRY_DSN_DEV }}
TZ: 'UTC' # Ensures the bundles are consistent across machine time zones
VAPID_KEY: ${{ secrets.VAPID_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FIREFOX_BUNDLE_SCRIPT_TOKEN: ${{ secrets.FIREFOX_BUNDLE_SCRIPT_TOKEN }}
steps:
- name: Checkout and setup environment
uses: MetaMask/action-checkout-and-setup@v1
Expand Down
Loading
Loading