Skip to content

chore(l1,l2): migrate tooling/ to ethrex-tooling repo#6743

Open
azteca1998 wants to merge 1 commit into
mainfrom
migrate-tooling-to-ethrex-tooling-v2
Open

chore(l1,l2): migrate tooling/ to ethrex-tooling repo#6743
azteca1998 wants to merge 1 commit into
mainfrom
migrate-tooling-to-ethrex-tooling-v2

Conversation

@azteca1998
Copy link
Copy Markdown
Contributor

Summary

Supersedes #6487 — fresh branch from main implementing the same migration.

  • Delete the in-repo tooling/ directory (~130 files) and move all development tooling to lambdaclass/ethrex-tooling
  • ethrex-monitor and ethrex-repl become git deps with rev = "215859a3" pinning
  • Add [patch."https://github.com/lambdaclass/ethrex"] section so tooling's transitive deps resolve to local workspace crates
  • All CI workflows checkout ethrex-tooling into tooling/ before steps that need it
  • Dockerfile drops COPY tooling and handles cargo chef cook failures gracefully
  • Makefile removes tooling manifest entries from update-cargo-lock / check-cargo-lock
  • tooling/ added to .gitignore to prevent accidental commits of cloned checkout
  • Docs and README updated to reference the ethrex-tooling repo
  • .cargo/config.toml.example added for local cross-repo development

Reviewer feedback addressed (from #6487)

Reviewer Feedback Resolution
iovoid README should mention ethrex-tooling Added Tooling section to README
iovoid tooling/ should be gitignored Added to .gitignore
iovoid Makefile and docs references Updated Makefile, docs, and LEVM README
ElFantasma || true too broad in Dockerfile Logs warning but still allows failure
ElFantasma Use rev instead of branch Using rev = "215859a3"
ElFantasma [patch] section needs maintenance docs Comment explains new crates must be added
ElFantasma/avilagaston9 Stale path triggers in LEVM workflow Removed tooling/ef_tests/state paths

Test plan

  • cargo check --workspace passes
  • cargo build --workspace passes
  • Docker build succeeds: docker build -t ethrex:local .
  • CI workflows pass (ethrex-tooling checkout steps are correct)
  • Verify no tooling/ directory in the repo (except as gitignored checkout target)

Closes #6487

@review-notebook-app
Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 28, 2026

⚠️ Known Issues — intentionally skipped tests

Source: docs/known_issues.md

Known Issues

Tests intentionally excluded from CI. Source of truth for the Known
Issues
section the L1 workflow appends to each ef-tests job summary
and posts as a sticky PR comment.

EF Tests — Stateless coverage narrowed to EIP-8025 optional-proofs

make -C tooling/ef_tests/blockchain test calls test-stateless-zkevm
instead of test-stateless. The zkevm@v0.3.3 fixtures are filled against
bal@v5.6.1, out of sync with current bal spec; the broad target trips ~549
fixtures. Re-broaden once the zkevm bundle is regenerated.

Why and resolution path

PR #6527 broadened
test-stateless to extract the entire for_amsterdam/ tree from the
zkevm bundle and run all of it under --features stateless; combined with
this branch's bal-devnet-7 semantics that scope produces ~549
GasUsedMismatch / ReceiptsRootMismatch /
BlockAccessListHashMismatch failures.

test-stateless-zkevm filters cargo to the eip8025_optional_proofs
suite, which still validates the stateless harness without the bal-version
mismatch.

Re-broaden by switching test: back to test-stateless in
tooling/ef_tests/blockchain/Makefile once the zkevm bundle is regenerated
against the current bal spec.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 28, 2026

Benchmark Results Comparison

No significant difference was registered for any benchmark run.

Detailed Results

Benchmark Results: BubbleSort

Command Mean [s] Min [s] Max [s] Relative
main_revm_BubbleSort 3.287 ± 0.068 3.235 3.461 1.12 ± 0.02
main_levm_BubbleSort 2.951 ± 0.021 2.923 2.978 1.00 ± 0.01
pr_revm_BubbleSort 3.268 ± 0.030 3.234 3.331 1.11 ± 0.01
pr_levm_BubbleSort 2.946 ± 0.017 2.925 2.978 1.00

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.048 ± 0.005 1.041 1.054 1.00
main_levm_ERC20Approval 1.099 ± 0.007 1.093 1.114 1.05 ± 0.01
pr_revm_ERC20Approval 1.058 ± 0.025 1.037 1.109 1.01 ± 0.02
pr_levm_ERC20Approval 1.105 ± 0.011 1.094 1.124 1.05 ± 0.01

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 142.2 ± 1.0 141.0 144.0 1.00
main_levm_ERC20Mint 162.0 ± 0.8 161.1 163.8 1.14 ± 0.01
pr_revm_ERC20Mint 142.8 ± 1.0 141.5 144.8 1.00 ± 0.01
pr_levm_ERC20Mint 165.0 ± 5.7 160.6 179.7 1.16 ± 0.04

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 261.8 ± 39.2 247.8 373.1 1.04 ± 0.16
main_levm_ERC20Transfer 272.9 ± 2.1 270.6 277.0 1.08 ± 0.01
pr_revm_ERC20Transfer 251.9 ± 2.7 249.1 257.7 1.00
pr_levm_ERC20Transfer 273.5 ± 1.8 271.1 276.1 1.09 ± 0.01

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 236.3 ± 5.5 230.4 248.9 1.00
main_levm_Factorial 275.9 ± 2.0 273.0 278.7 1.17 ± 0.03
pr_revm_Factorial 236.7 ± 6.1 230.0 246.5 1.00 ± 0.03
pr_levm_Factorial 274.4 ± 2.1 270.2 277.7 1.16 ± 0.03

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.733 ± 0.031 1.685 1.769 1.07 ± 0.02
main_levm_FactorialRecursive 1.623 ± 0.014 1.606 1.655 1.00 ± 0.01
pr_revm_FactorialRecursive 1.707 ± 0.038 1.640 1.761 1.05 ± 0.02
pr_levm_FactorialRecursive 1.621 ± 0.009 1.604 1.635 1.00

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 229.7 ± 6.1 224.7 245.6 1.01 ± 0.03
main_levm_Fibonacci 259.3 ± 4.8 253.3 270.2 1.15 ± 0.02
pr_revm_Fibonacci 226.4 ± 2.4 223.2 230.9 1.00
pr_levm_Fibonacci 262.4 ± 20.7 248.7 318.7 1.16 ± 0.09

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 914.3 ± 8.1 905.7 929.0 1.23 ± 0.01
main_levm_FibonacciRecursive 751.1 ± 7.0 739.7 760.8 1.01 ± 0.01
pr_revm_FibonacciRecursive 903.1 ± 7.6 895.5 919.8 1.22 ± 0.01
pr_levm_FibonacciRecursive 742.0 ± 5.7 734.6 752.4 1.00

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 9.0 ± 0.1 8.9 9.2 1.00
main_levm_ManyHashes 10.5 ± 0.0 10.5 10.6 1.17 ± 0.01
pr_revm_ManyHashes 9.1 ± 0.1 9.0 9.3 1.00 ± 0.01
pr_levm_ManyHashes 10.6 ± 0.1 10.5 10.8 1.17 ± 0.02

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 287.9 ± 6.7 280.0 303.5 1.18 ± 0.03
main_levm_MstoreBench 244.7 ± 2.3 241.7 248.5 1.00
pr_revm_MstoreBench 291.9 ± 4.7 284.7 301.3 1.19 ± 0.02
pr_levm_MstoreBench 248.6 ± 2.1 245.1 251.8 1.02 ± 0.01

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 330.2 ± 5.1 324.8 338.0 1.09 ± 0.02
main_levm_Push 303.2 ± 5.2 297.4 313.4 1.00 ± 0.02
pr_revm_Push 328.9 ± 5.3 321.4 340.1 1.09 ± 0.02
pr_levm_Push 302.4 ± 4.3 298.2 307.9 1.00

Benchmark Results: SstoreBench_no_opt

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_SstoreBench_no_opt 187.0 ± 10.2 179.4 205.4 1.63 ± 0.09
main_levm_SstoreBench_no_opt 114.6 ± 0.5 114.1 115.3 1.00
pr_revm_SstoreBench_no_opt 179.9 ± 1.6 178.5 184.1 1.57 ± 0.02
pr_levm_SstoreBench_no_opt 116.1 ± 4.1 113.9 127.6 1.01 ± 0.04

@azteca1998 azteca1998 force-pushed the migrate-tooling-to-ethrex-tooling-v2 branch from 0467aae to f1601c8 Compare May 29, 2026 13:09
@azteca1998 azteca1998 changed the title chore: migrate tooling/ to ethrex-tooling repo chore(l1,l2): migrate tooling/ to ethrex-tooling repo May 29, 2026
@github-actions github-actions Bot added L1 Ethereum client L2 Rollup client labels May 29, 2026
Move all development tooling (EF tests, load tests, monitor TUI, REPL,
benchmarks, etc.) to the external lambdaclass/ethrex-tooling repository.

- Delete the in-repo tooling/ directory (~130 files)
- Change ethrex-monitor and ethrex-repl to git deps with rev pinning
- Add [patch."https://github.com/lambdaclass/ethrex"] section so
  tooling's transitive deps resolve to local workspace crates
- Update CI workflows to checkout ethrex-tooling into tooling/
- Remove stale tooling/ path triggers from LEVM workflow
- Remove tooling manifest entries from Makefile cargo-lock targets
- Update Dockerfile to drop tooling COPY and handle chef cook failures
- Add tooling/ to .gitignore to prevent accidental commits
- Update docs and README to reference ethrex-tooling repo
- Add .cargo/config.toml.example for local cross-repo development

Closes #6487
@azteca1998 azteca1998 force-pushed the migrate-tooling-to-ethrex-tooling-v2 branch from f1601c8 to f1bd77e Compare June 2, 2026 11:32
@azteca1998 azteca1998 marked this pull request as ready for review June 2, 2026 15:12
@azteca1998 azteca1998 requested a review from a team as a code owner June 2, 2026 15:12
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Jun 2, 2026

Too many files changed for review. (170 files found, 100 file limit)

@ethrex-project-sync ethrex-project-sync Bot moved this to In Review in ethrex_l1 Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

L1 Ethereum client L2 Rollup client

Projects

Status: In Review
Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant