This repository has been archived by the owner on Apr 12, 2024. It is now read-only.
chore: deprecation notice (#362) #659
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- master | |
- unstable | |
pull_request: | |
branches: | |
- '**' | |
env: | |
METAMASK_CACHE_PATH: 'node_modules/.cache/.metamask' | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Activate corepack | |
run: corepack enable | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "16" | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT" | |
- name: Cache yarn cache directory | |
uses: actions/cache@v3 | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install deps | |
run: yarn --immutable | |
- name: Build | |
run: yarn build | |
download: | |
needs: build | |
name: 'Download Metamask extension' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Activate corepack | |
run: corepack enable | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "16" | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT" | |
- name: Cache yarn cache directory | |
uses: actions/cache@v3 | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install deps | |
run: yarn --immutable | |
- name: Download metamask | |
run: yarn run download:metamask | |
- uses: actions/cache/save@v3 | |
with: | |
path: ${{env.METAMASK_CACHE_PATH}} | |
key: metamask-extension | |
lint: | |
needs: build | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Activate corepack | |
run: corepack enable | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "16" | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT" | |
- name: Cache yarn cache directory | |
uses: actions/cache@v3 | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install deps | |
run: yarn --immutable | |
- name: Lint | |
run: yarn run lint | |
tests: | |
needs: [ build, download ] | |
name: Tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
mm-version: [ mm, flask ] | |
automation: [ playwright, puppeteer ] | |
steps: | |
- name: Activate corepack | |
run: corepack enable | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "16" | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT" | |
- name: Cache yarn cache directory | |
uses: actions/cache@v3 | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- uses: actions/cache/restore@v3 | |
with: | |
path: ${{env.METAMASK_CACHE_PATH}} | |
key: metamask-extension | |
- name: Install | |
run: yarn --immutable | |
- name: Run tests with retry | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 5 | |
max_attempts: 3 | |
command: 'yarn run test:${{matrix.automation}}:${{ matrix.mm-version }} --timeout 50000' | |
- uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: debug_screenshots | |
path: ./*.png | |
tests-user-data: | |
name: Tests UserData | |
runs-on: ubuntu-latest | |
needs: [ tests, download ] | |
strategy: | |
fail-fast: false | |
matrix: | |
automation: [ playwright, puppeteer ] | |
steps: | |
- run: corepack enable | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "16" | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT" | |
- name: Cache yarn cache directory | |
uses: actions/cache@v3 | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- uses: actions/cache/restore@v3 | |
with: | |
path: ${{env.METAMASK_CACHE_PATH}} | |
key: metamask-extension | |
- name: Install | |
run: yarn --immutable | |
- name: Run Tests UserData with retry | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 24 | |
max_attempts: 3 | |
command: 'yarn run test:${{matrix.automation}}:userData --timeout 240000' | |
maybe-release: | |
name: release | |
runs-on: ubuntu-latest | |
needs: [ tests, lint, build, tests-user-data ] | |
if: github.event_name == 'push' && github.ref == 'refs/heads/master' | |
steps: | |
- uses: google-github-actions/release-please-action@v3 # it will analyze commits and create PR with new version and updated CHANGELOG:md file. On merging it will create github release page with changelog | |
id: release | |
with: | |
release-type: node | |
package-name: release-please-action | |
changelog-types: '[{"type":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"chore","section":"Miscellaneous","hidden":true}]' | |
- uses: actions/checkout@v4 | |
if: ${{ steps.release.outputs.release_created }} | |
- name: Activate corepack | |
run: corepack enable | |
- uses: actions/setup-node@v4 | |
with: | |
cache: 'yarn' | |
node-version: "16" | |
registry-url: 'https://registry.npmjs.org' | |
if: ${{ steps.release.outputs.release_created }} | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT" | |
- name: Cache yarn cache directory | |
uses: actions/cache@v3 | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- run: yarn --immutable | |
if: ${{ steps.release.outputs.release_created }} | |
- run: yarn build | |
if: ${{ steps.release.outputs.release_created }} | |
- run: | | |
echo npmAuthToken: "$NODE_AUTH_TOKEN" >> ./.yarnrc.yml | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}} | |
if: ${{ steps.release.outputs.release_created }} | |
- run: yarn npm publish --access public | |
if: ${{ steps.release.outputs.release_created }} |