Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

chore: deprecation notice (#362) #659

chore: deprecation notice (#362)

chore: deprecation notice (#362) #659

Workflow file for this run

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 }}