Skip to content

Commit 63be86c

Browse files
committed
merge main
2 parents a9b8a9e + 7ba996f commit 63be86c

File tree

215 files changed

+7061
-10434
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

215 files changed

+7061
-10434
lines changed

.github/config/assertoor/network_params_blob.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ network_params:
1616

1717
additional_services:
1818
- assertoor
19-
- tx_spammer
19+
- tx_fuzz
2020
- dora
2121

2222
network_params:
@@ -29,5 +29,5 @@ assertoor_params:
2929
- https://raw.githubusercontent.com/ethpandaops/assertoor/refs/heads/master/playbooks/stable/blob-transactions-test.yaml
3030
- https://raw.githubusercontent.com/lambdaclass/ethrex/refs/heads/main/.github/config/assertoor/el-stability-check.yaml
3131

32-
tx_spammer_params:
33-
tx_spammer_extra_args: ["--txcount=3", "--accounts=80"]
32+
tx_fuzz_params:
33+
tx_fuzz_extra_args: ["--txcount=3", "--accounts=80"]

.github/scripts/formatter.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash
2+
3+
# benches/formatter.sh
4+
5+
FILE1=$1
6+
FILE2=$2
7+
8+
cat <<EOF
9+
# Benchmark Comparison
10+
11+
## ethrex-trie
12+
\`\`\`
13+
$(cat "$FILE1")
14+
\`\`\`
15+
16+
## cita-trie
17+
\`\`\`
18+
$(cat "$FILE2")
19+
\`\`\`
20+
EOF

.github/workflows/ci_criterion_benchmark.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.

.github/workflows/ci_l2.yaml

Lines changed: 0 additions & 45 deletions
This file was deleted.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Block Import Benchmark
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
permissions:
8+
# deployments permission to deploy GitHub pages website
9+
deployments: write
10+
# contents permission to update benchmark contents in gh-pages branch
11+
contents: write
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-24.04
16+
steps:
17+
- name: Install Rust
18+
uses: dtolnay/rust-toolchain@1.85.0
19+
- uses: actions/checkout@v4
20+
with:
21+
lfs: true
22+
- name: Checkout LFS objects
23+
run: git lfs checkout
24+
- name: Install gnuplot
25+
run: sudo apt-get install -y gnuplot
26+
- name: Run benchmark
27+
run: cd cmd/ethrex && cargo bench --bench criterion_benchmark -- --output-format bencher |sed 2d | tee output.txt
28+
- name: Store benchmark result
29+
uses: benchmark-action/github-action-benchmark@v1
30+
with:
31+
tool: "cargo"
32+
output-file-path: cmd/ethrex/output.txt
33+
benchmark-data-dir-path: "."
34+
# Access token to deploy GitHub Pages branch
35+
github-token: ${{ secrets.GITHUB_TOKEN }}
36+
# Push and deploy GitHub pages branch automatically
37+
auto-push: true
38+
alert-threshold: "130%"
39+
comment-on-alert: true

.github/workflows/main_prover.yaml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: L2 (SP1 Backend)
2+
on:
3+
push:
4+
branches: ["main"]
5+
6+
concurrency:
7+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
8+
cancel-in-progress: true
9+
10+
env:
11+
CI_ETHREX_WORKDIR: /usr/local/bin
12+
PROVER: sp1
13+
14+
jobs:
15+
test:
16+
name: Integration Test
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout sources
20+
uses: actions/checkout@v4
21+
22+
- name: RISC-V SP1 toolchain install
23+
run: |
24+
curl -L https://sp1.succinct.xyz | bash
25+
~/.sp1/bin/sp1up --version 4.1.0
26+
27+
- name: Rustup toolchain install
28+
uses: dtolnay/rust-toolchain@stable
29+
30+
- name: Set up Rust cache
31+
uses: Swatinem/rust-cache@v2
32+
with:
33+
cache-on-failure: "true"
34+
35+
- name: Set up Docker Buildx
36+
uses: docker/setup-buildx-action@v3
37+
38+
- name: Bake docker images
39+
uses: docker/bake-action@v6
40+
with:
41+
workdir: "crates/l2"
42+
files: "crates/l2/docker-compose-l2.yaml"
43+
load: true
44+
set: |
45+
*.cache-to=type=gha,mode=max
46+
*.cache-from=type=gha
47+
48+
- name: Build prover
49+
run: |
50+
cd crates/l2
51+
make build-prover
52+
53+
- name: Build test
54+
run: |
55+
cargo test l2 --no-run --release
56+
57+
- name: Run test
58+
run: |
59+
cd crates/l2
60+
cp configs/prover_client_config_example.toml configs/prover_client_config.toml
61+
cp configs/sequencer_config_docker_sp1_example.toml configs/sequencer_config.toml
62+
63+
make integration-test

.github/workflows/ci_l1.yaml renamed to .github/workflows/pr-main_l1.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ name: L1
22
on:
33
push:
44
branches: ["main"]
5-
merge_group:
65
pull_request:
76
branches: ["**"]
87
paths-ignore:
98
- "crates/vm/levm/**" # We run this in a separate workflow
9+
- "crates/l2/**" # Behind a feature flag not used in this workflow
1010

1111
concurrency:
1212
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -132,7 +132,7 @@ jobs:
132132
uses: ethpandaops/kurtosis-assertoor-github-action@v1
133133
with:
134134
enclave_name: ${{ matrix.enclave_name }}
135-
kurtosis_version: "1.4.2"
135+
kurtosis_version: "1.6.0"
136136
ethereum_package_url: "github.com/lambdaclass/ethereum-package"
137137
ethereum_package_branch: "ethrex-integration-pectra"
138138
ethereum_package_args: ${{ matrix.ethereum_package_args }}

.github/workflows/pr-main_l2.yaml

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
name: L2 (without proving)
2+
on:
3+
push:
4+
branches: ["main"]
5+
pull_request:
6+
branches: ["**"]
7+
paths:
8+
- "crates/l2/**"
9+
- "crates/vm/levm/**"
10+
- ".github/workflows/pr-main_l2.yaml"
11+
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
14+
cancel-in-progress: true
15+
16+
env:
17+
CI_ETHREX_WORKDIR: /usr/local/bin
18+
19+
jobs:
20+
docker-bake:
21+
name: "Docker bake"
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Checkout sources
25+
uses: actions/checkout@v4
26+
27+
- name: Set up Docker Buildx
28+
uses: docker/setup-buildx-action@v3
29+
30+
- name: Bake docker images
31+
uses: docker/bake-action@v6
32+
with:
33+
workdir: "crates/l2"
34+
files: "crates/l2/docker-compose-l2.yaml"
35+
set: |
36+
ethrex.cache-to=type=local,dest=/tmp/buildx-cache/ethrex,mode=max
37+
ethrex_l2.cache-to=type=local,dest=/tmp/buildx-cache/ethrex_l2,mode=max
38+
contract_deployer.cache-to=type=local,dest=/tmp/buildx-cache/contract_deployer,mode=max
39+
40+
- name: Upload docker artifacts
41+
uses: actions/upload-artifact@v4
42+
with:
43+
name: buildx-cache
44+
path: /tmp/buildx-cache
45+
46+
integration-test:
47+
# "Integration Test" is a required check, don't change the name
48+
name: Integration Test
49+
runs-on: ubuntu-latest
50+
needs: [docker-bake]
51+
steps:
52+
- name: Checkout sources
53+
uses: actions/checkout@v4
54+
55+
- name: Rustup toolchain install
56+
uses: dtolnay/rust-toolchain@stable
57+
58+
- name: Set up Rust cache
59+
uses: Swatinem/rust-cache@v2
60+
61+
- name: Set up Docker Buildx
62+
uses: docker/setup-buildx-action@v3
63+
64+
- name: Download buildx cache
65+
uses: actions/download-artifact@v4
66+
with:
67+
name: buildx-cache
68+
path: /tmp/buildx-cache
69+
70+
- name: Bake docker images
71+
uses: docker/bake-action@v6
72+
with:
73+
workdir: "crates/l2"
74+
files: "crates/l2/docker-compose-l2.yaml"
75+
load: true
76+
set: |
77+
ethrex.cache-from=type=local,src=/tmp/buildx-cache/ethrex
78+
ethrex_l2.cache-from=type=local,src=/tmp/buildx-cache/ethrex_l2
79+
contract_deployer.cache-from=type=local,src=/tmp/buildx-cache/contract_deployer
80+
81+
- name: Build prover
82+
run: |
83+
cd crates/l2
84+
make build-prover
85+
86+
- name: Build test
87+
run: |
88+
cargo test l2 --no-run --release
89+
90+
- name: Run test
91+
run: |
92+
cd crates/l2
93+
cp configs/prover_client_config_example.toml configs/prover_client_config.toml
94+
cp configs/sequencer_config_docker_example.toml configs/sequencer_config.toml
95+
96+
make integration-test
97+
98+
state-diff-test:
99+
# "State Reconstruction Tests" is a required check, don't change the name
100+
name: State Reconstruction Tests
101+
runs-on: ubuntu-latest
102+
needs: [docker-bake]
103+
steps:
104+
- name: Checkout sources
105+
uses: actions/checkout@v4
106+
107+
- name: Rustup toolchain install
108+
uses: dtolnay/rust-toolchain@stable
109+
110+
- name: Set up Docker Buildx
111+
uses: docker/setup-buildx-action@v3
112+
113+
- name: Download buildx cache
114+
uses: actions/download-artifact@v4
115+
with:
116+
name: buildx-cache
117+
path: /tmp/buildx-cache
118+
119+
- name: Bake docker images
120+
uses: docker/bake-action@v6
121+
with:
122+
workdir: "crates/l2"
123+
files: "crates/l2/docker-compose-l2.yaml"
124+
load: true
125+
set: |
126+
ethrex.cache-from=type=local,src=/tmp/buildx-cache/ethrex
127+
ethrex_l2.cache-from=type=local,src=/tmp/buildx-cache/ethrex_l2
128+
contract_deployer.cache-from=type=local,src=/tmp/buildx-cache/contract_deployer
129+
130+
- name: Set up Rust cache
131+
uses: Swatinem/rust-cache@v2
132+
133+
- name: Install solc
134+
run: |
135+
sudo add-apt-repository ppa:ethereum/ethereum
136+
sudo apt-get update && sudo apt-get -y install solc
137+
138+
- name: Run tests
139+
run: |
140+
cd crates/l2
141+
cp configs/prover_client_config_example.toml configs/prover_client_config.toml
142+
cp configs/sequencer_config_docker_example.toml configs/sequencer_config.toml
143+
144+
make state-diff-test

0 commit comments

Comments
 (0)