Skip to content

Commit

Permalink
Merge branch 'main' into jl/send-isConnected-in-getProviderState-chai…
Browse files Browse the repository at this point in the history
…nChanged
  • Loading branch information
jiexi committed Feb 3, 2025
2 parents d6be967 + 600e4b1 commit b790d6d
Show file tree
Hide file tree
Showing 554 changed files with 7,531 additions and 37,136 deletions.
72 changes: 7 additions & 65 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,6 @@ workflows:
- prep-build-test-flask-mv2:
requires:
- prep-deps
- prep-build-storybook:
requires:
- prep-deps
- prep-build-ts-migration-dashboard:
requires:
- prep-deps
Expand Down Expand Up @@ -185,10 +182,6 @@ workflows:
- /^Version-v(\d+)[.](\d+)[.](\d+)/
requires:
- prep-build
- test-storybook:
requires:
- prep-deps
- prep-build-storybook
- validate-source-maps:
requires:
- prep-build
Expand Down Expand Up @@ -222,7 +215,6 @@ workflows:
- test-e2e-firefox-flask
- test-e2e-chrome-vault-decryption
- test-e2e-chrome-webpack
- test-storybook
- benchmark:
requires:
- prep-build-test
Expand All @@ -243,7 +235,6 @@ workflows:
- prep-build-test-mv2
- prep-build-test-flask
- prep-build-test-flask-mv2
- prep-build-storybook
- prep-build-ts-migration-dashboard
- benchmark
- user-actions-benchmark
Expand All @@ -260,12 +251,6 @@ workflows:
- prep-build-flask
- prep-build-flask-mv2
- all-tests-pass
- job-publish-storybook:
filters:
branches:
only: main
requires:
- prep-build-storybook
- job-publish-ts-migration-dashboard:
filters:
branches:
Expand Down Expand Up @@ -336,12 +321,15 @@ jobs:
- run:
name: Save Yarn version
command: yarn --version > /tmp/YARN_VERSION
- run:
name: Save Foundry version
command: node -e "process.stdout.write(require('./package.json').foundryup.version)" > /tmp/FOUNDRY_VERSION
- restore_cache:
keys:
# First try to get the specific cache for the checksum of the yarn.lock file.
# This cache key lookup will fail if the lock file is modified and a cache
# has not yet been persisted for the new checksum.
- dependency-cache-{{ checksum "/tmp/YARN_VERSION" }}-{{ checksum "yarn.lock" }}
- dependency-cache-{{ checksum "/tmp/YARN_VERSION" }}-{{ checksum "yarn.lock" }}-{{ checksum "/tmp/FOUNDRY_VERSION" }}
# To prevent having to do a full install of every node_module when
# dependencies change, restore from the last known cache of any
# branch/checksum with the same Yarn version, the install step will remove
Expand All @@ -353,12 +341,14 @@ jobs:
name: Install dependencies
command: yarn --immutable
- save_cache:
key: dependency-cache-{{ checksum "/tmp/YARN_VERSION" }}-{{ checksum "yarn.lock" }}
key: dependency-cache-{{ checksum "/tmp/YARN_VERSION" }}-{{ checksum "yarn.lock" }}-{{ checksum "/tmp/FOUNDRY_VERSION" }}
paths:
- .yarn/cache
- .metamask/cache # should match yarn's relative location
- persist_to_workspace:
root: .
paths:
- .metamask/cache # ensures anvil is installed
- node_modules
- build-artifacts

Expand Down Expand Up @@ -663,21 +653,6 @@ jobs:
paths:
- dist-test-webpack

prep-build-storybook:
executor: node-linux-medium
steps:
- run: *shallow-git-clone-and-enable-vnc
- run: corepack enable
- attach_workspace:
at: .
- run:
name: Build Storybook
command: yarn storybook:build
- persist_to_workspace:
root: .
paths:
- storybook-build

prep-build-ts-migration-dashboard:
executor: node-browsers-small
steps:
Expand All @@ -704,20 +679,6 @@ jobs:
name: Rerun workflows from failed
command: yarn ci-rerun-from-failed

test-storybook:
executor: node-browsers-medium-plus
steps:
- run: *shallow-git-clone-and-enable-vnc
- run: sudo corepack enable
- attach_workspace:
at: .
- run:
name: Install Playwright browsers
command: yarn exec playwright install chromium
- run:
name: Test Storybook
command: yarn test-storybook:ci

test-e2e-chrome-webpack:
executor: node-browsers-medium-plus
parallelism: 20
Expand Down Expand Up @@ -1085,9 +1046,6 @@ jobs:
- store_artifacts:
path: build-artifacts
destination: build-artifacts
- store_artifacts:
path: storybook-build
destination: storybook
- store_artifacts:
path: development/ts-migration-dashboard/build/final
destination: ts-migration-dashboard
Expand Down Expand Up @@ -1115,22 +1073,6 @@ jobs:
name: Create GitHub release
command: .circleci/scripts/release-create-gh-release.sh

job-publish-storybook:
executor: node-browsers-small
steps:
- add_ssh_keys:
fingerprints:
- '3d:49:29:f4:b2:e8:ea:af:d1:32:eb:2a:fc:15:85:d8'
- run: *shallow-git-clone-and-enable-vnc
- run: sudo corepack enable
- attach_workspace:
at: .
- run:
name: storybook:deploy
command: |
git remote add storybook [email protected]:MetaMask/metamask-storybook.git
yarn storybook:deploy
job-publish-ts-migration-dashboard:
executor: node-browsers-small
steps:
Expand Down
4 changes: 3 additions & 1 deletion .depcheckrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ ignores:
- 'wait-on'
- 'tsx' # used in .devcontainer
- 'prettier-eslint' # used by the Prettier ESLint VSCode extension
- 'tar' # used by foundryup.ts
- 'minipass' # used by foundryup.ts
# storybook
- '@storybook/cli'
- '@storybook/core'
Expand All @@ -65,7 +67,7 @@ ignores:
- 'html-bundler-webpack-plugin' # build tool
- 'postcss-loader' # build tool
- '@swc/helpers' # build tool
- browserslist # build tool
- 'browserslist' # build tool
- 'buffer' # polyfill
- 'crypto-browserify' # polyfill
- 'process' # polyfill
Expand Down
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ offscreen/scripts/offscreen.ts @MetaMask/snaps-devs
# make all such communication opt IN versus opt OUT.
privacy-snapshot.json @MetaMask/extension-privacy-reviewers


# A machine-generated file that tracks circular dependencies in the codebase.
# It is updated using yarn circular-deps:update
development/circular-deps.jsonc @MetaMask/extension-security-team @HowardBraham @dbrans

# The CODEOWNERS file constitutes an agreement amongst organization
# admins and maintainers to restrict approval capabilities to a subset
# of contributors. Modifications to this file result in a modification of
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/build-storybook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Build storybook

on:
workflow_call:
secrets:
STORYBOOK_TOKEN:
required: true

jobs:
build-storybook:
name: Build storybook
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup environment
uses: metamask/github-tools/.github/actions/setup-environment@main

- name: Build storybook
run: yarn storybook:build

- name: Upload 'storybook-build' to S3
uses: metamask/github-tools/.github/actions/upload-s3@1233659b3850eb84824d7375e2e0c58eb237701d
with:
aws-region: ${{ vars.AWS_REGION }}
role-to-assume: ${{ vars.AWS_IAM_ROLE }}
s3-bucket: ${{ vars.AWS_S3_BUCKET }}/${{ github.event.repository.name }}/${{ github.run_id }}/storybook-build
path: storybook-build

- name: Deploy storybook
# For a `pull_request` event, the branch is `github.head_ref``.
# For a `push` event, the branch is `github.ref_name`.
if: ${{ (github.head_ref || github.ref_name) == 'main' }}
run: |
git remote add storybook https://${{ secrets.STORYBOOK_TOKEN }}@github.com/MetaMask/metamask-storybook.git
yarn storybook:deploy
28 changes: 28 additions & 0 deletions .github/workflows/create-release-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Create Release Pull Request

on:
workflow_dispatch:
inputs:
base-branch:
description: 'The base branch, tag, or SHA for git operations and the pull request.'
required: true
semver-version:
description: 'A semantic version. eg: x.x.x'
required: true
previous-version-tag:
description: 'Previous release version tag. eg: v7.7.0'
required: true
jobs:
create-release-pr:
uses: MetaMask/github-tools/.github/workflows/create-release-pr.yml@4f594ca7d90378da66b7efce987eff379934524b
with:
platform: extension
base-branch: ${{ inputs.base-branch }}
semver-version: ${{ inputs.semver-version }}
previous-version-tag: ${{ inputs.previous-version-tag }}
secrets:
# This token needs write permissions to metamask-extension & read permissions to metamask-planning
github-token: ${{ secrets.PR_TOKEN }}
permissions:
contents: write
pull-requests: write
22 changes: 22 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ jobs:
name: Test lint
uses: ./.github/workflows/test-lint.yml

test-circular-deps:
name: Test circular deps
uses: ./.github/workflows/test-circular-deps.yml

test-lint-changelog:
name: Test lint changelog
uses: ./.github/workflows/test-lint-changelog.yml
Expand All @@ -46,6 +50,10 @@ jobs:
name: Test deps depcheck
uses: ./.github/workflows/test-deps-depcheck.yml

test-storybook:
name: Test storybook
uses: ./.github/workflows/test-storybook.yml

validate-lavamoat-allow-scripts:
name: Validate lavamoat allow scripts
uses: ./.github/workflows/validate-lavamoat-allow-scripts.yml
Expand Down Expand Up @@ -75,18 +83,30 @@ jobs:
- wait-for-circleci-workflow-status
uses: ./.github/workflows/runway.yml

build-storybook:
name: Build storybook
uses: ./.github/workflows/build-storybook.yml
secrets:
STORYBOOK_TOKEN: ${{ secrets.STORYBOOK_TOKEN }}
permissions:
contents: read
# id-token permission is required for uploading to s3
id-token: write

build-beta:
name: Build beta
uses: ./.github/workflows/build-beta.yml
permissions:
contents: read
# id-token permission is required for uploading to s3
id-token: write

publish-prerelease:
name: Publish prerelease
if: ${{ github.event_name == 'pull_request' }}
needs:
- wait-for-circleci-workflow-status
- build-storybook
- build-beta
uses: ./.github/workflows/publish-prerelease.yml
secrets:
Expand All @@ -103,11 +123,13 @@ jobs:
- test-lint-lockfile
- test-yarn-dedupe
- test-deps-depcheck
- test-storybook
- validate-lavamoat-allow-scripts
- validate-lavamoat-policy-build
- validate-lavamoat-policy-webapp
- run-tests
- wait-for-circleci-workflow-status
- build-storybook
- build-beta
outputs:
PASSED: ${{ steps.set-output.outputs.PASSED }}
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/publish-prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,6 @@ jobs:
mkdir -p test-artifacts/chrome
curl --silent --location "https://output.circle-artifacts.com/output/job/${CIRCLE_WORKFLOW_JOB_ID}/artifacts/0/test-artifacts/chrome/bundle_size.json" > "test-artifacts/chrome/bundle_size.json"
mkdir storybook-build
curl --silent --location "https://output.circle-artifacts.com/output/job/${CIRCLE_WORKFLOW_JOB_ID}/artifacts/0/storybook/stories.json" > "storybook-build/stories.json"
- name: Publish prerelease
env:
PR_COMMENT_TOKEN: ${{ secrets.PR_COMMENT_TOKEN }}
Expand Down
18 changes: 18 additions & 0 deletions .github/workflows/test-circular-deps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Test Circular Dependencies

on:
workflow_call:

jobs:
test-circular-deps:
name: Test circular dependencies
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup environment
uses: metamask/github-tools/.github/actions/setup-environment@main

- name: Check circular dependencies
run: yarn circular-deps:check
21 changes: 21 additions & 0 deletions .github/workflows/test-storybook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Test storybook

on:
workflow_call:

jobs:
test-storybook:
name: Test storybook
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup environment
uses: metamask/github-tools/.github/actions/setup-environment@main

- name: Install Playwright browsers
run: yarn exec playwright install chromium

- name: Test Storybook
run: yarn test-storybook:ci
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ test-results/
!.yarn/versions
development/generate-attributions/.yarn/*

# MetaMask
.metamask/*

# Playwright
public/playwright
lavamoat/**/policy-debug.json
Expand Down
Loading

0 comments on commit b790d6d

Please sign in to comment.