This action has been archived in favor of anvil-zksync-action
.
By default, this action fetches version v0.1.0-alpha.34
of era-test-node
unless a different tag is specified, as this was the last release before the binary was renamed. Tags past this may not work given the binary difference.
This GitHub Action runs the era_test_node
with various options. It allows for high configurability and makes it easy to integrate era_test_node
into your CI/CD workflows on GitHub Actions.
Test node repo: matter-labs/era-test-node.
- Supports multiple modes:
run
andfork
. - Allows you to specify which network to use (e.g.,
mainnet
,testnet
). - Optional fork at a specific block height.
- Show calls, storage logs, VM details, and gas details based on specified options.
- Enable hash resolution.
- Configurable logging options.
- Support for different target architectures.
- Ability to specify the release tag of
era_test_node
.
Mode to run era_test_node in (run
, fork
).
- Required: No
- Default:
run
The network to use (e.g., mainnet
, testnet
) and should only be used alongside fork
.
- Required: No
The block height to fork at. Needs to be used alongside fork
.
- Required: No
Port to listen on.
- Required: No
- Default:
8011
Show call debug information.
- Required: No
- Default:
none
- Options:
none
,user
,system
,all
Show storage log information.
- Required: No
- Default:
none
- Options:
none
,read
,write
,all
Show VM details information.
- Required: No
- Default:
none
- Options:
none
,all
Show Gas details information.
- Required: No
- Default:
none
- Options:
none
,all
Enable hash resolution.
- Required: No
- Default:
false
Log filter level.
- Required: No
- Default:
info
- Options:
debug
,info
,warn
,error
Log file path.
- Required: No
- Default:
era_test_node.log
Target architecture.
- Required: No
- Default:
x86_64-unknown-linux-gnu
- Options:
x86_64-unknown-linux-gnu
,x86_64-apple-darwin
,aarch64-apple-darwin
Release tag of era_test_node
to use.
- Required: No
- Default:
latest
name: Run Era Test Node Action
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run Era Test Node
uses: dutterbutter/era-test-node-action@latest
name: Run Era Test Node Action
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run Era Test Node
uses: dutterbutter/era-test-node-action@latest
with:
mode: 'run'
showCalls: 'user'
showStorageLogs: 'read'
showVmDetails: 'all'
showGasDetails: 'all'
resolveHashes: 'true'
log: 'info'
logFilePath: 'era_test_node.log'
target: 'x86_64-unknown-linux-gnu'
releaseTag: 'latest'
name: Run Era Test Node Action
on:
pull_request:
branches: [main]
workflow_dispatch:
jobs:
test:
name: unit-tests
strategy:
matrix:
platform: [ubuntu-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Run Era Test Node
uses: dutterbutter/era-test-node-action@latest
with:
mode: 'fork'
network: 'mainnet'
forkAtHeight: '1855248'
showCalls: 'user'
showStorageLogs: 'read'
showVmDetails: 'all'
showGasDetails: 'all'
resolveHashes: 'true'
log: 'info'
logFilePath: 'era_test_node.log'
target: 'x86_64-unknown-linux-gnu'
releaseTag: 'latest'
- name: Install Dependencies
run: yarn install
- name: Run Tests
run: |
yarn test:contracts
- name: Upload era_test_node log
uses: actions/upload-artifact@v3
with:
name: era_test_node-log
path: era_test_node.log
name: Run Era Test Node Action
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run Era Test Node
uses: dutterbutter/era-test-node-action@latest
with:
mode: 'fork'
network: 'mainnet'
forkAtHeight: '1855248'
showCalls: 'user'
showStorageLogs: 'read'
showVmDetails: 'all'
showGasDetails: 'all'
resolveHashes: 'true'
log: 'info'
logFilePath: 'era_test_node.log'
target: 'x86_64-unknown-linux-gnu'
releaseTag: 'latest'
Feel free to open issues or PRs if you find any problems or have suggestions for improvements. Your contributions are more than welcome!
This project is licensed under the Apache 2.0 License - see the LICENSE.md file for details.