Feat: mega EOF #221
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: Rust | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
env: | |
CARGO_TERM_COLOR: always | |
ETHTESTS_VERSION: v14.1 | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Rustfmt | |
run: cargo fmt --all -- --check | |
- name: Clippy | |
run: cargo clippy --workspace --all-targets -- -D clippy::all -D clippy::nursery | |
- name: Clippy no_std | |
run: cargo clippy --no-default-features -- -D clippy::all -D clippy::nursery | |
- name: Clippy with features | |
run: cargo clippy --features tracing,create-fixed -- -D clippy::all -D clippy::nursery | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Build | |
run: cargo build --verbose | |
- name: Build NoStd | |
run: cargo build --no-default-features | |
- name: Build for feature (tracing) | |
run: cargo build --features tracing | |
unit-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Run tests | |
run: cargo test --all --verbose | |
unit-tests-32-bit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Run tests 32 bit | |
uses: vxcontrol/[email protected] | |
id: tests | |
with: | |
arch: i386 | |
distro: bullseye | |
githubToken: ${{ github.token }} | |
run: | | |
apt-get update && apt-get install -y curl clang llvm | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
export PATH="$PATH:$HOME/.cargo/bin" | |
cargo test --all --verbose | |
ethereum-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Checkout ethereum/tests | |
uses: actions/checkout@v4 | |
with: | |
repository: ethereum/tests | |
path: ethtests | |
ref: ${{ env.ETHTESTS_VERSION }} | |
submodules: recursive | |
fetch-depth: 1 | |
- name: Download Ethereum spec tests fixtures | |
run: | | |
wget https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-3%40v1.5.0/fixtures_pectra-devnet-3.tar.gz | |
mkdir ethereum-spec-tests | |
tar -xzf fixtures_pectra-devnet-3.tar.gz -C ethereum-spec-tests | |
tree ethereum-spec-tests/fixtures/state_tests/prague/eip7702_set_code_tx | |
- name: Run Ethereum state tests | |
run: | | |
cargo run -r -p evm-jsontests -F enable-slow-tests -- state -f \ | |
ethtests/GeneralStateTests/ \ | |
ethtests/LegacyTests/Cancun/GeneralStateTests/ \ | |
ethereum-spec-tests/fixtures/state_tests/prague/eip7702_set_code_tx/ | |
# Temporally disable as EOFv1 not implemented | |
# ethtests/EIPTests/StateTests/ | |
- name: Run Ethereum vm tests | |
run: | | |
cargo run -r -p evm-jsontests -F enable-slow-tests -- vm -f \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmArithmeticTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmBitwiseLogicOperation \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmBlockInfoTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmEnvironmentalInfo \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmIOandFlowOperations \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmLogTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmPerformance \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmPushDupSwapTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmRandomTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmSha3Test \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmSystemOperations \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmTests | |
ethereum-tests-32-bit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Checkout ethereum/tests | |
uses: actions/checkout@v4 | |
with: | |
repository: ethereum/tests | |
path: ethtests | |
ref: ${{ env.ETHTESTS_VERSION }} | |
submodules: recursive | |
fetch-depth: 1 | |
- name: Run Ethereum state tests 32 bit | |
uses: vxcontrol/[email protected] | |
id: tests | |
with: | |
arch: i386 | |
distro: bullseye | |
githubToken: ${{ github.token }} | |
run: | | |
apt-get update && apt-get install -y curl clang llvm | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
export PATH="$PATH:$HOME/.cargo/bin" | |
cargo run -r -p evm-jsontests -F enable-slow-tests -- state -f \ | |
ethtests/GeneralStateTests/ \ | |
ethtests/LegacyTests/Cancun/GeneralStateTests/ | |
# Temporally disable as EOFv1 not implemented | |
# ethtests/EIPTests/StateTests/ | |
cargo run -r -p evm-jsontests -F enable-slow-tests -- vm -f \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmArithmeticTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmBitwiseLogicOperation \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmBlockInfoTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmEnvironmentalInfo \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmIOandFlowOperations \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmLogTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmPerformance \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmPushDupSwapTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmRandomTest \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmSha3Test \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmSystemOperations \ | |
ethtests/LegacyTests/Constantinople/VMTests/vmTests |