Skip to content

Commit 7f00db6

Browse files
authored
Merge pull request #32 from scroll-tech/chore-merge-upstream-7ae8ce1d0
chore: merge upstream 7ae8ce1
2 parents 53df6f0 + 3540a83 commit 7f00db6

File tree

610 files changed

+12737
-8871
lines changed

Some content is hidden

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

610 files changed

+12737
-8871
lines changed

.config/zepter.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ workflows:
1616
# Do not try to add a new section into `[features]` of `A` only because `B` expose that feature. There are edge-cases where this is still needed, but we can add them manually.
1717
"--left-side-feature-missing=ignore",
1818
# Ignore the case that `A` it outside of the workspace. Otherwise it will report errors in external dependencies that we have no influence on.
19+
1920
"--left-side-outside-workspace=ignore",
2021
# Auxillary flags:
2122
"--offline",

.github/assets/check_wasm.sh

-7
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@ exclude_crates=(
1111
# The following are not working yet, but known to be fixable
1212
reth-exex-types # https://github.com/paradigmxyz/reth/issues/9946
1313
# The following require investigation if they can be fixed
14-
reth-auto-seal-consensus
1514
reth-basic-payload-builder
1615
reth-beacon-consensus
1716
reth-bench
1817
reth-blockchain-tree
19-
reth-chain-state
2018
reth-cli
2119
reth-cli-commands
2220
reth-cli-runner
@@ -27,13 +25,11 @@ exclude_crates=(
2725
reth-dns-discovery
2826
reth-downloaders
2927
reth-e2e-test-utils
30-
reth-engine-primitives
3128
reth-engine-service
3229
reth-engine-tree
3330
reth-engine-util
3431
reth-eth-wire
3532
reth-ethereum-cli
36-
reth-ethereum-engine-primitives
3733
reth-ethereum-payload-builder
3834
reth-etl
3935
reth-exex
@@ -42,7 +38,6 @@ exclude_crates=(
4238
reth-net-nat
4339
reth-network
4440
reth-node-api
45-
reth-node-types
4641
reth-node-builder
4742
reth-node-core
4843
reth-node-ethereum
@@ -52,8 +47,6 @@ exclude_crates=(
5247
reth-optimism-node
5348
reth-optimism-payload-builder
5449
reth-optimism-rpc
55-
reth-payload-builder
56-
reth-payload-primitives
5750
reth-rpc
5851
reth-rpc-api
5952
reth-rpc-api-testing-util
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
ethereum_package:
2+
participants:
3+
- el_type: reth
4+
cl_type: lighthouse
5+
optimism_package:
6+
chains:
7+
- participants:
8+
- el_type: op-geth
9+
cl_type: op-node
10+
- el_type: op-reth
11+
el_image: "ghcr.io/paradigmxyz/op-reth:kurtosis-ci"
12+
cl_type: op-node
13+
batcher_params:
14+
extra_params:
15+
- "--throttle-interval=0"

.github/workflows/kurtosis-op.yml

+119
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# Runs simple OP stack setup in Kurtosis
2+
3+
name: kurtosis-op
4+
5+
on:
6+
workflow_dispatch:
7+
schedule:
8+
# every day
9+
- cron: "0 1 * * *"
10+
11+
env:
12+
CARGO_TERM_COLOR: always
13+
14+
concurrency:
15+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
16+
cancel-in-progress: true
17+
18+
jobs:
19+
prepare-reth:
20+
if: github.repository == 'paradigmxyz/reth'
21+
timeout-minutes: 45
22+
runs-on:
23+
group: Reth
24+
steps:
25+
- uses: actions/checkout@v4
26+
- run: mkdir artifacts
27+
- uses: dtolnay/rust-toolchain@stable
28+
- uses: Swatinem/rust-cache@v2
29+
with:
30+
cache-on-failure: true
31+
- name: Build reth
32+
run: |
33+
cargo build --features optimism,asm-keccak --profile hivetests --bin op-reth --manifest-path crates/optimism/bin/Cargo.toml --locked
34+
mkdir dist && cp ./target/hivetests/op-reth ./dist/reth
35+
- name: Set up Docker Buildx
36+
uses: docker/setup-buildx-action@v3
37+
- name: Build and export reth image
38+
uses: docker/build-push-action@v6
39+
with:
40+
context: .
41+
file: .github/assets/hive/Dockerfile
42+
tags: ghcr.io/paradigmxyz/op-reth:kurtosis-ci
43+
outputs: type=docker,dest=./artifacts/reth_image.tar
44+
cache-from: type=gha
45+
cache-to: type=gha,mode=max
46+
47+
- name: Upload reth image
48+
uses: actions/upload-artifact@v4
49+
with:
50+
name: artifacts
51+
path: ./artifacts
52+
53+
test:
54+
timeout-minutes: 60
55+
strategy:
56+
fail-fast: false
57+
name: run kurtosis
58+
runs-on:
59+
group: Reth
60+
needs:
61+
- prepare-reth
62+
steps:
63+
- uses: actions/checkout@v4
64+
with:
65+
fetch-depth: 0
66+
67+
- name: Download reth image
68+
uses: actions/download-artifact@v4
69+
with:
70+
name: artifacts
71+
path: /tmp
72+
73+
- name: Load Docker image
74+
run: |
75+
docker load -i /tmp/reth_image.tar &
76+
wait
77+
docker image ls -a
78+
79+
- name: Install Foundry
80+
uses: foundry-rs/foundry-toolchain@v1
81+
82+
- name: Run kurtosis
83+
run: |
84+
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
85+
sudo apt update
86+
sudo apt install kurtosis-cli
87+
kurtosis engine start
88+
kurtosis run --enclave op-devnet github.com/ethpandaops/optimism-package --args-file .github/assets/kurtosis_op_network_params.yaml
89+
ENCLAVE_ID=$(curl http://127.0.0.1:9779/api/enclaves | jq --raw-output 'keys[0]')
90+
GETH_PORT=$(curl "http://127.0.0.1:9779/api/enclaves/$ENCLAVE_ID/services" | jq '."op-el-1-op-geth-op-node-op-kurtosis".public_ports.rpc.number')
91+
RETH_PORT=$(curl "http://127.0.0.1:9779/api/enclaves/$ENCLAVE_ID/services" | jq '."op-el-2-op-reth-op-node-op-kurtosis".public_ports.rpc.number')
92+
echo "GETH_RPC=http://127.0.0.1:$GETH_PORT" >> $GITHUB_ENV
93+
echo "RETH_RPC=http://127.0.0.1:$RETH_PORT" >> $GITHUB_ENV
94+
95+
- name: Assert that clients advance
96+
run: |
97+
for i in {1..100}; do
98+
sleep 5
99+
BLOCK_GETH=$(cast bn --rpc-url $GETH_RPC)
100+
BLOCK_RETH=$(cast bn --rpc-url $RETH_RPC)
101+
102+
if [ $BLOCK_GETH -ge 100 ] && [ $BLOCK_RETH -ge 100 ] ; then exit 0; fi
103+
echo "Waiting for clients to advance..., Reth: $BLOCK_RETH Geth: $BLOCK_GETH"
104+
done
105+
exit 1
106+
107+
108+
notify-on-error:
109+
needs: test
110+
if: failure()
111+
runs-on:
112+
group: Reth
113+
steps:
114+
- name: Slack Webhook Action
115+
uses: rtCamp/action-slack-notify@v2
116+
env:
117+
SLACK_COLOR: ${{ job.status }}
118+
SLACK_MESSAGE: "Failed run: https://github.com/paradigmxyz/reth/actions/runs/${{ github.run_id }}"
119+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}

.github/workflows/unit.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ jobs:
3434
partition: 2
3535
total_partitions: 2
3636
- type: optimism
37-
args: --features "asm-keccak optimism" --locked
37+
args: --features "asm-keccak optimism" --locked --exclude reth --exclude reth-bench --exclude "example-*"
3838
partition: 1
3939
total_partitions: 2
4040
- type: optimism
41-
args: --features "asm-keccak optimism" --locked
41+
args: --features "asm-keccak optimism" --locked --exclude reth --exclude reth-bench --exclude "example-*"
4242
partition: 2
4343
total_partitions: 2
4444
- type: book

0 commit comments

Comments
 (0)