Skip to content

chore: remove browserify build in benchmark system (e2e & announcement)#41477

Merged
DDDDDanica merged 35 commits intomainfrom
chore/remove-webpack-benchmark
Apr 28, 2026
Merged

chore: remove browserify build in benchmark system (e2e & announcement)#41477
DDDDDanica merged 35 commits intomainfrom
chore/remove-webpack-benchmark

Conversation

@DDDDDanica
Copy link
Copy Markdown
Contributor

@DDDDDanica DDDDDanica commented Apr 3, 2026

Description

Browserify is being removed from the build soon, so browserify-based builds and related code will go away. This PR removes the browserify-specific build for branchmark tests that are no longer needed.

Changelog

CHANGELOG entry: null

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
CI benchmark generation, storage, and PR-announcement logic is re-keyed from browserify to webpack, which could break artifact naming/baseline lookups and regressions reporting if any downstream expectations remain.

Overview
Removes browserify from the benchmark pipeline and standardizes benchmark artifacts, storage, and reporting around the webpack test build.

GitHub Actions now runs benchmarks only for chrome/firefox on webpack, drops build-test-*-browserify dependencies, renames the dapp page-load artifact to benchmark-chrome-webpack-pageLoadBenchmark.json, and gates Sentry/S3 upload (and AWS CLI install) to main/release runs.

The MetaMask bot announcement/quality-gate code and tests are updated to consume *-webpack-* artifact names by default, remove run-conditional user-journey build-type selection, and improve historical baseline resolution (including Firefox user-journey key disambiguation) so comparisons still map correctly after the artifact format change.

Reviewed by Cursor Bugbot for commit f2422c8. Bugbot is set up for automated code reviews on this repo. Configure here.

DDDDDanica and others added 18 commits March 31, 2026 02:09
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…nchmark' into feat/integrate-dapp-page-load-benchmark
…onstants in shared/constants/benchmarks, add sample to section title
…ove-webpack-benchmark

Integrate Playwright dapp page-load benchmark under flows/dapp-page-load, PR
announcement section, and shared BENCHMARK_ANNOUNCE_SECTIONS. Keep webpack-only
CI and artifact names (benchmark-chrome-webpack-pageLoadBenchmark.json).

Made-with: Cursor
@DDDDDanica DDDDDanica self-assigned this Apr 3, 2026
@DDDDDanica DDDDDanica added the team-extension-platform Extension Platform team label Apr 3, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 3, 2026

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/extension-platform (8 files, +297 -272)
  • 📁 development/
    • 📁 metamaskbot-build-announce/
      • 📄 artifacts.test.ts +3 -0
      • 📄 artifacts.ts +1 -1
      • 📄 compare-benchmarks.test.ts +18 -18
      • 📄 comparison-utils.test.ts +3 -5
      • 📄 performance-benchmarks.test.ts +30 -96
      • 📄 performance-benchmarks.ts +69 -65
      • 📄 utils.test.ts +98 -69
      • 📄 utils.ts +75 -18

👨‍🔧 @HowardBraham (8 files, +297 -272)
  • 📁 development/
    • 📁 metamaskbot-build-announce/
      • 📄 artifacts.test.ts +3 -0
      • 📄 artifacts.ts +1 -1
      • 📄 compare-benchmarks.test.ts +18 -18
      • 📄 comparison-utils.test.ts +3 -5
      • 📄 performance-benchmarks.test.ts +30 -96
      • 📄 performance-benchmarks.ts +69 -65
      • 📄 utils.test.ts +98 -69
      • 📄 utils.ts +75 -18

👨‍🔧 @itsyoboieltr (8 files, +297 -272)
  • 📁 development/
    • 📁 metamaskbot-build-announce/
      • 📄 artifacts.test.ts +3 -0
      • 📄 artifacts.ts +1 -1
      • 📄 compare-benchmarks.test.ts +18 -18
      • 📄 comparison-utils.test.ts +3 -5
      • 📄 performance-benchmarks.test.ts +30 -96
      • 📄 performance-benchmarks.ts +69 -65
      • 📄 utils.test.ts +98 -69
      • 📄 utils.ts +75 -18

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 3, 2026

Builds ready [5e4424c]

Performance benchmarks: data not available.

Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 3, 2026

Builds ready [a277f26]
⚡ Performance Benchmarks (Total: 🟢 2 pass · 🟡 2 warn · 🔴 0 fail)

Baseline (latest main): f34f804 | Date: 9/10/58222 | Pipeline: 23946385659 | Baseline logs

🎯 Interaction

⚠️ Missing data: chrome/browserify/interactionUserActions

✅ No regressions detected

🔌 Startup
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome🟢 [Show logs]🟢 [Show logs]
startupPowerUserHome🟡 [Show logs]🟡 [Show logs]

📈 Results compared to the previous 5 runs on main

  • startupPowerUserHome/domInteractive: -15%
  • startupPowerUserHome/firstPaint: -19%
  • startupPowerUserHome/numNetworkReqs: +45%
  • startupPowerUserHome/backgroundConnect: -15%
  • startupPowerUserHome/setupStore: -35%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🔴 startupPowerUserHome/INP: p75 664ms
  • 🟡 startupPowerUserHome/LCP: p75 3.8s
🌐 Dapp page load

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 10, 2026

Builds ready [dad3120]
⚡ Performance Benchmarks (Total: 🟢 0 pass · 🟡 0 warn · 🔴 0 fail)

Baseline (latest main): f34f804 | Date: 9/10/58222 | Pipeline: 24239441373 | Baseline logs

Interaction Benchmarks · Samples: 5

⚠️ Missing data: chrome/webpack/interactionUserActions, firefox/webpack/interactionUserActions

✅ No regressions detected

Startup Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/startupStandardHome, chrome/webpack/startupPowerUserHome, firefox/webpack/startupStandardHome, firefox/webpack/startupPowerUserHome

✅ No regressions detected

User Journey Benchmarks · Samples: 5 · mock API

⚠️ Missing data: chrome/webpack/userJourneyOnboardingImport, chrome/webpack/userJourneyOnboardingNew, chrome/webpack/userJourneyAssets, chrome/webpack/userJourneyAccountManagement, chrome/webpack/userJourneyTransactions, firefox/webpack/userJourneyOnboardingImport, firefox/webpack/userJourneyOnboardingNew, firefox/webpack/userJourneyAssets, firefox/webpack/userJourneyAccountManagement, firefox/webpack/userJourneyTransactions

✅ No regressions detected

Dapp Page Load Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

interactionStats: {
url: `${hostUrl}/benchmarks/benchmark-${BENCHMARK_PLATFORMS.CHROME}-${BENCHMARK_BUILD_TYPES.WEBPACK}-interactionUserActions.json`,
// PR artifacts use the browserify interaction benchmark; literal matches CI output (see run-benchmark / upload).
url: `${hostUrl}/benchmarks/benchmark-${BENCHMARK_PLATFORMS.CHROME}-browserify-interactionUserActions.json`,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why browserify?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread .github/workflows/run-benchmarks.yml Outdated
GITHUB_REF_NAME: ${{ github.head_ref || github.ref_name }}
BENCHMARK_GATED: ${{ !matrix.mainOnly || (github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/'))) }}
# Run core benchmark steps (checkout, run, GH artifact) for every matrix job.
BENCHMARK_GATED: 'true'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this true is meaningless?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed in d08ac18

`${HOST}/bundle-size/bundle_size.json`,
);
expect(links.interactionStats.url).toBe(
`${HOST}/benchmarks/benchmark-chrome-browserify-interactionUserActions.json`,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

webpack?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

});

expect(result).toContain(`metamask-chrome-${VERSION}.zip`);
expect(result).toContain('build-dist-browserify');
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

webpack?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread test/e2e/benchmarks/flows/README.md Outdated

- **PRs:** User journey benchmarks run on **Chrome + Browserify** only.
- **Push to main/release:** User journey benchmarks also run on **Chrome + Webpack** (extra `benchmarks` matrix rows with `mainOnly: true` in `run-benchmarks.yml`) so we can compare build systems before releasing webpack to production.
- User journey presets run on **Chrome and Firefox** with the **Browserify** test build (`build-test` / `build-test-mv2` in CI), same as startup and interaction benchmarks.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

webpack?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread development/metamaskbot-build-announce/performance-benchmarks.ts
Comment thread development/metamaskbot-build-announce/artifacts.test.ts Outdated
@DDDDDanica DDDDDanica force-pushed the chore/remove-webpack-benchmark branch from d08ac18 to e889122 Compare April 10, 2026 15:59
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 10, 2026

Builds ready [d08ac18]
⚡ Performance Benchmarks (Total: 🟢 0 pass · 🟡 0 warn · 🔴 0 fail)

Baseline (latest main): 71bd826 | Date: 10/14/58243 | Pipeline: 24250878686 | Baseline logs

Interaction Benchmarks · Samples: 5

⚠️ Missing data: chrome/webpack/interactionUserActions, firefox/webpack/interactionUserActions

✅ No regressions detected

Startup Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/startupStandardHome, chrome/webpack/startupPowerUserHome, firefox/webpack/startupStandardHome, firefox/webpack/startupPowerUserHome

✅ No regressions detected

User Journey Benchmarks · Samples: 5 · mock API

⚠️ Missing data: chrome/webpack/userJourneyOnboardingImport, chrome/webpack/userJourneyOnboardingNew, chrome/webpack/userJourneyAssets, chrome/webpack/userJourneyAccountManagement, chrome/webpack/userJourneyTransactions, firefox/webpack/userJourneyOnboardingImport, firefox/webpack/userJourneyOnboardingNew, firefox/webpack/userJourneyAssets, firefox/webpack/userJourneyAccountManagement, firefox/webpack/userJourneyTransactions

✅ No regressions detected

Dapp Page Load Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 32.8 KiB (0.53%)
  • ui: -6.72 KiB (-0.08%)
  • common: 2.09 KiB (0.02%)

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 9a4e08d. Configure here.

Comment thread development/metamaskbot-build-announce/compare-benchmarks.test.ts
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 27, 2026

Builds ready [9a4e08d]
⚡ Performance Benchmarks (Total: 🟢 0 pass · 🟡 0 warn · 🔴 0 fail)

Baseline (latest main): 71bd826 | Date: 10/14/58243 | Pipeline: 24993090994 | Baseline logs

Interaction Benchmarks · Samples: 5

⚠️ Missing data: chrome/webpack/interactionUserActions, firefox/webpack/interactionUserActions

✅ No regressions detected

Startup Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/startupStandardHome, chrome/webpack/startupPowerUserHome, firefox/webpack/startupStandardHome, firefox/webpack/startupPowerUserHome

✅ No regressions detected

User Journey Benchmarks · Samples: 5 · mock API

⚠️ Missing data: chrome/webpack/userJourneyOnboardingImport, chrome/webpack/userJourneyOnboardingNew, chrome/webpack/userJourneyAssets, chrome/webpack/userJourneyAccountManagement, chrome/webpack/userJourneyTransactions, firefox/webpack/userJourneyOnboardingImport, firefox/webpack/userJourneyOnboardingNew, firefox/webpack/userJourneyAssets, firefox/webpack/userJourneyAccountManagement, firefox/webpack/userJourneyTransactions

✅ No regressions detected

Dapp Page Load Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 Bot commented Apr 27, 2026

Builds ready [4ac0527] [reused from 9a4e08d]
⚡ Performance Benchmarks (Total: 🟢 0 pass · 🟡 0 warn · 🔴 0 fail)

Baseline (latest main): 71bd826 | Date: 10/14/58243 | Pipeline: 24994139508 | Baseline logs

Interaction Benchmarks · Samples: 5

⚠️ Missing data: chrome/webpack/interactionUserActions, firefox/webpack/interactionUserActions

✅ No regressions detected

Startup Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/startupStandardHome, chrome/webpack/startupPowerUserHome, firefox/webpack/startupStandardHome, firefox/webpack/startupPowerUserHome

✅ No regressions detected

User Journey Benchmarks · Samples: 5 · mock API

⚠️ Missing data: chrome/webpack/userJourneyOnboardingImport, chrome/webpack/userJourneyOnboardingNew, chrome/webpack/userJourneyAssets, chrome/webpack/userJourneyAccountManagement, chrome/webpack/userJourneyTransactions, firefox/webpack/userJourneyOnboardingImport, firefox/webpack/userJourneyOnboardingNew, firefox/webpack/userJourneyAssets, firefox/webpack/userJourneyAccountManagement, firefox/webpack/userJourneyTransactions

✅ No regressions detected

Dapp Page Load Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

itsyoboieltr
itsyoboieltr previously approved these changes Apr 28, 2026
@sonarqubecloud
Copy link
Copy Markdown

@DDDDDanica DDDDDanica added this pull request to the merge queue Apr 28, 2026
@HowardBraham HowardBraham added the retry-ci Tells GitHub Actions to retry failed jobs, label removed automatically before the retry label Apr 28, 2026
Merged via the queue into main with commit 5bbb619 Apr 28, 2026
204 of 205 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.30.0 Issue or pull request that will be included in release 13.30.0 size-L team-extension-platform Extension Platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants