Skip to content

Commit 6009c7d

Browse files
committed
Merge branch 'main' into release/v6.0.0
2 parents 3d82164 + ac17740 commit 6009c7d

File tree

100 files changed

+2278
-891
lines changed

Some content is hidden

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

100 files changed

+2278
-891
lines changed

.github/workflows/pr-main_l1.yaml

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ on:
55
merge_group:
66
pull_request:
77
branches: ["**"]
8-
paths-ignore:
9-
- "crates/l2/**" # Behind a feature flag not used in this workflow
108

119
permissions:
1210
contents: read
@@ -17,10 +15,35 @@ concurrency:
1715
cancel-in-progress: true
1816

1917
jobs:
18+
detect-changes:
19+
runs-on: ubuntu-latest
20+
outputs:
21+
run_tests: ${{ steps.finish.outputs.run_tests }}
22+
steps:
23+
- uses: actions/checkout@v4
24+
- uses: dorny/paths-filter@v3
25+
id: filter
26+
with:
27+
filters: |
28+
run_tests:
29+
- '!crates/l2/**'
30+
- name: finish
31+
id: finish
32+
run: |
33+
if [[ "${GITHUB_EVENT_NAME}" != "pull_request" ]]; then
34+
echo "run_tests=true" >> "$GITHUB_OUTPUT"
35+
else
36+
echo "run_tests=${{ steps.filter.outputs.run_tests }}" >> "$GITHUB_OUTPUT"
37+
fi
38+
- name: Print result
39+
run: echo "run_tests=${{ steps.finish.outputs.run_tests }}"
40+
2041
lint:
2142
# "Lint" is a required check, don't change the name
2243
name: Lint
2344
runs-on: ubuntu-latest
45+
needs: detect-changes
46+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
2447
steps:
2548
- name: Checkout sources
2649
uses: actions/checkout@v4
@@ -61,6 +84,8 @@ jobs:
6184
test:
6285
# "Test" is a required check, don't change the name
6386
name: Test
87+
needs: detect-changes
88+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
6489
runs-on: ubuntu-latest
6590
steps:
6691
- name: Checkout sources
@@ -84,6 +109,8 @@ jobs:
84109
docker_build:
85110
name: Build Docker
86111
runs-on: ubuntu-latest
112+
needs: detect-changes
113+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
87114
steps:
88115
- uses: actions/checkout@v4
89116

@@ -105,8 +132,8 @@ jobs:
105132
run-assertoor:
106133
name: Assertoor - ${{ matrix.name }}
107134
runs-on: ubuntu-latest
108-
needs: [docker_build]
109-
if: ${{ github.event_name != 'merge_group' }}
135+
needs: [detect-changes, docker_build]
136+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' && github.event_name != 'merge_group' }}
110137
strategy:
111138
fail-fast: true
112139
matrix:
@@ -147,8 +174,8 @@ jobs:
147174
run-hive:
148175
name: Hive - ${{ matrix.name }}
149176
runs-on: ubuntu-latest
150-
needs: [docker_build]
151-
if: ${{ github.event_name != 'merge_group' }}
177+
needs: [detect-changes, docker_build]
178+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' && github.event_name != 'merge_group' }}
152179
strategy:
153180
fail-fast: false
154181
matrix:
@@ -254,9 +281,9 @@ jobs:
254281
# "Integration Test" is a required check, don't change the name
255282
name: Integration Test
256283
runs-on: ubuntu-latest
257-
needs: [run-assertoor, run-hive]
284+
needs: [detect-changes, run-assertoor, run-hive]
258285
# Make sure this job runs even if the previous jobs failed or were skipped
259-
if: ${{ always() && needs.run-assertoor.result != 'skipped' && needs.run-hive.result != 'skipped' }}
286+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' && always() && needs.run-assertoor.result != 'skipped' && needs.run-hive.result != 'skipped' }}
260287
steps:
261288
- name: Check if any job failed
262289
run: |
@@ -273,7 +300,8 @@ jobs:
273300
reorg-tests:
274301
name: Reorg Tests
275302
runs-on: ubuntu-latest
276-
if: ${{ github.event_name != 'merge_group' }}
303+
needs: detect-changes
304+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' && github.event_name != 'merge_group' }}
277305
steps:
278306
- name: Checkout sources
279307
uses: actions/checkout@v4

.github/workflows/pr-main_l2.yaml

Lines changed: 48 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,6 @@ on:
44
branches: ["main"]
55
pull_request:
66
branches: ["**"]
7-
paths:
8-
- "crates/l2/**"
9-
- "fixtures/**"
10-
- "crates/blockchain/dev/**"
11-
- "crates/vm/levm/**"
12-
- ".github/workflows/pr-main_l2.yaml"
13-
- "cmd/ethrex/l2/**"
147

158
permissions:
169
contents: read
@@ -24,10 +17,40 @@ env:
2417
DOCKER_ETHREX_WORKDIR: /usr/local/bin
2518

2619
jobs:
20+
detect-changes:
21+
runs-on: ubuntu-latest
22+
outputs:
23+
run_tests: ${{ steps.finish.outputs.run_tests }}
24+
steps:
25+
- uses: actions/checkout@v4
26+
- uses: dorny/paths-filter@v3
27+
id: filter
28+
with:
29+
filters: |
30+
run_tests:
31+
- "crates/l2/**"
32+
- "fixtures/**"
33+
- "crates/blockchain/dev/**"
34+
- "crates/vm/levm/**"
35+
- ".github/workflows/pr-main_l2.yaml"
36+
- "cmd/ethrex/l2/**"
37+
- name: finish
38+
id: finish
39+
run: |
40+
if [[ "${GITHUB_EVENT_NAME}" != "pull_request" ]]; then
41+
echo "run_tests=true" >> "$GITHUB_OUTPUT"
42+
else
43+
echo "run_tests=${{ steps.filter.outputs.run_tests }}" >> "$GITHUB_OUTPUT"
44+
fi
45+
- name: Print result
46+
run: echo "run_tests=${{ steps.finish.outputs.run_tests }}"
47+
2748
lint:
28-
# "Lint" is a required check, don't change the name
29-
name: Lint
49+
# "Lint L2" is a required check, don't change the name
50+
name: Lint L2
3051
runs-on: ubuntu-latest
52+
needs: detect-changes
53+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
3154
steps:
3255
- name: Checkout sources
3356
uses: actions/checkout@v4
@@ -69,6 +92,8 @@ jobs:
6992
build-docker:
7093
name: Build docker image
7194
runs-on: ubuntu-latest
95+
needs: detect-changes
96+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
7297
steps:
7398
- name: Checkout sources
7499
uses: actions/checkout@v4
@@ -94,6 +119,8 @@ jobs:
94119
build-docker-l2:
95120
name: Build docker image L2
96121
runs-on: ubuntu-latest
122+
needs: detect-changes
123+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
97124
steps:
98125
- name: Checkout sources
99126
uses: actions/checkout@v4
@@ -119,7 +146,8 @@ jobs:
119146
integration-test:
120147
name: Integration Test - ${{ matrix.name }}
121148
runs-on: ubuntu-latest
122-
needs: [build-docker, build-docker-l2]
149+
needs: [detect-changes, build-docker, build-docker-l2]
150+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
123151
strategy:
124152
matrix:
125153
include:
@@ -309,7 +337,8 @@ jobs:
309337
integration-test-tdx:
310338
name: Integration Test - TDX
311339
runs-on: ubuntu-latest
312-
needs: [build-docker, build-docker-l2]
340+
needs: [detect-changes, build-docker, build-docker-l2]
341+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
313342
steps:
314343
- name: Checkout sources
315344
uses: actions/checkout@v4
@@ -416,7 +445,8 @@ jobs:
416445
state-diff-test:
417446
name: State Reconstruction Tests
418447
runs-on: ubuntu-latest
419-
needs: [build-docker, build-docker-l2]
448+
needs: [detect-changes, build-docker, build-docker-l2]
449+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
420450
steps:
421451
- name: Checkout sources
422452
uses: actions/checkout@v4
@@ -477,6 +507,8 @@ jobs:
477507
integration-test-l2-dev:
478508
name: Integration Test - L2 Dev
479509
runs-on: ubuntu-latest
510+
needs: detect-changes
511+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' }}
480512
steps:
481513
- name: Checkout sources
482514
uses: actions/checkout@v4
@@ -531,18 +563,19 @@ jobs:
531563
532564
# The purpose of this job is to add it as a required check in GitHub so that we don't have to add every individual job as a required check
533565
all-tests:
534-
# "Integration Test" is a required check, don't change the name
535-
name: Integration Test
566+
# "Integration Test L2" is a required check, don't change the name
567+
name: Integration Test L2
536568
runs-on: ubuntu-latest
537569
needs:
538570
[
571+
detect-changes,
539572
integration-test,
540573
state-diff-test,
541574
integration-test-tdx,
542575
integration-test-l2-dev,
543576
]
544577
# Make sure this job runs even if the previous jobs failed or were skipped
545-
if: ${{ always() && needs.integration-test.result != 'skipped' && needs.state-diff-test.result != 'skipped' && needs.integration-test-tdx.result != 'skipped' && needs.integration-test-l2-dev.result != 'skipped' }}
578+
if: ${{ needs.detect-changes.outputs.run_tests == 'true' && always() && needs.integration-test.result != 'skipped' && needs.state-diff-test.result != 'skipped' && needs.integration-test-tdx.result != 'skipped' && needs.integration-test-l2-dev.result != 'skipped' }}
546579
steps:
547580
- name: Check if any job failed
548581
run: |

.github/workflows/tag_latest.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,8 @@ jobs:
7171
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
7272
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.NEW_TAG }}-l2
7373
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:l2
74+
75+
publish-apt:
76+
needs:
77+
- retag_docker_images
78+
uses: lambdaclass/ethrex-apt/.github/workflows/publish-apt.yml@main

.github/workflows/tag_release.yaml

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
matrix:
2121
platform:
2222
- ubuntu-22.04
23-
- ubuntu-24.04-arm
23+
- ubuntu-22.04-arm
2424
- macos-latest
2525
stack:
2626
- l1
@@ -34,13 +34,14 @@ jobs:
3434
os: linux
3535
arch: x86_64
3636
cpu_flags: RUSTFLAGS='-C target-cpu=x86-64-v2'
37-
- platform: ubuntu-24.04-arm
37+
- platform: ubuntu-22.04-arm
3838
os: linux
3939
arch: aarch64
4040
- platform: macos-latest
4141
os: macos
4242
arch: aarch64
4343
- platform: macos-latest
44+
os: macos
4445
stack: l2
4546
features: l2,l2-sql
4647
- platform: ubuntu-22.04
@@ -49,10 +50,10 @@ jobs:
4950
- platform: ubuntu-22.04
5051
stack: l2_gpu
5152
features: l2,l2-sql,sp1,risc0,gpu
52-
- platform: ubuntu-24.04-arm
53+
- platform: ubuntu-22.04-arm
5354
stack: l2
5455
features: l2,l2-sql,sp1
55-
- platform: ubuntu-24.04-arm
56+
- platform: ubuntu-22.04-arm
5657
stack: l2_gpu
5758
features: l2,l2-sql,sp1,gpu
5859
- stack: l2_gpu
@@ -81,9 +82,8 @@ jobs:
8182
run: |
8283
curl -L https://sp1up.succinct.xyz | bash
8384
~/.sp1/bin/sp1up --version 5.0.8
84-
8585
- name: Set up QEMU (only Linux ARM)
86-
if: ${{ matrix.platform == 'ubuntu-24.04-arm' }}
86+
if: ${{ matrix.platform == 'ubuntu-22.04-arm' }}
8787
uses: docker/setup-qemu-action@v3
8888
with:
8989
platforms: amd64
@@ -97,7 +97,6 @@ jobs:
9797
~/.risc0/bin/rzup install cargo-risczero 3.0.3
9898
~/.risc0/bin/rzup install risc0-groth16
9999
~/.risc0/bin/rzup install rust
100-
101100
- name: Install CUDA (only Linux x86 GPU)
102101
uses: Jimver/[email protected]
103102
if: ${{ matrix.platform == 'ubuntu-22.04' && matrix.stack == 'l2_gpu' }}
@@ -107,23 +106,21 @@ jobs:
107106
method: "network"
108107
sub-packages: '["nvcc"]'
109108

110-
- name: Install solc
111-
if: ${{ matrix.platform != 'ubuntu-24.04-arm' }}
112-
uses: lambdaclass/get-solc@master
113-
with:
114-
version: v0.8.29
115-
token: ${{ secrets.GITHUB_TOKEN }}
116-
117109
- name: Install Protoc
118110
uses: arduino/setup-protoc@v3
119111
with:
120112
repo-token: ${{ secrets.GITHUB_TOKEN }}
121113

122-
- name: Install solc (Linux ARM)
123-
if: ${{ matrix.platform == 'ubuntu-24.04-arm' }}
114+
- name: Install solc
124115
run: |
125-
sudo curl -L -o /usr/local/bin/solc https://github.com/nikitastupin/solc/raw/refs/heads/main/linux/aarch64/solc-v0.8.29
126-
sudo chmod +x /usr/local/bin/solc
116+
if [[ "${{ matrix.os }}" == "linux" ]]; then
117+
sudo curl -L -o /usr/local/bin/solc https://github.com/argotorg/solidity/releases/download/v0.8.29/solc-static-linux
118+
sudo chmod +x /usr/local/bin/solc
119+
elif [[ "${{ matrix.os }}" == "macos" ]]; then
120+
sudo curl -L -o /usr/local/bin/solc https://github.com/argotorg/solidity/releases/download/v0.8.29/solc-macos
121+
sudo chmod +x /usr/local/bin/solc
122+
fi
123+
solc --version
127124
128125
- name: Build ethrex
129126
run: |

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,20 @@
22

33
## Perf
44

5+
### 2025-10-31
6+
7+
- Improved discovery and peer initialization [#5147](https://github.com/lambdaclass/ethrex/pull/5147)
8+
9+
### 2025-10-30
10+
11+
- Pipeline Merkleization and Execution [#5084](https://github.com/lambdaclass/ethrex/pull/5084)
12+
- Add bloom filters to snapshot layers [#5112](https://github.com/lambdaclass/ethrex/pull/5112)
13+
- Make trusted setup warmup non blocking [#5124](https://github.com/lambdaclass/ethrex/pull/5124)
14+
515
### 2025-10-28
616

717
- Batch BlobsBundle::validate [#4993](https://github.com/lambdaclass/ethrex/pull/4993)
18+
- Remove latest_block_header lock [#5050](https://github.com/lambdaclass/ethrex/pull/5050)
819

920
### 2025-10-27
1021

0 commit comments

Comments
 (0)