Skip to content

Commit 0e8769d

Browse files
Merge branch 'main' into feat/metrics-on-address-trust-signals-transactions
2 parents dedd209 + 458a3d2 commit 0e8769d

File tree

298 files changed

+14896
-1540
lines changed

Some content is hidden

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

298 files changed

+14896
-1540
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: 'Page load benchmark comment'
2+
description: 'Download benchmark results, create directory structure, and comment on PR'
3+
inputs:
4+
head-commit-hash:
5+
description: 'The head commit hash to pass to the benchmark comment script'
6+
required: true
7+
pr-comment-token:
8+
description: 'GitHub token for commenting on PR'
9+
required: true
10+
runs:
11+
using: 'composite'
12+
steps:
13+
- name: Download page load benchmark results
14+
uses: actions/download-artifact@v4
15+
with:
16+
name: benchmark-results
17+
18+
- name: Create expected page load benchmark results directory structure
19+
shell: bash
20+
run: |
21+
mkdir -p test-artifacts/benchmarks
22+
mv benchmark-results.json test-artifacts/benchmarks/benchmark-results.json
23+
24+
- name: Page load benchmark compare and comment
25+
shell: bash
26+
run: yarn tsx development/page-load-benchmark-pr-comment.ts
27+
env:
28+
PR_COMMENT_TOKEN: ${{ inputs.pr-comment-token }}
29+
OWNER: ${{ github.repository_owner }}
30+
REPOSITORY: ${{ github.event.repository.name }}
31+
PR_NUMBER: ${{ github.event.pull_request.number }}
32+
HEAD_COMMIT_HASH: ${{ inputs.head-commit-hash }}

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

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ async function main(): Promise<void> {
140140
}
141141
// Add area-Sentry label to the bug report issue
142142
await addAreaSentryLabelToIssue(octokit, labelable);
143+
await checkAndRemoveNeedsTriageIfFullyLabeled(octokit, labelable);
143144
process.exit(0); // Stop the process and exit with a success status code
144145
}
145146

@@ -165,18 +166,22 @@ async function main(): Promise<void> {
165166
if (context.payload.action === 'opened') {
166167
await addNeedsTriageLabelToIssue(octokit, labelable);
167168
}
169+
await checkAndRemoveNeedsTriageIfFullyLabeled(octokit, labelable);
170+
168171
} else {
169172
const errorMessage =
170173
"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";
171174
console.log(errorMessage);
172175

173-
// Add label to indicate issue doesn't match any template
176+
// Add label to indicate issue does not match any template
174177
await addLabelToLabelable(octokit, labelable, invalidIssueTemplateLabel);
178+
await checkAndRemoveNeedsTriageIfFullyLabeled(octokit, labelable);
175179

176180
// Github action shall fail in case issue body doesn't match any template
177181
core.setFailed(errorMessage);
178182
process.exit(1);
179183
}
184+
180185
} else if (labelable.type === LabelableType.PullRequest) {
181186
if (templateType === TemplateType.PullRequest) {
182187
console.log("PR matches 'pull-request-template.md' template.");
@@ -429,3 +434,36 @@ function hasChangelogEntry(body: string): boolean {
429434
console.log(`Changelog entry found: ${entry}`);
430435
return true; // allow any non-empty value, including "null"
431436
}
437+
438+
// This function checks if issue has both team and severity labels and removes needs-triage label if present
439+
async function checkAndRemoveNeedsTriageIfFullyLabeled(
440+
octokit: InstanceType<typeof GitHub>,
441+
issue: Labelable,
442+
): Promise<void> {
443+
let hasTeamLabel = false;
444+
let hasSeverityLabel = false;
445+
446+
for (const label of issue.labels || []) {
447+
// Check for team labels
448+
if (
449+
label.name.startsWith('team-') ||
450+
label.name === externalContributorLabel.name
451+
) {
452+
console.log(`Issue contains a team label: ${label.name}`);
453+
hasTeamLabel = true;
454+
}
455+
// Check for severity labels (Sev0-urgent, Sev1-high, etc.)
456+
if (/^Sev\d-\w+$/.test(label.name)) {
457+
console.log(`Issue contains a severity label: ${label.name}`);
458+
hasSeverityLabel = true;
459+
}
460+
}
461+
462+
// If both team and severity labels are present, remove needs-triage label
463+
if (hasTeamLabel && hasSeverityLabel) {
464+
console.log(
465+
'Both team and severity labels found. Removing needs-triage label if present...',
466+
);
467+
await removeLabelFromLabelableIfPresent(octokit, issue, needsTriageLabel);
468+
}
469+
}

.github/workflows/crowdin-action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
with:
2323
upload_translations: false
2424
download_translations: true
25+
pull_request_title: 'chore: New Crowdin Translations by GitHub Action'
2526
github_user_name: metamaskbot
2627
github_user_email: [email protected]
2728
env:

.github/workflows/main.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,16 +240,21 @@ jobs:
240240
s3-bucket: ${{ vars.AWS_S3_BUCKET }}/${{ github.event.repository.name }}/${{ github.run_id }}/bundle-size
241241
path: test-artifacts/chrome
242242

243-
benchmark-pr:
243+
page-load-benchmark-pr:
244244
needs:
245245
- build-dist-browserify
246246
if: ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref_name == 'main') }}
247-
uses: ./.github/workflows/benchmark-pr.yml
247+
uses: ./.github/workflows/page-load-benchmark-pr.yml
248248
with:
249249
browser-loads: '10'
250250
page-loads: '10'
251+
252+
page-load-benchmark-upload:
253+
needs:
254+
- page-load-benchmark-pr
255+
if: github.ref == 'refs/heads/main'
256+
uses: ./.github/workflows/page-load-benchmark-upload.yml
251257
secrets:
252-
PR_COMMENT_TOKEN: ${{ secrets.PR_COMMENT_TOKEN }}
253258
EXTENSION_BENCHMARK_STATS_TOKEN: ${{ secrets.EXTENSION_BENCHMARK_STATS_TOKEN }}
254259

255260
needs-e2e:
Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Benchmark PR Performance
1+
name: Page load benchmark
22

33
on:
44
workflow_call:
@@ -13,18 +13,12 @@ on:
1313
required: false
1414
type: string
1515
default: '10'
16-
secrets:
17-
PR_COMMENT_TOKEN:
18-
required: true
19-
EXTENSION_BENCHMARK_STATS_TOKEN:
20-
required: true
2116

2217
jobs:
23-
benchmark-pr:
18+
page-load-benchmark-pr:
2419
name: Run Page Load Benchmarks
2520
runs-on: ubuntu-latest
2621
env:
27-
PR_COMMENT_TOKEN: ${{ secrets.PR_COMMENT_TOKEN }}
2822
OWNER: ${{ github.repository_owner }}
2923
REPOSITORY: ${{ github.event.repository.name }}
3024
PR_NUMBER: ${{ github.event.pull_request.number }}
@@ -48,20 +42,8 @@ jobs:
4842
- name: Run page load benchmarks
4943
run: yarn test:e2e:benchmark
5044

51-
- name: Compare and comment
52-
if: ${{ github.event_name == 'pull_request' }}
53-
run: yarn tsx development/benchmark-pr-comment.ts
54-
env:
55-
PR_COMMENT_TOKEN: ${{ secrets.PR_COMMENT_TOKEN }}
56-
OWNER: ${{ github.repository_owner }}
57-
REPOSITORY: ${{ github.event.repository.name }}
58-
PR_NUMBER: ${{ github.event.pull_request.number }}
59-
GITHUB_SHA: ${{ github.event.pull_request.head.sha }}
60-
61-
- name: Upload benchmark results
62-
if: github.ref == 'refs/heads/main'
63-
run: .github/scripts/benchmark-stats-commit.sh
64-
env:
65-
EXTENSION_BENCHMARK_STATS_TOKEN: ${{ secrets.EXTENSION_BENCHMARK_STATS_TOKEN }}
66-
GITHUB_SHA: ${{ github.sha }}
67-
GITHUB_REPOSITORY_OWNER: ${{ github.repository_owner }}
45+
- name: Upload benchmark results (github artifacts)
46+
uses: actions/upload-artifact@v4
47+
with:
48+
name: benchmark-results
49+
path: test-artifacts/benchmarks/benchmark-results.json
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Page load benchmark upload
2+
3+
on:
4+
workflow_call:
5+
secrets:
6+
EXTENSION_BENCHMARK_STATS_TOKEN:
7+
required: true
8+
9+
jobs:
10+
page-load-benchmark-upload:
11+
name: Upload Page Load Benchmarks Data
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout and setup environment
15+
uses: MetaMask/action-checkout-and-setup@v1
16+
with:
17+
is-high-risk-environment: true
18+
skip-allow-scripts: true
19+
yarn-custom-url: ${{ vars.YARN_URL }}
20+
21+
- name: Download page load benchmark results
22+
uses: actions/download-artifact@v4
23+
with:
24+
name: benchmark-results
25+
26+
- name: Create expected page load benchmark results directory structure
27+
shell: bash
28+
run: |
29+
mkdir -p test-artifacts/benchmarks
30+
mv benchmark-results.json test-artifacts/benchmarks/benchmark-results.json
31+
32+
- name: Upload benchmark results (historical data)
33+
run: .github/scripts/benchmark-stats-commit.sh
34+
env:
35+
EXTENSION_BENCHMARK_STATS_TOKEN: ${{ secrets.EXTENSION_BENCHMARK_STATS_TOKEN }}
36+
GITHUB_SHA: ${{ github.sha }}
37+
GITHUB_REPOSITORY_OWNER: ${{ github.repository_owner }}

.github/workflows/publish-prerelease.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,13 @@ jobs:
6060
echo "MERGE_BASE_COMMIT_HASH=${merge_base_commit_hash}" >> "${GITHUB_ENV}"
6161
echo "The merge base commit hash is '${merge_base_commit_hash}'"
6262
63+
- name: Page load benchmark comment
64+
if: ${{ github.event_name == 'pull_request' }}
65+
uses: ./.github/actions/page-load-benchmark-comment
66+
with:
67+
head-commit-hash: ${{ env.HEAD_COMMIT_HASH }}
68+
pr-comment-token: ${{ secrets.PR_COMMENT_TOKEN }}
69+
6370
- name: Publish prerelease
6471
if: ${{ env.MERGE_BASE_COMMIT_HASH && env.PR_NUMBER && env.PR_COMMENT_TOKEN && vars.AWS_CLOUDFRONT_URL }}
6572
run: yarn tsx ./development/metamaskbot-build-announce.ts

CHANGELOG.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
## [13.2.2]
10+
### Fixed
11+
- fix: fixes issue related to `Routes` component that was leading the app to occasionally crash and force reinstall for some users (#35587)
12+
13+
## [13.2.1]
14+
### Fixed
15+
- fix: update the Solana snap to latest version (#35642)
16+
917
## [13.2.0]
1018
### Added
1119
- feat: enable Linea for Smart Transactions (#35117)
@@ -484,7 +492,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
484492
- This changelog was split off with 12.22.0
485493
- All older changes can be found in [docs/CHANGELOG_older.md](https://github.com/MetaMask/metamask-extension/blob/main/docs/CHANGELOG_older.md)
486494

487-
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v13.2.0...HEAD
495+
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v13.2.2...HEAD
496+
[13.2.2]: https://github.com/MetaMask/metamask-extension/compare/v13.2.1...v13.2.2
497+
[13.2.1]: https://github.com/MetaMask/metamask-extension/compare/v13.2.0...v13.2.1
488498
[13.2.0]: https://github.com/MetaMask/metamask-extension/compare/v13.1.2...v13.2.0
489499
[13.1.2]: https://github.com/MetaMask/metamask-extension/compare/v13.1.1...v13.1.2
490500
[13.1.1]: https://github.com/MetaMask/metamask-extension/compare/v13.1.0...v13.1.1

app/_locales/de/messages.json

Lines changed: 0 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/_locales/el/messages.json

Lines changed: 0 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)