Skip to content

Commit b2e30ae

Browse files
chee-chyuanclaude
andcommitted
fix(ci): resolve multiple CI failures for triedb integration
- Add liburing-dev to clippy, docs, udeps, and doctest CI jobs (io-uring feature requires system liburing library) - Fix clippy doc-markdown lint: backtick `TrieDB` in doc comment - Fix feature propagation: propagate asm-keccak to reth-provider and alloy-primitives, propagate jemalloc to rocksdb, propagate test-utils to reth-trie-common - Add wasm-incompatible crates to wasm exclude list (rust-eth-triedb pulls in rocksdb/jemalloc which can't build on wasm) - Regenerate CLI docs for new --statedb.triedb flag Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 9bd7d37 commit b2e30ae

11 files changed

Lines changed: 27 additions & 4 deletions

File tree

.github/scripts/check_wasm.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ exclude_crates=(
2121
reth-dns-discovery
2222
reth-downloaders
2323
reth-e2e-test-utils
24+
reth-engine-primitives # reth-trie-common/std -> rust-eth-triedb
2425
reth-engine-service
26+
reth-ethereum-engine-primitives # reth-trie-common/std -> rust-eth-triedb
2527
reth-execution-cache
2628
reth-engine-tree
2729
reth-engine-util
@@ -34,12 +36,14 @@ exclude_crates=(
3436
reth-ipc
3537
reth-net-nat
3638
reth-network
39+
reth-network-api # reth-trie-common/std -> rust-eth-triedb
3740
reth-node-api
3841
reth-node-builder
3942
reth-node-core
4043
reth-node-ethereum
4144
reth-node-events
4245
reth-node-metrics
46+
reth-node-types # reth-trie-common/std -> rust-eth-triedb
4347
reth-rpc
4448
reth-rpc-api
4549
reth-rpc-api-testing-util
@@ -50,6 +54,7 @@ exclude_crates=(
5054
reth-rpc-eth-api
5155
reth-rpc-eth-types
5256
reth-rpc-layer
57+
reth-rpc-server-types # reth-trie-common/std -> rust-eth-triedb
5358
reth-stages
5459
reth-engine-local
5560
reth-ress-protocol
@@ -62,6 +67,7 @@ exclude_crates=(
6267
reth-libmdbx # mdbx
6368
reth-mdbx-sys # mdbx
6469
reth-payload-builder # reth-metrics
70+
reth-payload-builder-primitives # reth-trie-common/std -> rust-eth-triedb
6571
reth-provider # tokio
6672
reth-prune # tokio
6773
reth-prune-static-files # reth-provider
@@ -70,6 +76,7 @@ exclude_crates=(
7076
reth-static-file # tokio
7177
reth-transaction-pool # c-kzg
7278
reth-payload-util # reth-transaction-pool
79+
reth-trie-db # rust-eth-triedb (rocksdb/jemalloc)
7380
reth-trie-parallel # tokio
7481
reth-trie-sparse-parallel # rayon
7582
reth-testing-utils

.github/workflows/lint.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ jobs:
5454
- uses: Swatinem/rust-cache@v2
5555
with:
5656
cache-on-failure: true
57+
- name: Install liburing-dev
58+
run: sudo apt-get update && sudo apt-get install -y liburing-dev
5759
- run: cargo clippy --workspace --lib --examples --tests --benches --all-features --locked
5860
env:
5961
RUSTFLAGS: -D warnings
@@ -145,6 +147,8 @@ jobs:
145147
- uses: Swatinem/rust-cache@v2
146148
with:
147149
cache-on-failure: true
150+
- name: Install liburing-dev
151+
run: sudo apt-get update && sudo apt-get install -y liburing-dev
148152
- run: cargo docs --document-private-items
149153
env:
150154
# Keep in sync with ./book.yml:jobs.build
@@ -178,6 +182,8 @@ jobs:
178182
with:
179183
cache-on-failure: true
180184
- uses: taiki-e/install-action@cargo-udeps
185+
- name: Install liburing-dev
186+
run: sudo apt-get update && sudo apt-get install -y liburing-dev
181187
- run: cargo udeps --workspace --lib --examples --tests --benches --all-features --locked
182188

183189
book:

.github/workflows/unit.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ jobs:
102102
- uses: Swatinem/rust-cache@v2
103103
with:
104104
cache-on-failure: true
105+
- name: Install liburing-dev
106+
run: sudo apt-get update && sudo apt-get install -y liburing-dev
105107
- name: Run doctests
106108
run: cargo test --doc --workspace --all-features
107109

bin/reth-bb/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ asm-keccak = [
8787
"alloy-evm/asm-keccak",
8888
"revm/asm-keccak",
8989
"revm-primitives/asm-keccak",
90+
"reth-provider/asm-keccak",
9091
]
9192

9293
min-debug-logs = [

bin/reth/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ asm-keccak = [
113113
"reth-ethereum-cli/asm-keccak",
114114
"reth-node-ethereum/asm-keccak",
115115
"alloy-primitives/asm-keccak",
116+
"reth-provider/asm-keccak",
116117
]
117118
keccak-cache-global = [
118119
"reth-node-core/keccak-cache-global",

crates/ethereum/node/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ asm-keccak = [
8888
"alloy-primitives/asm-keccak",
8989
"reth-node-core/asm-keccak",
9090
"revm/asm-keccak",
91+
"reth-provider/asm-keccak",
9192
]
9293
keccak-cache-global = [
9394
"alloy-primitives/keccak-cache-global",

crates/rpc/rpc-eth-types/src/error/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ pub enum EthApiError {
147147
/// When the percentile array is invalid
148148
#[error("invalid reward percentiles")]
149149
InvalidRewardPercentiles,
150-
/// Missing trie node error (used when TrieDB is active)
150+
/// Missing trie node error (used when `TrieDB` is active)
151151
#[error("missing trie node")]
152152
MissingTrieNode,
153153
/// Error thrown when a spawned blocking task failed to deliver an anticipated response.

crates/stages/stages/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,5 +124,6 @@ test-utils = [
124124
"dep:reth-ethereum-primitives",
125125
"reth-ethereum-primitives?/test-utils",
126126
"reth-evm-ethereum/test-utils",
127+
"reth-trie-common/test-utils",
127128
"reth-tasks/test-utils",
128129
]

crates/storage/provider/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ tokio = { workspace = true, features = ["sync", "macros", "rt-multi-thread"] }
9090

9191
[features]
9292
io-uring = ["rust-eth-triedb/io-uring"]
93-
jemalloc = ["rust-eth-triedb/jemalloc"]
94-
asm-keccak = ["rust-eth-triedb/asm-keccak"]
93+
jemalloc = ["rust-eth-triedb/jemalloc", "rocksdb/jemalloc"]
94+
asm-keccak = ["rust-eth-triedb/asm-keccak", "alloy-primitives/asm-keccak"]
9595
test-utils = [
9696
"reth-db/test-utils",
9797
"reth-nippy-jar/test-utils",

docs/vocs/docs/pages/cli/reth/node.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,6 +1093,10 @@ Static Files:
10931093
--static-files.blocks-per-file.storage-change-sets <BLOCKS_PER_FILE_STORAGE_CHANGE_SETS>
10941094
Number of blocks per file for the storage changesets segment
10951095
1096+
State Database:
1097+
--statedb.triedb
1098+
Use TrieDB instead of MDBX for state database
1099+
10961100
Storage:
10971101
--storage.v2 [<V2>]
10981102
Enable V2 (hot/cold) storage layout for new databases.

0 commit comments

Comments
 (0)