Skip to content

Allow the deploy function to accept parameters even when no ABI was provided to the Contract #8284

Allow the deploy function to accept parameters even when no ABI was provided to the Contract

Allow the deploy function to accept parameters even when no ABI was provided to the Contract #8284

Workflow file for this run

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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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