metamask-extension icon indicating copy to clipboard operation
metamask-extension copied to clipboard

chore: INFRA-3187: Added workflow to auto-merge old release branches into ne…

Open XxdpavelxX opened this issue 1 month ago • 4 comments

…w one

Description

Adds a workflow and script to automatically merge all older release/X.Y.Z branches into a newly created release branch, favoring the destination on conflicts.

CI/CD: New workflow /.github/workflows/merge-previous-releases.yml: Triggers via workflow_call or workflow_dispatch with new-release-branch input. Checks out repo and metamask/github-tools, configures git user, and runs merge script. New script /.github/scripts/merge-previous-releases.sh: Parses release/X.Y.Z branches, filters/sorts older versions, and merges them into NEW_RELEASE_BRANCH. Uses -X ours to resolve conflicts favoring destination; skips already merged branches; pushes only if merges occurred. Logs actions and summarizes merged vs skipped branches.

Testing: https://github.com/consensys-test/metamask-mobile-test-workflow/pull/59

  1. Multiple branches, one already merged: https://github.com/consensys-test/metamask-mobile-test-workflow/actions/runs/20072233678
  2. Multiple branches, neither merged: https://github.com/consensys-test/metamask-mobile-test-workflow/actions/runs/20073029520
  3. Multiple branches, with merge conflicts: https://github.com/consensys-test/metamask-mobile-test-workflow/actions/runs/20073136324

Open in GitHub Codespaces

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] Adds a GitHub Actions workflow that, upon creating a release/X.Y.Z branch, validates the name and auto-merges older release branches into it via a reusable action.

  • CI/CD:
    • New workflow /.github/workflows/merge-previous-release-branches.yml triggered on branch creation.
      • Validates branch name matches release/X.Y.Z.
      • If valid, runs metamask/github-tools action to merge older release branches into the new one using provided token.

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

XxdpavelxX avatar Dec 09 '25 18:12 XxdpavelxX

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.

github-actions[bot] avatar Dec 09 '25 18:12 github-actions[bot]

Builds ready [b0393d6]
UI Startup Metrics (1307 ± 107 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13071067167810713751459
load106688612418811381204
domContentLoaded105987712348711341197
domInteractive2915121242394
firstPaint53082125142310431195
backgroundConnect22520327413232250
firstReactRender5033181205185
getState4317126205378
initialActions105113
loadScripts841667100284909974
setupStore1362851424
numNetworkReqs1468120671
BrowserifyPower User HomeuiStartup18861527241116619682203
load1059888132011611421277
domContentLoaded1050880130711611321263
domInteractive2917129212585
firstPaint52810413614049391264
backgroundConnect25019561999228573
firstReactRender46387164862
getState19014476964203234
initialActions102112
loadScripts84167610871139171056
setupStore1665481533
numNetworkReqs71532012168128
WebpackStandard HomeuiStartup82867315751148671008
load65857485175709818
domContentLoaded65257084675698810
domInteractive2615144222182
firstPaint20973817137217592
backgroundConnect12682121229
firstReactRender56322824056136
getState291489123749
initialActions102111
loadScripts64956684274696803
setupStore1162941319
numNetworkReqs1467519671
WebpackPower User HomeuiStartup13521052184018614641710
load712592101998780921
domContentLoaded706586100797763907
domInteractive29161232325100
firstPaint303112920222360781
backgroundConnect65765112575517
firstReactRender48386755060
getState17414626825183237
initialActions102112
loadScripts703583100596759904
setupStore1564581438
numNetworkReqs69231522068126
FirefoxBrowserifyStandard HomeuiStartup14041128250823515171824
load1104929230315411711267
domContentLoaded1103929230315411701266
domInteractive7732132113093139
firstPaint------
backgroundConnect51212054154171
firstReactRender40307294260
getState237797791547
initialActions102122
loadScripts1077912228515111291223
setupStore146105151147
numNetworkReqs1668322777
BrowserifyPower User HomeuiStartup26201603384755230293429
load1652967258350120672403
domContentLoaded1652967258350220672403
domInteractive15132100124993956
firstPaint------
backgroundConnect184251094201214908
firstReactRender5634107146096
getState1376539351162236
initialActions3040728
loadScripts1551949250945819442344
setupStore695104815958346
numNetworkReqs75581272085121
WebpackStandard HomeuiStartup15531309202817016221944
load12851111171511713601482
domContentLoaded12851111171411713591482
domInteractive67271573485129
firstPaint------
backgroundConnect59172064069144
firstReactRender42338494458
getState155152201439
initialActions103112
loadScripts12571073167911013311439
setupStore205194301292
numNetworkReqs1669122877
WebpackPower User HomeuiStartup26451717367452930903388
load18511158260345822582476
domContentLoaded18501158260345822572476
domInteractive18729992289155958
firstPaint------
backgroundConnect151261019149203381
firstReactRender5335100115969
getState13973102397158212
initialActions2032326
loadScripts17911133248143921872438
setupStore3143414729107
numNetworkReqs75581442183127
📊 Page Load Benchmark Results

Current Commit: b0393d6 | Date: 12/9/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±39ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 725ms (±37ms) 🟢 | historical mean value: 730ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±11ms) 🟢 | historical mean value: 82ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 39ms 1.01s 1.32s 1.07s 1.32s
domContentLoaded 725ms 37ms 701ms 996ms 755ms 996ms
firstPaint 76ms 11ms 60ms 164ms 88ms 164ms
firstContentfulPaint 76ms 11ms 60ms 164ms 88ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 20 Bytes (0%)

metamaskbot avatar Dec 09 '25 19:12 metamaskbot

Builds ready [67e59b2]
UI Startup Metrics (1313 ± 106 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13131060171410613791441
load107688113449011271214
domContentLoaded106987513338911201205
domInteractive281691192485
firstPaint59495132842910831200
backgroundConnect22720127114234255
firstReactRender483399145281
getState4318153215286
initialActions105113
loadScripts850673111588900988
setupStore1373361626
numNetworkReqs1368020674
BrowserifyPower User HomeuiStartup19041566253916419612215
load1068874160712611671265
domContentLoaded1059866159812611571259
domInteractive30171342526103
firstPaint58375161242410261223
backgroundConnect262197801114239520
firstReactRender48378995076
getState19414664971205245
initialActions104112
loadScripts84667013541249501049
setupStore1687091535
numNetworkReqs72591532068127
WebpackStandard HomeuiStartup8126811310978651004
load64957083370688810
domContentLoaded64356482469684802
domInteractive2616107202384
firstPaint23382832162216637
backgroundConnect1157181228
firstReactRender55322133265123
getState3014122163955
initialActions103112
loadScripts64056282168682794
setupStore1163251328
numNetworkReqs1368420673
WebpackPower User HomeuiStartup14291101212120115771778
load7455991040111848936
domContentLoaded7385911034110841928
domInteractive32181412926118
firstPaint31697971242345856
backgroundConnect70761113651555
firstReactRender50436345257
getState20113368090192320
initialActions103112
loadScripts7345891025109833919
setupStore1684691636
numNetworkReqs73582312867134
FirefoxBrowserifyStandard HomeuiStartup13141068191919213991680
load1053909131410011211253
domContentLoaded1052906131410111211253
domInteractive62312304084138
firstPaint------
backgroundConnect51192994955171
firstReactRender38307393861
getState136135141232
initialActions103012
loadScripts102988712669310991216
setupStore1751762912103
numNetworkReqs1568322877
BrowserifyPower User HomeuiStartup26011593368656130613457
load1649974265151420892408
domContentLoaded1649966265151520892408
domInteractive14531103224690968
firstPaint------
backgroundConnect164241167186190432
firstReactRender5536104125984
getState1377337055164260
initialActions3138523
loadScripts1568954250347919622331
setupStore4453716747236
numNetworkReqs75601372179121
WebpackStandard HomeuiStartup15451308199416516571842
load12821104177012213491495
domContentLoaded12821104177012213481495
domInteractive742623245112142
firstPaint------
backgroundConnect57211773865165
firstReactRender40328884255
getState14760111542
initialActions102012
loadScripts12521084170411413131446
setupStore14592141248
numNetworkReqs1568521878
WebpackPower User HomeuiStartup26851754360147330793376
load18151098276846322512503
domContentLoaded18141098276846422512503
domInteractive1163099216797342
firstPaint------
backgroundConnect176311153208210884
firstReactRender5537155165789
getState156451104155169232
initialActions216123
loadScripts17201079274542820842426
setupStore3943436240182
numNetworkReqs71491322079116
📊 Page Load Benchmark Results

Current Commit: 67e59b2 | Date: 12/9/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±57ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 734ms (±53ms) 🟢 | historical mean value: 727ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 79ms (±11ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 57ms 1.02s 1.35s 1.10s 1.35s
domContentLoaded 734ms 53ms 705ms 1.02s 762ms 1.02s
firstPaint 79ms 11ms 64ms 176ms 84ms 176ms
firstContentfulPaint 79ms 11ms 64ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 79 Bytes (0%)
  • ui: 120 Bytes (0%)
  • common: 44 Bytes (0%)

metamaskbot avatar Dec 09 '25 22:12 metamaskbot

Builds ready [d8de752]
UI Startup Metrics (1249 ± 109 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12491014153310913271441
load102185112509110821194
domContentLoaded101584512449010731181
domInteractive261494182282
firstPaint52295123839410021133
backgroundConnect21219325111218235
firstReactRender433082114867
getState361892154268
initialActions105113
loadScripts809648105087857955
setupStore1144051325
numNetworkReqs1367919674
BrowserifyPower User HomeuiStartup19051583234615619872195
load1060875140011911491250
domContentLoaded1050869139211911401238
domInteractive3017140242695
firstPaint551102128641310031240
backgroundConnect24919574599231564
firstReactRender47387574962
getState20214076794210281
initialActions102111
loadScripts84167211801169231040
setupStore1584961532
numNetworkReqs71591401968127
WebpackStandard HomeuiStartup789660101779839916
load64154580775709793
domContentLoaded63554079774699785
domInteractive251589182182
firstPaint27297805185265686
backgroundConnect1162951226
firstReactRender47321432345101
getState271358113548
initialActions103112
loadScripts63253779473695783
setupStore1063351220
numNetworkReqs1468321675
WebpackPower User HomeuiStartup14281089204919715771775
load726587971100812918
domContentLoaded719578965100804904
domInteractive31171302626103
firstPaint30291932220315847
backgroundConnect1008723185104636
firstReactRender50408575167
getState18614173061193256
initialActions102112
loadScripts71657695699801896
setupStore1564281437
numNetworkReqs71571582268137
FirefoxBrowserifyStandard HomeuiStartup13981096269620914981687
load1106934204813911611305
domContentLoaded1105931204713911601305
domInteractive80329199089137
firstPaint------
backgroundConnect58222314375143
firstReactRender39308393958
getState15693151346
initialActions102112
loadScripts1073911198112811281235
setupStore135116151136
numNetworkReqs1567820874
BrowserifyPower User HomeuiStartup26351500399356430623267
load1684926294649720562320
domContentLoaded1684926294649720562320
domInteractive14831155627278980
firstPaint------
backgroundConnect216231184268197998
firstReactRender5536185176083
getState14064100398160235
initialActions3141528
loadScripts1577911292847119082284
setupStore3443365631110
numNetworkReqs74581291984118
WebpackStandard HomeuiStartup15291246233118315861893
load12681087192011613271483
domContentLoaded12671087191911613271483
domInteractive66281703490130
firstPaint------
backgroundConnect53182743853128
firstReactRender41338674453
getState147157161338
initialActions103122
loadScripts12391071189311213041410
setupStore2062513615100
numNetworkReqs1668622877
WebpackPower User HomeuiStartup27861805445256431593705
load19241141336350423532602
domContentLoaded19241141336350423532602
domInteractive261301180358355981
firstPaint------
backgroundConnect191271254256205990
firstReactRender573693106270
getState149801406138170254
initialActions217123
loadScripts18171124261845722652455
setupStore3252774630132
numNetworkReqs75581362468128
📊 Page Load Benchmark Results

Current Commit: d8de752 | Date: 12/10/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±38ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 719ms (±36ms) 🟢 | historical mean value: 720ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 38ms 1.01s 1.31s 1.06s 1.31s
domContentLoaded 719ms 36ms 697ms 986ms 743ms 986ms
firstPaint 77ms 11ms 56ms 164ms 88ms 164ms
firstContentfulPaint 77ms 11ms 56ms 164ms 88ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 3.35 KiB (0.06%)
  • ui: 6.76 KiB (0.09%)
  • common: -297 Bytes (0%)

metamaskbot avatar Dec 10 '25 16:12 metamaskbot

Builds ready [f2bcd4e]
UI Startup Metrics (1301 ± 105 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13011023153610513791466
load1081861131310011561240
domContentLoaded107485513029911481234
domInteractive2715103202285
firstPaint52886127341910681176
backgroundConnect21219226411215233
firstReactRender443382114576
getState392098124561
initialActions103112
loadScripts87066010941009391037
setupStore1275351319
numNetworkReqs181179181170
BrowserifyPower User HomeuiStartup19221612240915119982213
load1119911142412012171329
domContentLoaded1110905140612012041317
domInteractive35182573628116
firstPaint556103142142510401235
backgroundConnect25220660882242547
firstReactRender50426855259
getState20814872279217300
initialActions103112
loadScripts88969511841199831103
setupStore15115761427
numNetworkReqs67551291764115
WebpackStandard HomeuiStartup8626871079939101038
load67357592087725861
domContentLoaded66757091287721856
domInteractive2716111222292
firstPaint24877877186234716
backgroundConnect236104223393
firstReactRender56362433554134
getState3315146204059
initialActions105112
loadScripts66456890986718853
setupStore1254571229
numNetworkReqs181177171169
WebpackPower User HomeuiStartup13781089183718115041681
load7205921015101817892
domContentLoaded7135861006100811887
domInteractive30171342326100
firstPaint27593915215260855
backgroundConnect87863415793563
firstReactRender50407565263
getState18414266273185253
initialActions102111
loadScripts71058399799806878
setupStore1363971334
numNetworkReqs67512262363125
FirefoxBrowserifyStandard HomeuiStartup14531158238918615451793
load1117949153010611891334
domContentLoaded1117948153010611891333
domInteractive73322163890135
firstPaint------
backgroundConnect69248189274203
firstReactRender433288104762
getState137167171226
initialActions102122
loadScripts108893314649611521259
setupStore176185251349
numNetworkReqs191076191375
BrowserifyPower User HomeuiStartup27751732387457632603500
load17331055273652321662436
domContentLoaded17331055273552321652435
domInteractive16434129626395959
firstPaint------
backgroundConnect15130481103207378
firstReactRender6142200196689
getState154801082108170293
initialActions3135326
loadScripts16631023265649420892365
setupStore634105112669263
numNetworkReqs72541532664140
WebpackStandard HomeuiStartup15541307199513716171813
load1276106516039813291461
domContentLoaded1275106516039813291460
domInteractive762724842100130
firstPaint------
backgroundConnect58152113980144
firstReactRender4232112144384
getState137148151326
initialActions104122
loadScripts1246105015368912991416
setupStore145149181255
numNetworkReqs19984191377
WebpackPower User HomeuiStartup26791721395050730583507
load18561103294849422762550
domContentLoaded18561103294849422762547
domInteractive237291023346194985
firstPaint------
backgroundConnect151291062200178924
firstReactRender533699105868
getState1367942255167230
initialActions2140427
loadScripts17721083284347022112467
setupStore514105212341260
numNetworkReqs67431322172111
📊 Page Load Benchmark Results

Current Commit: f2bcd4e | Date: 12/15/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±40ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 712ms (±37ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 40ms 998ms 1.35s 1.04s 1.35s
domContentLoaded 712ms 37ms 690ms 1.01s 723ms 1.01s
firstPaint 75ms 12ms 56ms 176ms 84ms 176ms
firstContentfulPaint 75ms 12ms 56ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -147.8 KiB (-2.8%)
  • ui: 17.82 KiB (0.23%)
  • common: 1.18 KiB (0.01%)

metamaskbot avatar Dec 15 '25 21:12 metamaskbot

Builds ready [f2bcd4e]
UI Startup Metrics (1301 ± 105 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13011023153610513791466
load1081861131310011561240
domContentLoaded107485513029911481234
domInteractive2715103202285
firstPaint52886127341910681176
backgroundConnect21219226411215233
firstReactRender443382114576
getState392098124561
initialActions103112
loadScripts87066010941009391037
setupStore1275351319
numNetworkReqs181179181170
BrowserifyPower User HomeuiStartup19221612240915119982213
load1119911142412012171329
domContentLoaded1110905140612012041317
domInteractive35182573628116
firstPaint556103142142510401235
backgroundConnect25220660882242547
firstReactRender50426855259
getState20814872279217300
initialActions103112
loadScripts88969511841199831103
setupStore15115761427
numNetworkReqs67551291764115
WebpackStandard HomeuiStartup8626871079939101038
load67357592087725861
domContentLoaded66757091287721856
domInteractive2716111222292
firstPaint24877877186234716
backgroundConnect236104223393
firstReactRender56362433554134
getState3315146204059
initialActions105112
loadScripts66456890986718853
setupStore1254571229
numNetworkReqs181177171169
WebpackPower User HomeuiStartup13781089183718115041681
load7205921015101817892
domContentLoaded7135861006100811887
domInteractive30171342326100
firstPaint27593915215260855
backgroundConnect87863415793563
firstReactRender50407565263
getState18414266273185253
initialActions102111
loadScripts71058399799806878
setupStore1363971334
numNetworkReqs67512262363125
FirefoxBrowserifyStandard HomeuiStartup14531158238918615451793
load1117949153010611891334
domContentLoaded1117948153010611891333
domInteractive73322163890135
firstPaint------
backgroundConnect69248189274203
firstReactRender433288104762
getState137167171226
initialActions102122
loadScripts108893314649611521259
setupStore176185251349
numNetworkReqs191076191375
BrowserifyPower User HomeuiStartup27751732387457632603500
load17331055273652321662436
domContentLoaded17331055273552321652435
domInteractive16434129626395959
firstPaint------
backgroundConnect15130481103207378
firstReactRender6142200196689
getState154801082108170293
initialActions3135326
loadScripts16631023265649420892365
setupStore634105112669263
numNetworkReqs72541532664140
WebpackStandard HomeuiStartup15541307199513716171813
load1276106516039813291461
domContentLoaded1275106516039813291460
domInteractive762724842100130
firstPaint------
backgroundConnect58152113980144
firstReactRender4232112144384
getState137148151326
initialActions104122
loadScripts1246105015368912991416
setupStore145149181255
numNetworkReqs19984191377
WebpackPower User HomeuiStartup26791721395050730583507
load18561103294849422762550
domContentLoaded18561103294849422762547
domInteractive237291023346194985
firstPaint------
backgroundConnect151291062200178924
firstReactRender533699105868
getState1367942255167230
initialActions2140427
loadScripts17721083284347022112467
setupStore514105212341260
numNetworkReqs67431322172111
📊 Page Load Benchmark Results

Current Commit: f2bcd4e | Date: 12/15/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±40ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 712ms (±37ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 40ms 998ms 1.35s 1.04s 1.35s
domContentLoaded 712ms 37ms 690ms 1.01s 723ms 1.01s
firstPaint 75ms 12ms 56ms 176ms 84ms 176ms
firstContentfulPaint 75ms 12ms 56ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -147.8 KiB (-2.8%)
  • ui: 17.82 KiB (0.23%)
  • common: 1.18 KiB (0.01%)

metamaskbot avatar Dec 15 '25 21:12 metamaskbot