fix(levm): fixes several bugs found when running the EF tests #262
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: "Hive & Assertoor" | |
on: | |
merge_group: | |
paths-ignore: | |
- "crates/l2/**" | |
- 'README.md' | |
- 'LICENSE' | |
- "**/README.md" | |
- "**/docs/**" | |
pull_request: | |
branches: ["**"] | |
paths-ignore: | |
- "crates/l2/**" | |
- 'README.md' | |
- 'LICENSE' | |
- "**/README.md" | |
- "**/docs/**" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
RUST_VERSION: 1.80.1 | |
jobs: | |
docker-build: | |
name: Docker Build image | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build Docker image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./Dockerfile | |
load: true | |
tags: ethereum_rust | |
outputs: type=docker,dest=/tmp/ethereum_rust_image.tar | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ethereum_rust_image | |
path: /tmp/ethereum_rust_image.tar | |
run-hive: | |
name: Hive - ${{ matrix.name }} | |
needs: [docker-build] | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- simulation: rpc-compat | |
name: "Rpc Compat tests" | |
run_command: make run-hive-on-latest SIMULATION=ethereum/rpc-compat TEST_PATTERN="/eth_chainId|eth_getTransactionByBlockHashAndIndex|eth_getTransactionByBlockNumberAndIndex|eth_getCode|eth_getStorageAt|eth_call|eth_getTransactionByHash|eth_getBlockByHash|eth_getBlockByNumber|eth_createAccessList|eth_getBlockTransactionCountByNumber|eth_getBlockTransactionCountByHash|eth_getBlockReceipts|eth_getTransactionReceipt|eth_blobGasPrice|eth_blockNumber|ethGetTransactionCount|debug_getRawHeader|debug_getRawBlock|debug_getRawTransaction|debug_getRawReceipts|eth_estimateGas|eth_getBalance|eth_sendRawTransaction|eth_getProof|eth_getLogs" | |
- simulation: rpc-auth | |
name: "Rpc Auth tests" | |
run_command: make run-hive-on-latest SIMULATION=ethereum/rpc-compat TEST_PATTERN="/engine-auth" | |
- simulation: discv4 | |
name: "Devp2p discv4 tests" | |
run_command: make run-hive-on-latest SIMULATION=devp2p TEST_PATTERN="discv4" | |
- simulation: snap | |
name: "Devp2p snap tests" | |
run_command: make run-hive-on-latest SIMULATION=devp2p TEST_PATTERN="/AccountRange|StorageRanges|ByteCodes" | |
- simulation: eth | |
name: "Devp2p eth tests" | |
run_command: make run-hive SIMULATION=devp2p TEST_PATTERN="eth/getblockheaders" | |
- simulation: eth | |
name: "Devp2p eth tests" | |
run_command: make run-hive SIMULATION=devp2p TEST_PATTERN="eth/getblockheaders|getblockbodies" | |
- simulation: engine | |
name: "Engine tests" | |
run_command: make run-hive-on-latest SIMULATION=ethereum/engine TEST_PATTERN="/Blob Transactions On Block 1, Cancun Genesis|Blob Transactions On Block 1, Shanghai Genesis|Blob Transaction Ordering, Single Account, Single Blob|Blob Transaction Ordering, Single Account, Dual Blob|Blob Transaction Ordering, Multiple Accounts|Replace Blob Transactions|Parallel Blob Transactions|ForkchoiceUpdatedV3 Modifies Payload ID on Different Beacon Root|NewPayloadV3 After Cancun|NewPayloadV3 Versioned Hashes|ForkchoiceUpdated Version on Payload Request" | |
- simulation: engine-cancun | |
name: "Cancun Engine tests" | |
run_command: make run-hive-on-latest SIMULATION=ethereum/engine TEST_PATTERN="cancun/Unique Payload ID|ParentHash equals BlockHash on NewPayload|Re-Execute Payload|Payload Build after New Invalid Payload|RPC|Build Payload with Invalid ChainID|Invalid PayloadAttributes, Zero timestamp, Syncing=False|Invalid PayloadAttributes, Parent timestamp, Syncing=False|Invalid PayloadAttributes, Missing BeaconRoot, Syncing=False|Suggested Fee Recipient Test|PrevRandao Opcode Transactions Test|Invalid Missing Ancestor ReOrg, StateRoot" | |
steps: | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: ethereum_rust_image | |
path: /tmp | |
- name: Load image | |
run: | | |
docker load --input /tmp/ethereum_rust_image.tar | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Rustup toolchain install | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{ env.RUST_VERSION }} | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
- name: Run Hive Simulation | |
run: ${{ matrix.run_command }} | |
run-assertoor: | |
name: Assertoor - Stability Check | |
runs-on: ubuntu-latest | |
needs: [docker-build] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: ethereum_rust_image | |
path: /tmp | |
- name: Load image | |
run: | | |
docker load --input /tmp/ethereum_rust_image.tar | |
- name: Setup kurtosis testnet and run assertoor tests | |
uses: ethpandaops/kurtosis-assertoor-github-action@v1 | |
with: | |
kurtosis_version: '1.3.1' | |
ethereum_package_url: 'github.com/lambdaclass/ethereum-package' | |
ethereum_package_branch: 'ethereum-rust-integration' | |
ethereum_package_args: './test_data/network_params.yaml' |