[Snyk] Upgrade @docusaurus packages from 3.0.0 to 3.0.1 #8424
Workflow file for this run
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: 'Build' | |
on: | |
push: | |
branches: | |
- '4.x' | |
tags: | |
- v4* | |
pull_request: | |
branches: | |
- '4.x' | |
types: [opened, reopened, synchronize] | |
jobs: | |
build: | |
strategy: | |
matrix: | |
node: [18, 16] | |
name: Build CJS | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: yarn | |
- run: yarn install --ignore-scripts | |
- run: yarn prebuild | |
- run: yarn build:cjs | |
- run: tar -czf /tmp/web3-${{ matrix.node }}.js.tar.gz --exclude="./.git" ./ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: web3-${{ matrix.node }}.js.tar.gz | |
path: /tmp/web3-${{ matrix.node }}.js.tar.gz | |
build-esm: | |
name: Build ESM | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node: [ 18, 16 ] | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-${{ matrix.node }}.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./ | |
- run: yarn build:esm | |
build-types: | |
name: Build Types | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node: [ 18, 16 ] | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-${{ matrix.node }}.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./ | |
- run: yarn build:types | |
lint: | |
name: Lint | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-18.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-18.js.tar.gz -C ./ | |
- run: yarn lint | |
build-web: | |
name: Build Web | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-18.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-18.js.tar.gz -C ./ | |
- name: Restore default branch stats | |
if: github.event_name != 'push' | |
uses: actions/cache/restore@v3 | |
with: | |
path: packages/web3/dist/4.x.json | |
key: web3-bundle-stats-4x-${{github.event.pull_request.base.sha}} | |
- run: yarn build:web:analyze | |
env: | |
STATS_FILE: ${{ github.ref_name }}.json | |
- name: Compare bundle stats | |
uses: github/webpack-bundlesize-compare-action@v1 | |
if: github.event_name != 'push' | |
continue-on-error: true | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
current-stats-json-path: "packages/web3/dist/${{ github.ref_name }}.json" | |
base-stats-json-path: "packages/web3/dist/4.x.json" | |
- name: Cache default branch stats | |
uses: actions/cache/save@v3 | |
if: github.event_name == 'push' && github.ref == 'refs/heads/4.x' | |
with: | |
path: packages/web3/dist/4.x.json | |
key: web3-bundle-stats-4x-${{github.sha}} | |
unit: | |
name: Unit Tests | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node: [18, 16] | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-${{ matrix.node }}.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./ | |
- run: yarn test:unit | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
flags: UnitTests | |
token: ${{ secrets.CODECOV_TOKEN }} | |
if: ${{ matrix.node == 18 }} | |
integration: | |
name: Integration | |
needs: build | |
runs-on: ubuntu-latest | |
env: | |
INFURA_GOERLI_HTTP: ${{ secrets.INFURA_GOERLI_HTTP }} | |
INFURA_GOERLI_WS: ${{ secrets.INFURA_GOERLI_WS }} | |
strategy: | |
fail-fast: false | |
matrix: | |
node: [18, 16] | |
backend: ['geth', 'ganache'] | |
mode: ['http', 'ws'] | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-${{ matrix.node }}.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./ | |
- run: yarn test:e2e:${{ matrix.backend }}:${{ matrix.mode }} | |
shell: bash | |
e2e-ipc: | |
name: Integration IPC | |
needs: build | |
runs-on: ubuntu-latest | |
env: | |
INFURA_GOERLI_HTTP: ${{ secrets.INFURA_GOERLI_HTTP }} | |
INFURA_GOERLI_WS: ${{ secrets.INFURA_GOERLI_WS }} | |
strategy: | |
fail-fast: false | |
matrix: | |
node: [ 18, 16 ] | |
backend: [ 'geth' ] | |
mode: [ 'ipc' ] | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-${{ matrix.node }}.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./ | |
- run: yarn test:e2e:${{ matrix.backend }}:${{ matrix.mode }} | |
shell: bash | |
e2e: | |
name: End-to-End ganache:ws | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: [18, 16] | |
browser: ['electron', 'chrome', 'firefox'] | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: browser-actions/setup-firefox@latest | |
if: matrix.browser == 'firefox' | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-${{ matrix.node }}.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./ | |
- run: npm install --no-package-lock --no-save --force cypress | |
- name: Cypress run | |
uses: cypress-io/github-action@v4 | |
with: | |
install: false | |
command: yarn test:e2e:ganache:ws:${{ matrix.browser }} | |
cache-key: node-v${{ matrix.node }}-on-${{ matrix.browser }}-hash-${{ hashFiles('yarn.lock') }} | |
build-docs: | |
name: Build Docs | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node: [ 18 ] | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-${{ matrix.node }}.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./ | |
- run: yarn build:docs | |
benchmark: | |
name: Benchmark Tests | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node: [ 18 ] | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: web3-${{ matrix.node }}.js.tar.gz | |
path: /tmp | |
- run: tar -xf /tmp/web3-${{ matrix.node }}.js.tar.gz -C ./ | |
# @octokit/core not supported on node 16, so I can't add it to the package.json | |
- run: npm install --no-package-lock --no-save --force @octokit/core | |
- name: Restore main branch benchmark data | |
uses: actions/cache/restore@v3 | |
with: | |
path: web3-benchmark-main.json | |
key: ${{ runner.os }}-web3-benchmark-main.json | |
- run: yarn test:benchmark | |
- name: Compare benchmark result and make comment | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
# What benchmark tool the output.txt came from | |
tool: 'benchmarkjs' | |
# Where the output from the benchmark tool is stored | |
output-file-path: benchmark-data.txt | |
# Where the previous data file is stored | |
external-data-json-path: web3-benchmark-main.json | |
# Workflow will fail when an alert happens | |
fail-on-alert: false | |
# GitHub API token to make a commit comment | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
# Enable alert commit comment | |
comment-always: true | |
save-data-file: false | |
# copy comment from commit to Pull Request | |
- run: node scripts/copyCommitCommentToPrComment.js ${{ secrets.GITHUB_TOKEN }} ${{github.event.pull_request.head.sha}} ${{github.event.number}} | |
- name: Compare benchmark result and fail if threshold is reached | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
# What benchmark tool the output.txt came from | |
tool: 'benchmarkjs' | |
# Where the output from the benchmark tool is stored | |
output-file-path: benchmark-data.txt | |
# Where the previous data file is stored | |
external-data-json-path: web3-benchmark-main.json | |
# Workflow will fail when an alert happens | |
fail-on-alert: true | |
# Enable alert commit comment | |
alert-threshold: '100%' | |
comment-always: false | |
- name: Save main branch benchmark data | |
uses: actions/cache/save@v3 | |
if: github.event_name == 'push' && github.ref == 'refs/heads/4.x' | |
with: | |
path: web3-benchmark-main.json | |
key: ${{ runner.os }}-web3-benchmark-main.json |