Allow the deploy
function to accept parameters even when no ABI was provided to the Contract
#8312
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@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 |