Skip to content

release: fix three issues#40079

Merged
HowardBraham merged 7 commits into
mainfrom
release-issues
Feb 16, 2026
Merged

release: fix three issues#40079
HowardBraham merged 7 commits into
mainfrom
release-issues

Conversation

@HowardBraham

@HowardBraham HowardBraham commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

Description

Fixes three issues we just discovered during the most recent release cycle:

  1. On a changelog branch, like release/13.19.0-Changelog, the workflow ran twice, on both push and pull_request
  2. The release branch was not running job publish-prerelease because needs-benchmarks == 'false' and the benchmarks were prereqs
  3. prep-e2e had the gate if: ${{ (github.head_ref || github.ref_name) != 'stable' }} on the whole job, which prevented it from generating test-runs-for-splitting. Changed to gating just the diff steps.

Changelog

CHANGELOG entry: null


Note

Low Risk
Workflow-only changes to CI/release automation; main risk is accidentally skipping/triggering release jobs due to updated job conditions and branch filters.

Overview
Fixes release-cycle GitHub Actions behavior.

publish-prerelease in main.yml is now explicitly gated to run when releases are enabled and not cancelled, requiring all non-benchmark prerequisite jobs to be success/skipped so benchmarks no longer block prereleases.

prep-e2e.yml now runs on stable, but skips the diff/artifact steps there so it still produces test-runs-for-splitting. publish-prerelease.yml makes downloading page-load-benchmark-results non-blocking (continue-on-error). update-release-changelog.yml is simplified by narrowing the push branch filter to semver-like release/x.y.z and removing the extra branch-validation job.

Written by Cursor Bugbot for commit 95b4e36. This will update automatically on new commits. Configure here.

@github-actions

Copy link
Copy Markdown
Contributor

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.

@metamaskbot metamaskbot added the team-extension-platform Extension Platform team label Feb 13, 2026

@HowardBraham HowardBraham left a comment

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.

Explanations of each change

Comment thread .github/workflows/main.yml Outdated
- main
- stable
- release/*
- '!release/*-Changelog'

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.

On a changelog branch, like release/13.19.0-Changelog, the workflow ran twice, on both push and pull_request

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Branch names release/* are intended to be reserved for actual releases. We haven't actually been enforcing this, but there was a ruleset intended to start enforcing this soon (which we wanted to do in order to lock down some secrets used by release branches).

Given that, perhaps a better fix for this problem would be to fix the branch name used by the automated changelog generation workflow.

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.

Ah, that's over in github-tools

Comment on lines 8 to +31
@@ -25,9 +22,13 @@ jobs:
use-yarn-hydrate: true

- name: Get changed files with git diff
# On branch `stable`, there's no reason to do a diff
if: ${{ (github.head_ref || github.ref_name) != 'stable' }}
run: yarn tsx .github/scripts/git-diff-default-branch.ts

- name: Upload changed files artifact
# On branch `stable`, there's no reason to do a diff
if: ${{ (github.head_ref || github.ref_name) != 'stable' }}

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.

prep-e2e had the gate if: ${{ (github.head_ref || github.ref_name) != 'stable' }} on the whole job, which prevented it from generating test-runs-for-splitting. Changed to gating just the diff steps.

@HowardBraham HowardBraham marked this pull request as ready for review February 13, 2026 07:39

- name: Download page load benchmark results
if: ${{ github.event_name == 'pull_request' }}
continue-on-error: true

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.

If needs-benchmarks == 'false' this would fail

@metamaskbotv2

metamaskbotv2 Bot commented Feb 13, 2026

Copy link
Copy Markdown
Contributor
Builds ready [994bbb5]
UI Startup Metrics (1449 ± 115 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup14491226190511515081647
load1231104116609512691384
domContentLoaded1225103716469412641372
domInteractive3016154222582
firstPaint159731275136208325
backgroundConnect26823455639270302
firstReactRender189258241724
initialActions502062813
loadScripts97879713989110181122
setupStore1373651522
numNetworkReqs221586201582
BrowserifyPower User HomeuiStartup2110143910015123619653532
load12421065183517912751692
domContentLoaded12241057180816912601684
domInteractive38202393235118
firstPaint214741718205258460
backgroundConnect54130276198993711590
firstReactRender24164362536
initialActions104112
loadScripts95680315211659831407
setupStore1775291937
numNetworkReqs1124524241137180
WebpackStandard HomeuiStartup87972211751079531072
load760640104295836921
domContentLoaded755637103594831912
domInteractive291889172779
firstPaint1176836850143190
backgroundConnect28197893145
firstReactRender15113451826
initialActions104112
loadScripts752635103393829910
setupStore1272841321
numNetworkReqs231594201581
WebpackPower User HomeuiStartup1268988181516213391597
load74563713461267331070
domContentLoaded73562813371277241064
domInteractive39191803039111
firstPaint1477241778176329
backgroundConnect17313441754178293
firstReactRender23173742530
initialActions102111
loadScripts73262613271247221050
setupStore1353751519
numNetworkReqs1204327548143223
FirefoxBrowserifyStandard HomeuiStartup15971364232917816321940
load13791182208215014301633
domContentLoaded13781176207615014251632
domInteractive68322223889142
firstPaint------
backgroundConnect5729145206298
firstReactRender12102211314
initialActions102012
loadScripts13531158204814714011596
setupStore14766111341
numNetworkReqs241295211883
BrowserifyPower User HomeuiStartup28092150476545729073687
load15851263297528616352205
domContentLoaded15841263297528616352205
domInteractive13635682131126403
firstPaint------
backgroundConnect3111051370270269900
firstReactRender19146671924
initialActions213122
loadScripts15441244295027416132167
setupStore1438796202125593
numNetworkReqs70341473292130
WebpackStandard HomeuiStartup15671358198312216241802
load1364114315799714251532
domContentLoaded1363113815799814241532
domInteractive802718743116146
firstPaint------
backgroundConnect52241522652106
firstReactRender13112221417
initialActions103012
loadScripts1339112915509414011509
setupStore12664101141
numNetworkReqs241396191878
WebpackPower User HomeuiStartup27201901378940128723657
load15491254247527017052060
domContentLoaded15491253247527117052060
domInteractive13430723138121448
firstPaint------
backgroundConnect288114966211314876
firstReactRender22167572430
initialActions203122
loadScripts15121233245425816762006
setupStore1578782197192608
numNetworkReqs723918233100128
📊 Page Load Benchmark Results

Current Commit: 994bbb5 | Date: 2/13/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±96ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 741ms (±121ms) 🟢 | historical mean value: 742ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 90ms (±102ms) 🟢 | historical mean value: 81ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 96ms 1.02s 1.96s 1.09s 1.96s
domContentLoaded 741ms 121ms 710ms 1.91s 778ms 1.91s
firstPaint 90ms 102ms 64ms 1.10s 88ms 1.10s
firstContentfulPaint 90ms 102ms 64ms 1.10s 88ms 1.10s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 5 Bytes (0%)
  • common: 20 Bytes (0%)

Comment on lines +568 to 570
}}
needs:
- get-requirements

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.

The release branch was not running job publish-prerelease because needs-benchmarks == 'false' and the benchmarks were prereqs

Comment thread .github/workflows/main.yml Outdated
contains(fromJson('["success","skipped"]'), needs.build-test-mv2-browserify.result) &&
contains(fromJson('["success","skipped"]'), needs.build-test-flask-browserify.result) &&
contains(fromJson('["success","skipped"]'), needs.build-test-flask-mv2-browserify.result) &&
contains(fromJson('["success","skipped","failure"]'), needs.run-benchmarks.result) &&

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Nit: Since this is all possible statuses, we could omit these from the comparison

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.

Yeah, the only missing status was cancelled, but that was already covered by !cancelled(), so I took it out.

Comment thread .github/workflows/update-release-changelog.yml Outdated
@metamaskbotv2

metamaskbotv2 Bot commented Feb 13, 2026

Copy link
Copy Markdown
Contributor
Builds ready [93b4b7b]
UI Startup Metrics (1381 ± 92 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1381119716269214321554
load1184100713638512391341
domContentLoaded1178100313548412341334
domInteractive2716110192374
firstPaint172681280172209342
backgroundConnect24623029311249272
firstReactRender17103551828
initialActions302282314
loadScripts94577211298510001103
setupStore1262951521
numNetworkReqs231589201582
BrowserifyPower User HomeuiStartup18191388520440818542238
load12071060215219112091683
domContentLoaded11921049213818611951666
domInteractive38191893135128
firstPaint1797753994226335
backgroundConnect3753023063275360407
firstReactRender23174052536
initialActions105111
loadScripts92780517611779151404
setupStore1664971831
numNetworkReqs1114626249134205
WebpackStandard HomeuiStartup88072811221039631051
load76664495297867920
domContentLoaded76163794596861912
domInteractive281788172678
firstPaint1306593697154236
backgroundConnect281983103145
firstReactRender15113741822
initialActions103112
loadScripts75863594295858903
setupStore1365971224
numNetworkReqs231596211584
WebpackPower User HomeuiStartup1213942203116812601550
load72963911691277121112
domContentLoaded72063411581277031100
domInteractive40182144034139
firstPaint1507054088170318
backgroundConnect16613146046163253
firstReactRender22183432429
initialActions102011
loadScripts71763211481247011090
setupStore1253741417
numNetworkReqs89442674595201
FirefoxBrowserifyStandard HomeuiStartup15031320205314515381867
load12991141168111313421557
domContentLoaded12981140168111313421556
domInteractive63362263587126
firstPaint------
backgroundConnect5327172225676
firstReactRender12102321214
initialActions102112
loadScripts12741126165810913191514
setupStore1266581326
numNetworkReqs2413104221787
BrowserifyPower User HomeuiStartup27992201486547329263617
load15741338305128915702157
domContentLoaded15731332305028915692157
domInteractive140361735193123415
firstPaint------
backgroundConnect3381221364277400899
firstReactRender19157672028
initialActions213122
loadScripts15301302303326615342052
setupStore1598801214168704
numNetworkReqs70361603493133
WebpackStandard HomeuiStartup16281344324120316731860
load14151221301418414721528
domContentLoaded14151221301318414721527
domInteractive942919141132148
firstPaint------
backgroundConnect53231802857116
firstReactRender15116471524
initialActions102012
loadScripts13911200298618214471497
setupStore166167261237
numNetworkReqs221285161761
WebpackPower User HomeuiStartup27142001428343127923634
load15571311261827616352123
domContentLoaded15571311261327516352123
domInteractive14233918172121679
firstPaint------
backgroundConnect347681366280399908
firstReactRender2415186172631
initialActions203122
loadScripts15231271259026716042036
setupStore1508813198188633
numNetworkReqs66341973689139
📊 Page Load Benchmark Results

Current Commit: 93b4b7b | Date: 2/13/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±38ms) 🟡 | historical mean value: 1.06s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 730ms (±37ms) 🟢 | historical mean value: 747ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±11ms) 🟢 | historical mean value: 85ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 38ms 1.01s 1.32s 1.06s 1.32s
domContentLoaded 730ms 37ms 702ms 1.01s 749ms 1.01s
firstPaint 79ms 11ms 64ms 168ms 88ms 168ms
firstContentfulPaint 79ms 11ms 64ms 168ms 88ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 512 Bytes (0.01%)
  • ui: 19.74 KiB (0.24%)
  • common: -151 KiB (-1.36%)

@Gudahtt Gudahtt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@cursor cursor Bot left a comment

Copy link
Copy Markdown

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.

push:
branches:
- 'release/*'
- 'release/[0-9]+.[0-9]+.[0-9]+'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Release changelog trigger pattern broken

High Severity

The new branch filter uses release/[0-9]+.[0-9]+.[0-9]+, but GitHub branch filters are glob patterns, so + is treated literally instead of as a regex quantifier. This prevents release/x.y.z branches from matching, so .github/workflows/update-release-changelog.yml no longer triggers for normal release branches.

Fix in Cursor Fix in Web

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.

@metamaskbotv2

metamaskbotv2 Bot commented Feb 13, 2026

Copy link
Copy Markdown
Contributor
Builds ready [95b4e36]
UI Startup Metrics (1439 ± 95 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1439121316869514891629
load1229103214568512681402
domContentLoaded1223102814448612611396
domInteractive2917106202583
firstPaint1537139978207309
backgroundConnect26023343326264291
firstReactRender17104551724
initialActions104113
loadScripts97978712038510211151
setupStore1363251521
numNetworkReqs221587201581
BrowserifyPower User HomeuiStartup17971445248118618452256
load12431097195618012161764
domContentLoaded12281090194517512021730
domInteractive36191492734117
firstPaint228771743208290388
backgroundConnect35030741223362395
firstReactRender23164462535
initialActions104112
loadScripts95482316671749241456
setupStore1684671734
numNetworkReqs1114426148136213
WebpackStandard HomeuiStartup87871412191029481060
load759631103595844906
domContentLoaded753626102694837900
domInteractive2816105182579
firstPaint1256638455160217
backgroundConnect271875103043
firstReactRender15103451823
initialActions104112
loadScripts750624101893835898
setupStore1253251321
numNetworkReqs231587201582
WebpackPower User HomeuiStartup1259915169115113311586
load73264511701107241037
domContentLoaded72364011611107141030
domInteractive36181252336110
firstPaint1347233058159252
backgroundConnect17113332948179284
firstReactRender23184032529
initialActions102111
loadScripts72063811511087121021
setupStore1253951418
numNetworkReqs1144527451142224
FirefoxBrowserifyStandard HomeuiStartup15711327239120416501991
load13531129213016114341631
domContentLoaded13521124212516114341628
domInteractive64342224191143
firstPaint------
backgroundConnect5726215265692
firstReactRender12101811314
initialActions103122
loadScripts13251106210015414101590
setupStore175185271360
numNetworkReqs241289201883
BrowserifyPower User HomeuiStartup27102123361633828223446
load15661271228325016262092
domContentLoaded15651271228325016262092
domInteractive12533578120111451
firstPaint------
backgroundConnect353119951280435913
firstReactRender19147161927
initialActions102022
loadScripts15261250226024215712050
setupStore1307733192125645
numNetworkReqs65341423090128
WebpackStandard HomeuiStartup15771306222717516331965
load13641145164210714371555
domContentLoaded13631145164210714371554
domInteractive802921048113161
firstPaint------
backgroundConnect52222263255134
firstReactRender14125141419
initialActions103112
loadScripts13391131160910114111507
setupStore155179211148
numNetworkReqs241394191775
WebpackPower User HomeuiStartup27061988435843928763532
load15681168301234217382261
domContentLoaded15671168300734217372260
domInteractive13933761180103640
firstPaint------
backgroundConnect3231231283278288931
firstReactRender21163642430
initialActions203122
loadScripts15291153299033016942148
setupStore1836799239277707
numNetworkReqs63331373286129
📊 Page Load Benchmark Results

Current Commit: 95b4e36 | Date: 2/13/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±40ms) 🟡 | historical mean value: 1.06s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 730ms (±37ms) 🟢 | historical mean value: 747ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 80ms (±12ms) 🟢 | historical mean value: 85ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 40ms 1.02s 1.33s 1.06s 1.33s
domContentLoaded 730ms 37ms 710ms 1.00s 746ms 1.00s
firstPaint 80ms 12ms 64ms 188ms 88ms 188ms
firstContentfulPaint 80ms 12ms 64ms 188ms 88ms 188ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: 512 Bytes (0.01%)
  • ui: 19.74 KiB (0.24%)
  • common: -151 KiB (-1.36%)

@chloeYue chloeYue left a comment

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.

LGTM

@HowardBraham HowardBraham added this pull request to the merge queue Feb 16, 2026
Merged via the queue into main with commit ac7cdd1 Feb 16, 2026
333 of 335 checks passed
@HowardBraham HowardBraham deleted the release-issues branch February 16, 2026 10:00
@github-actions github-actions Bot locked and limited conversation to collaborators Feb 16, 2026
@metamaskbot metamaskbot added the release-13.20.0 Issue or pull request that will be included in release 13.20.0 label Feb 16, 2026
@metamaskbot metamaskbot added release-13.19.0 Issue or pull request that will be included in release 13.19.0 and removed release-13.20.0 Issue or pull request that will be included in release 13.20.0 labels Jun 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants