Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
e48a245
chore: update default bridge slippage to 2% (#37367)
SteP-n-s Oct 30, 2025
6a349a3
fix: dynamic parameters via sig_params (#37086)
itsyoboieltr Oct 30, 2025
93386d4
test: fix flaky test " Multichain API Calling wallet_invokeMethod " (…
chloeYue Oct 30, 2025
2a94fbf
fix: flaky test `MetaMask onboarding User can add custom network duri…
seaona Oct 30, 2025
85d5dc1
fix: defer UI actions until swap quotes are fully loaded (#37336)
micaelae Oct 31, 2025
1df06cd
feat: file upload skip invalid files and ui update (#37353)
lionellbriones Oct 31, 2025
bc79b12
release: Bump main version to 13.9.0 (#37399)
gauthierpetetin Oct 31, 2025
d87bd68
fix: add missing shield links (#37380)
tanguyenvn Oct 31, 2025
6e67e51
fix: intermittent missing approval transactions in batch simulations …
vinistevam Oct 31, 2025
30453d2
ci: Allow concurrent runs on main (#37395)
jvbriones Oct 31, 2025
7ac842b
chore: set maxWorker to 50% (#37381)
cryptotavares Oct 31, 2025
0181bdf
fix: flaky test `Account syncing - Multiple SRPs adds accounts across…
seaona Oct 31, 2025
e784dfc
fix: Gas station improvements (#37352)
pedronfigueiredo Oct 31, 2025
790cc12
fix: add connection status back (#36423)
montelaidev Oct 31, 2025
b4ce2c1
chore: Decrease threshold before RPC failover is activated (#37002)
mcmire Oct 31, 2025
d27843e
fix: token name truncation (#37429)
n3ps Oct 31, 2025
e19cfa2
chore: no useless fallback (#37370)
n3ps Oct 31, 2025
f85570e
feat: claim form error handling (#37391)
lionellbriones Oct 31, 2025
5176156
ci: optimize page load benchmarks (#37210)
HowardBraham Oct 31, 2025
b50a9d9
fix: use correct href for phishing page proceed anyway button (#36871)
mindofmar Oct 31, 2025
b1ccf26
chore: AccountTrackerController migration (#36808)
bergarces Oct 31, 2025
09de89d
fix: flaky tests `Preinstalled example Snap...` (#37450)
seaona Nov 3, 2025
30e70ab
fix: flaky test `Unlock wallet - handle incorrect password during unl…
seaona Nov 3, 2025
ea49362
fix: flaky test `Update modal should disappear when closed` (#37465)
seaona Nov 3, 2025
85e987e
fix: flaky test `Change assets changes to native currency when switch…
seaona Nov 3, 2025
41535a2
fix: flaky test `Network Manager should preserve existing enabled net…
seaona Nov 3, 2025
a37a298
feat: Activate `batch` transaction re-simulations when on window focu…
OGPoyraz Nov 3, 2025
cc732fb
chore: unnecessary if's (#37433)
n3ps Nov 3, 2025
3c82407
feat: Add non-navigable alert modals (#37425)
pedronfigueiredo Nov 3, 2025
a90ccb4
chore: remove selectors from spec file (#37439)
bergarces Nov 3, 2025
28ff526
refactor: accumulator spread in reduce (#37435)
n3ps Nov 3, 2025
cad714f
build: update Node to LTS 24.11 and Yarn to 4.10.3 (#37335)
HowardBraham Nov 4, 2025
f675eee
feat: add shield deep link (#37446)
tuna1207 Nov 4, 2025
0120b6e
feat: handle subscription after confirm (#36748)
tuna1207 Nov 4, 2025
f3f9bcf
fix: do not start subscription-polling when shield feature is disable…
lwin-kyaw Nov 4, 2025
54b58db
feat: Add MetaMetrics event for "Use different login method" click du…
huggingbot Nov 4, 2025
fd107ea
feat: new assets sort order for equal balances (#37457)
bergarces Nov 4, 2025
90d9a9d
fix: Fix ens domain name resolution in confirmation after send flow (…
OGPoyraz Nov 4, 2025
abe5cb3
fix: flaky test `dApp Request Gas Limit should update the gas limit i…
seaona Nov 4, 2025
85a5904
feat: adding dapp swap banner (#37389)
jpuri Nov 4, 2025
7ef5230
fix: Simulation Details - Display "No changes" in a single line (#37464)
dan437 Nov 4, 2025
d4ef57f
fix: enhance `sanitizeString` to remove bidirectional and invisible U…
vinistevam Nov 4, 2025
e3e43d1
fix: handle null and undefined accountId in multichain account select…
fabiobozzo Nov 4, 2025
c30ed30
fix: flaky test `MetaMask onboarding User can add custom network duri…
seaona Nov 4, 2025
e39125e
fix: wrong stx chain id (#37461)
klejeune Nov 4, 2025
f3a28c3
feat: add error_type to RehydrationPasswordFailed event (#37373)
huggingbot Nov 4, 2025
3b0d295
fix: flaky test `Deep Link does not allow the loading screen over the…
seaona Nov 4, 2025
b0142e9
fix: cp-13.8.0 network nicknames (#37477)
bergarces Nov 4, 2025
0696d78
feat: trust signals on spender addresses (#36431)
mindofmar Nov 4, 2025
fe0611b
chore: bump `@metamask/multichain-account-service` to `^2.1.0` (#37481)
mathieuartu Nov 4, 2025
0a1d33f
fix: cp-13.8.0 ensure asset price chart does not crash and uses corre…
Prithpal-Sooriya Nov 4, 2025
e054b7e
test: Fix flask multichain api wallet_invokeMethod e2e tests (#37471)
chloeYue Nov 4, 2025
e339fff
feat: rwds-276 show rewards balance (#37361)
VGR-GIT Nov 4, 2025
d07c7af
test: ignored error thrown by the browser related to message-signing-…
javiergarciavera Nov 4, 2025
4590e05
fix: update default pair for BTC (#37512)
SteP-n-s Nov 4, 2025
3276340
feat: show back button for settings inner page on extended mode (#37486)
lionellbriones Nov 5, 2025
0425ad9
feat: account and network selector (#37434)
lionellbriones Nov 5, 2025
2a0ba7c
feat: use last selected payment detail instead of deducing from appro…
tuna1207 Nov 5, 2025
eceb777
fix: stripe checkout latency (#37453)
tuna1207 Nov 5, 2025
3602ce3
fix: Handle non-serializable trace context (#37468)
huggingbot Nov 5, 2025
003dc9b
fix: error handling for invalid srp (#37470)
smgv Nov 5, 2025
a1218dd
fix: webpack policy overrides (#37499)
itsyoboieltr Nov 5, 2025
b64cb29
fix: cp-13.8.0 dapp swap commands support (#37496)
jpuri Nov 5, 2025
8ba1689
fix: update broken Ledger tutorial link (#37216)
dawnseeker8 Nov 5, 2025
15174e6
fix: flaky test `Vault Decryptor Page is able to decrypt the vault up…
seaona Nov 5, 2025
5aaa253
fix: flaky test `Deep Link handles the skipDeepLinkInterstitial flag …
seaona Nov 5, 2025
4b6fb71
feat: Implement `onAmountInput` in send flow amount for non-EVM valid…
OGPoyraz Nov 5, 2025
3ae4761
feat: riv animation setup & login page ui update PR - 1 (#36113)
smgv Nov 5, 2025
fd089a1
feat: DeFiPositionsController package changes (#37215)
bergarces Nov 5, 2025
3045d76
fix: cp-13.8.0 Fix unknown token issue when nonEVM selected in networ…
OGPoyraz Nov 5, 2025
ed9dd94
feat: add monad network (#37283)
khanti42 Nov 5, 2025
0d8485b
feat: Allow Danger alerts with acknowledgeBypass to skip acknowledgem…
pedronfigueiredo Nov 5, 2025
228bd74
fix: network ordering in receiving list (#37467)
montelaidev Nov 5, 2025
02add16
feat: Add account upgrade and check status RPC methods (#36452)
MoMannn Nov 5, 2025
dc2324f
chore: Upgrade gator permissions snaps (#37534)
jeffsmale90 Nov 5, 2025
ffe721f
fix: enhance bip-44 intro modal show condition (#37324)
fabiobozzo Nov 5, 2025
96d9d90
fix: simulation details padding (#37511)
klejeune Nov 5, 2025
5c61c3e
feat: enable shield for experimental build (#37489)
tuna1207 Nov 5, 2025
2cfcf7d
test(snaps): Improve settings E2E stability and correctness (#37535)
FrederikBolding Nov 5, 2025
86aee85
feat: updated wallet ready page PR - 2 (#36839)
smgv Nov 5, 2025
bb088aa
feat: show points estimate in swaps / bridge (#37529)
VGR-GIT Nov 5, 2025
77e1623
feat: Implement blocker alert sending assets to burn/null address (#3…
OGPoyraz Nov 5, 2025
b2c7401
chore(INFRA-3081): add branch name validation step for changelog refr…
Qbandev Nov 5, 2025
3894d74
fix: hides network fee row on bitcoin when there is no gas estimate (…
ghgoodreau Nov 5, 2025
5cf809a
feat: updated the unlock wallet flow with animation PR- 3 (#37412)
smgv Nov 5, 2025
b42aa88
fix: INFRA-3104- Fix NPM MinimalGate error create-release-pr workflow…
XxdpavelxX Nov 5, 2025
e1d6e32
feat: Gator Permissions Revocation (#37209)
hanzel98 Nov 5, 2025
468fef1
chore: INFRA-3041-Added github-tools to .gitignore (#37436)
XxdpavelxX Nov 5, 2025
fce9645
chore: move discover button to global menu (#37551)
sophieqgu Nov 5, 2025
4bf0f87
refactor(5562): migrate ui/pages/bridge to react-router-v5-compat (#3…
DDDDDanica Nov 5, 2025
0525939
chore: unused test data (#37432)
n3ps Nov 5, 2025
6182154
feat: disable revoke button while tx pending (#37559)
V00D00-child Nov 5, 2025
23ddf23
feat: add gas limit to shield subscription approval transaction (#37550)
tanguyenvn Nov 6, 2025
3b4ab12
feat: reset wallet (#36223)
lwin-kyaw Nov 6, 2025
f22839f
fix: read feature flags before navigating to bridge UI (#37556)
micaelae Nov 6, 2025
4ede365
feat: claims list page (#35800)
lionellbriones Nov 6, 2025
fe2f291
fix: cp-13.8.0 fix tokenId for nft send flow (#37555)
sahar-fehri Nov 6, 2025
3b0c983
fix(INFRA-3081): correct platform parameter in release changelog work…
Qbandev Nov 6, 2025
e7ec66f
fix: fix filter nfts on send flow (#37558)
sahar-fehri Nov 6, 2025
adaac6e
fix: correct tooltip text retrieval in multichain site cell component…
fabiobozzo Nov 6, 2025
3195055
feat: update btc snap (#37537)
orestiseth Nov 6, 2025
08b8492
feat: add feature flag to blacklist custom networks (used to hide Mon…
khanti42 Nov 6, 2025
9e3fb78
style: add hover effects to account menu button in multichain account…
fabiobozzo Nov 6, 2025
5a320e1
fix: styles for the fox icon when selecting future ETH as a gas token…
dan437 Nov 6, 2025
d788715
fix: shield crypto approval calculation and dev config (#37572)
tuna1207 Nov 6, 2025
d54ea81
feat: debounce points estimation & alt fox icon if points is 0 (#37575)
VGR-GIT Nov 6, 2025
ee62e1b
chore: upgrade @metamask/gator-permissions-snap from ^0.5.0 to ^0.6.0…
jeffsmale90 Nov 6, 2025
5be6048
refactor(5563): migrate `pages/swaps` to react-router-dom-v5-compat (…
DDDDDanica Nov 6, 2025
c3c0535
fix: adds quote data fallback for bitcoin from transactions (#37525)
ghgoodreau Nov 6, 2025
d2b4a31
fix: fix duplicate item in search token (#37568)
sahar-fehri Nov 6, 2025
da50bce
chore: adds bitcoin-swaps gate to builds.yml (#37587)
ghgoodreau Nov 6, 2025
3e644b7
Merge remote-tracking branch 'origin/main' into stable-sync
gauthierpetetin Nov 6, 2025
dceded1
Merge origin/main into stable-sync
gauthierpetetin Nov 6, 2025
2e6fcd3
fix: flaky test `Metrics Sends a contract interaction type 2 transact…
seaona Nov 6, 2025
77c2c69
release: Stable sync v13.8.0 into main (#37592)
gauthierpetetin Nov 6, 2025
9047f0d
chore: upgrade @metamask/message-signing-snap to version 1.1.4 (#37579)
MoMannn Nov 6, 2025
a8709b0
release: release/13.9.0-Changelog (#37599)
metamaskbot Nov 6, 2025
a99b009
Update Attributions
metamaskbot Nov 7, 2025
0ba1352
release(runway): cherry-pick fix: stop reloading of animation & brows…
runway-github[bot] Nov 7, 2025
144c792
Release/13.9.0 changelog (#37621)
gauthierpetetin Nov 7, 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
  •  
  •  
  •  
32 changes: 0 additions & 32 deletions .github/actions/page-load-benchmark-comment/action.yml

This file was deleted.

20 changes: 10 additions & 10 deletions .github/scripts/benchmark-stats-commit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ if [[ -z "${EXTENSION_BENCHMARK_STATS_TOKEN:-}" ]]; then
exit 1
fi

if [[ -z "${GITHUB_SHA:-}" ]]; then
printf '%s\n' 'GITHUB_SHA environment variable must be set'
if [[ -z "${HEAD_COMMIT_HASH:-}" ]]; then
printf '%s\n' 'HEAD_COMMIT_HASH environment variable must be set'
exit 1
fi

if [[ -z "${GITHUB_REPOSITORY_OWNER:-}" ]]; then
printf '%s\n' 'GITHUB_REPOSITORY_OWNER environment variable must be set'
if [[ -z "${OWNER:-}" ]]; then
printf '%s\n' 'OWNER environment variable must be set'
exit 1
fi

Expand All @@ -33,7 +33,7 @@ git fetch origin main:main

git checkout main

BENCHMARK_FILE="../test-artifacts/benchmarks/benchmark-results.json"
BENCHMARK_FILE="../test-artifacts/benchmarks/page-load-benchmark-results.json"
STATS_FILE="stats/page_load_data.json"
TEMP_FILE="stats/page_load_data.temp.json"

Expand All @@ -53,13 +53,13 @@ jq . "${BENCHMARK_FILE}" > /dev/null || {
}

# Check if the SHA already exists in the stats file
if jq -e "has(\"${GITHUB_SHA}\")" "${STATS_FILE}" > /dev/null; then
echo "SHA ${GITHUB_SHA} already exists in stats file. No new commit needed."
if jq -e "has(\"${HEAD_COMMIT_HASH}\")" "${STATS_FILE}" > /dev/null; then
echo "SHA ${HEAD_COMMIT_HASH} already exists in stats file. No new commit needed."
exit 0
fi

# Append new benchmark data correctly using jq
jq --arg sha "${GITHUB_SHA}" --argjson data "$(cat "${BENCHMARK_FILE}")" \
jq --arg sha "${HEAD_COMMIT_HASH}" --argjson data "$(cat "${BENCHMARK_FILE}")" \
'. + {($sha): $data}' "${STATS_FILE}" > "${TEMP_FILE}"

# Overwrite the original JSON file with the corrected version
Expand All @@ -68,9 +68,9 @@ mv "${TEMP_FILE}" "${STATS_FILE}"
# Only add the JSON file
git add stats/page_load_data.json

git commit --message "Adding page load benchmark data at commit: ${GITHUB_SHA}"
git commit --message "Adding page load benchmark data at commit: ${HEAD_COMMIT_HASH}"

repo_slug="${GITHUB_REPOSITORY_OWNER}/extension_benchmark_stats"
repo_slug="${OWNER}/extension_benchmark_stats"

git push "https://metamaskbot:${EXTENSION_BENCHMARK_STATS_TOKEN}@github.com/${repo_slug}" main

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/create-release-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,14 @@ jobs:
create-release-pr:
needs: [resolve-bases, resolve-previous-ref]
name: Create Release Pull Request using Github Tools
uses: MetaMask/github-tools/.github/workflows/create-release-pr.yml@7fe185fdb0e60981c898e88d82e44ff33f604daa
uses: MetaMask/github-tools/.github/workflows/create-release-pr.yml@6a04e4d0c8c25680a7543cfcd2e2fb7125b6759c
with:
platform: extension
checkout-base-branch: ${{ needs.resolve-bases.outputs.checkout_base }}
release-pr-base-branch: ${{ needs.resolve-bases.outputs.release_base }}
semver-version: ${{ inputs.semver-version }}
previous-version-ref: ${{ needs.resolve-previous-ref.outputs.previous_ref }}
github-tools-version: 7fe185fdb0e60981c898e88d82e44ff33f604daa
github-tools-version: 6a04e4d0c8c25680a7543cfcd2e2fb7125b6759c
secrets:
# This token needs write permissions to metamask-extension & read permissions to metamask-planning
# If called from auto-create-release-pr use the PR_TOKEN passed in as an input, if called manually use github secret token values
Expand Down
20 changes: 7 additions & 13 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ on:
- cron: '0 2-6 * * *'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.sha || github.ref }}
cancel-in-progress: ${{ !(contains(github.ref, 'refs/heads/main') || contains(github.ref, 'refs/heads/stable')) }}

env:
Expand Down Expand Up @@ -241,22 +241,15 @@ jobs:
s3-bucket: ${{ vars.AWS_S3_BUCKET }}/${{ github.event.repository.name }}/${{ github.run_id }}/bundle-size
path: test-artifacts/chrome

page-load-benchmark-pr:
page-load-benchmark:
needs:
- build-test-browserify
if: ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref_name == 'main') }}
uses: ./.github/workflows/page-load-benchmark-pr.yml
with:
browser-loads: '10'
page-loads: '10'

page-load-benchmark-upload:
needs:
- page-load-benchmark-pr
if: github.ref == 'refs/heads/main'
uses: ./.github/workflows/page-load-benchmark-upload.yml
uses: ./.github/workflows/page-load-benchmark.yml
secrets:
EXTENSION_BENCHMARK_STATS_TOKEN: ${{ secrets.EXTENSION_BENCHMARK_STATS_TOKEN }}
with:
browser-loads: 10
page-loads: 10

needs-e2e:
needs:
Expand Down Expand Up @@ -419,6 +412,7 @@ jobs:
- build-test-flask-browserify
- build-test-flask-mv2-browserify
- run-benchmarks
- page-load-benchmark
- bundle-size
- build-storybook
- build-ts-migration-dashboard
Expand Down
38 changes: 0 additions & 38 deletions .github/workflows/page-load-benchmark-upload.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,16 @@ on:
browser-loads:
description: 'Number of browser loads to perform'
required: false
type: string
default: '10'
type: number
default: 10
page-loads:
description: 'Number of page loads per browser'
required: false
type: string
default: '10'
type: number
default: 10
secrets:
EXTENSION_BENCHMARK_STATS_TOKEN:
required: true

jobs:
page-load-benchmark-pr:
Expand All @@ -23,28 +26,42 @@ jobs:
OWNER: ${{ github.repository_owner }}
REPOSITORY: ${{ github.event.repository.name }}
PR_NUMBER: ${{ github.event.pull_request.number }}
GITHUB_SHA: ${{ github.event.pull_request.head.sha }}
HEAD_COMMIT_HASH: ${{ github.event.pull_request.head.sha || github.sha }}
BENCHMARK_BROWSER_LOADS: ${{ inputs.browser-loads }}
BENCHMARK_PAGE_LOADS: ${{ inputs.page-loads }}
IS_PR_OR_MAIN: ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref_name == 'main') }}
steps:
- name: Checkout and setup environment
if: ${{ env.IS_PR_OR_MAIN }}
uses: MetaMask/action-checkout-and-setup@v1
with:
is-high-risk-environment: false
skip-allow-scripts: true
use-yarn-hydrate: true

- name: Download artifact 'build-test-browserify'
if: ${{ env.IS_PR_OR_MAIN }}
uses: actions/download-artifact@v4
with:
name: build-test-browserify

- name: Install Playwright browsers
if: ${{ env.IS_PR_OR_MAIN }}
run: yarn playwright install chromium

- name: Run page load benchmarks
if: ${{ env.IS_PR_OR_MAIN }}
run: yarn test:e2e:benchmark

- name: Upload benchmark results (github artifacts)
if: ${{ env.IS_PR_OR_MAIN }}
uses: actions/upload-artifact@v4
with:
name: benchmark-results
path: test-artifacts/benchmarks/benchmark-results.json
name: page-load-benchmark-results
path: test-artifacts/benchmarks/page-load-benchmark-results.json

- name: Upload benchmark results (historical data)
if: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
run: .github/scripts/benchmark-stats-commit.sh
env:
EXTENSION_BENCHMARK_STATS_TOKEN: ${{ secrets.EXTENSION_BENCHMARK_STATS_TOKEN }}
8 changes: 4 additions & 4 deletions .github/workflows/publish-prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,12 @@ jobs:
echo "MERGE_BASE_COMMIT_HASH=${merge_base_commit_hash}" >> "${GITHUB_ENV}"
echo "The merge base commit hash is '${merge_base_commit_hash}'"
- name: Page load benchmark comment
- name: Download page load benchmark results
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/actions/page-load-benchmark-comment
uses: actions/download-artifact@v4
with:
head-commit-hash: ${{ env.HEAD_COMMIT_HASH }}
pr-comment-token: ${{ secrets.PR_COMMENT_TOKEN }}
name: page-load-benchmark-results
path: test-artifacts/benchmarks

- name: Publish prerelease
if: ${{ env.MERGE_BASE_COMMIT_HASH && env.PR_NUMBER && env.PR_COMMENT_TOKEN && vars.AWS_CLOUDFRONT_URL }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 30
container:
image: ghcr.io/metamask/metamask-extension-e2e-image:v1.0.0
image: ghcr.io/metamask/metamask-extension-e2e-image:v24.11.0
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/stable-branch-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ jobs:
run-stable-sync:
name: Run Stable branch sync
needs: get-next-version
uses: metamask/github-tools/.github/workflows/stable-sync.yml@486f5d113c5524eaab9a058abe76097f83a4c33e
uses: metamask/github-tools/.github/workflows/stable-sync.yml@79ce6e3ab56c7f3d0ee0c2cf5900a2522d20be0b
secrets:
github-token: ${{ secrets.STABLE_SYNC_TOKEN }}
with:
semver-version: ${{ needs.get-next-version.outputs.next-version }}
repo-type: 'extension' # Accepts 'mobile' or 'extension'
github-tools-version: '486f5d113c5524eaab9a058abe76097f83a4c33e'
github-tools-version: '79ce6e3ab56c7f3d0ee0c2cf5900a2522d20be0b'
stable-branch-name: 'stable' # Defaults to `stable`
31 changes: 30 additions & 1 deletion .github/workflows/update-release-changelog.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# On every push to a release branch (Version-v* or release/*), this workflow rebuilds the matching
# On every push to a release branch (release/x.y.z format), this workflow rebuilds the matching
# changelog branch, re-runs the auto-changelog script, and either updates or recreates the changelog PR.
# Note: This workflow validates the branch name to ensure it matches the semantic versioning pattern
# (release/x.y.z) and skips execution for other branch names like release/x.y.z-Changelog.
name: Update Release Changelog PR

on:
Expand All @@ -12,7 +14,34 @@ concurrency:
cancel-in-progress: false

jobs:
validate-branch:
name: Validate release branch format
runs-on: ubuntu-latest
outputs:
is-valid-release: ${{ steps.check.outputs.is-valid }}
version: ${{ steps.check.outputs.version }}
steps:
- name: Check if branch matches release/x.y.z pattern
id: check
run: |
BRANCH_NAME="${{ github.ref_name }}"
echo "Checking branch: $BRANCH_NAME"

# Validate branch matches release/x.y.z format (semantic versioning)
if [[ "$BRANCH_NAME" =~ ^release/[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
VERSION="${BRANCH_NAME#release/}"
echo "Valid release branch detected: $BRANCH_NAME (version: $VERSION)"
echo "is-valid=true" >> "$GITHUB_OUTPUT"
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
else
echo "Branch '$BRANCH_NAME' does not match release/x.y.z pattern. Skipping changelog update."
echo "is-valid=false" >> "$GITHUB_OUTPUT"
fi

refresh-changelog:
name: Update changelog
needs: validate-branch
if: needs.validate-branch.outputs.is-valid-release == 'true'
permissions:
contents: write
pull-requests: write
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ development/generate-attributions/.yarn/*

# MetaMask
.metamask/*
github-tools/

# Playwright
public/playwright
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v22.15
v24.11
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ node_modules/**/*
/development/ts-migration-dashboard/build/**
/dist/**/*
/lavamoat/**/policy.json
/lavamoat/**/policy-override.json
/storybook-build/**/*
/test-artifacts/**/*
/test/test-results/**/*
Expand Down
Loading
Loading