Skip to content

Commit a37dcd5

Browse files
greged93keanji-xmattssezitupfgimenez
authored
chore: merge upstream 27f1098 (#226)
* refactor(mempool): Optimize validation task lock duration by moving async fut creation outside lock (paradigmxyz#16159) Co-authored-by: Matthias Seitz <[email protected]> * perf: use estimated_compressed_size for DA limiter (paradigmxyz#16153) Co-authored-by: Matthias Seitz <[email protected]> * chore: remove redundant NodeTypes bounds (paradigmxyz#16160) * chore: bump alloy 0.15.11 (paradigmxyz#16163) * perf: dont alloc on delegation limit check (paradigmxyz#16135) * perf: batch create sender ids (paradigmxyz#16134) * refactor: make gas_limit optional (paradigmxyz#16161) Co-authored-by: Matthias Seitz <[email protected]> * feat(engine): set keep alive for Tokio threads (paradigmxyz#16162) * perf(trie): optimize TrieNodeIter by skipping redundant seek (paradigmxyz#15841) Signed-off-by: 7suyash7 <[email protected]> Co-authored-by: Alexey Shekhirin <[email protected]> * test: handle reorg event properly by pool maintaining (paradigmxyz#16155) * chore: replace filteredParams with Filterset (paradigmxyz#16077) Co-authored-by: James <[email protected]> * fix: prevent memory bloat during extended finalization periods (paradigmxyz#16157) * chore: update hive expected failures (paradigmxyz#16167) * feat(trie): instrument `TrieNodeIter::try_next` (paradigmxyz#16127) * deps: bump libmdbx to 0.13.6 (paradigmxyz#15412) * chore: extract TreeState to separate submodule (paradigmxyz#16172) * fix(tree): add colon to sparse trie task logs (paradigmxyz#16175) * feat: add fns to map engine builders (paradigmxyz#16171) * fix: correctly set txtype if `blobVersionedHashes` is present (paradigmxyz#16182) * chore(txpool): activate prague by default (paradigmxyz#16183) * refactor: add alloy_consensus::SignerRecoverable to SingedTransaction supertrait (paradigmxyz#16174) * feat(txpool): track osaka activation (paradigmxyz#16184) * feat: Adding cronjob for superchain (paradigmxyz#16141) * refactor(optimism_txpool): Move interop revalidation logic to SupervisorClient stream (paradigmxyz#16148) Signed-off-by: 7suyash7 <[email protected]> * chore(txpool): update comments about prague activation (paradigmxyz#16185) * chore: add error when unwind failed on launch (paradigmxyz#16188) * chore: interop maintain touchups (paradigmxyz#16187) * fix: use different cache instance per precompile (paradigmxyz#16191) * docs: fix typos in observability.md (paradigmxyz#16186) * chore: bump log GetPayload events to debug level (paradigmxyz#16196) * feat(trie): add `clear` method to PrefixSetMut, RevealedSparseTrie, SparseTrieUpdates (paradigmxyz#16179) Co-authored-by: Alexey Shekhirin <[email protected]> * feat: add PrecompileCacheMap::cache_for_address and test (paradigmxyz#16197) * feat: add func gas_limit_for PayloadConfig (paradigmxyz#16210) Co-authored-by: Matthias Seitz <[email protected]> * chore(deps): migrate to jsonrpsee 0.25 (paradigmxyz#15956) Co-authored-by: Matthias Seitz <[email protected]> * feat: impl of bad_blocks handler (paradigmxyz#16209) Signed-off-by: Aliaksei Misiukevich <[email protected]> Co-authored-by: Matthias Seitz <[email protected]> * fix: handle ForkChoiceUpdate errors with proper rpc error mapping (paradigmxyz#16215) * feat: Integrate Osaka in blob_max_and_target_count_by_hardfork (paradigmxyz#16219) * docs: fix JWT token link (paradigmxyz#16221) * chore: Replacing filter id with subscription (paradigmxyz#16224) Co-authored-by: Matthias Seitz <[email protected]> * docs: clarify unit of txfeecap (paradigmxyz#16225) * feat: simplify choosing txtype for tx request using .has methods (paradigmxyz#16227) * feat: add check for osaka activation (paradigmxyz#16223) * fix(trie): do not panic when logging the current hash of `TrieWalker` (paradigmxyz#16222) * test(e2e): add CheckPayloadAccepted action (paradigmxyz#16220) Co-authored-by: Federico Gimenez <[email protected]> * chore: Replace `try_clone_into_recovered` with `try_into_recovered` to avoid unnecessary clone (paradigmxyz#16230) * feat: Introduce with_signer_ref helper (paradigmxyz#16235) * chore: de duplicate mainnet deposit contract (paradigmxyz#16074) * feat(engine): add conversions for `ExecutionPayloadEnvelopeV5` (paradigmxyz#16218) * refactor: relax `OpAddOns` (paradigmxyz#16180) * docs: clarify note on &mut self usage (paradigmxyz#16237) * perf: replace collect with count (paradigmxyz#16246) * feat: add from intoiter impls (paradigmxyz#16252) * chore: rm jsonrpsee patch (paradigmxyz#16251) Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * chore(lint): Bumps dep `tempfile` (paradigmxyz#16253) * fix: receipts logs arg parsing (paradigmxyz#16240) * refactor: Migrate InvalidInboxEntry to op-alloy (paradigmxyz#16260) * chore: rename extendedtx to just extended (paradigmxyz#16265) * feat(engine): respond unsupported for payload v5 pre-osaka (paradigmxyz#16268) * feat(engine): add `engine_getPayloadV5` skeleton (paradigmxyz#16270) Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * docs: Fix typos in `static-file` crate README (paradigmxyz#16266) * feat(txpool): add methods for retrieving `BlobsAndProofsV2` (paradigmxyz#16271) * feat(engine): add osaka engine methods to capabilities (paradigmxyz#16272) * Rkrasiuk/implement get payload v5 (paradigmxyz#16274) * chore: bump alloy 1.0.3 (paradigmxyz#16277) * docs: add note about superchain registry (paradigmxyz#16275) Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * chore: bump default gas limit for holesky (paradigmxyz#16278) * feat(engine): implement `engine_getBlobsV2` (paradigmxyz#16279) * chore: bump version 1.4.0 (paradigmxyz#16261) * chore: change TxCustom to TxPayment (paradigmxyz#16281) * chore: upstream tx_type derive to alloy::TransactionRequest (paradigmxyz#16284) * chore: Construct a SubscriptionMessage with the sink's properties (paradigmxyz#16285) * ci: fix Windows build in `release.yml` (paradigmxyz#16280) * chore: release 1.4.1 (paradigmxyz#16286) * test: stale txs could be evicted when maintaining txpool (paradigmxyz#16269) * chore: bump inspectors 0.22.1 (paradigmxyz#16291) * ci: deduplicate changelog in release notes (paradigmxyz#16294) * refactor(rpc-builder): Use Box<dyn TaskSpawner> for RPC task handling (paradigmxyz#16297) Signed-off-by: 7suyash7 <[email protected]> * ci: separate workflow for reproducible release (paradigmxyz#16299) * refactor(trie): pass rlp_buf as a mutable argument to rlp_node (paradigmxyz#16243) Signed-off-by: 7suyash7 <[email protected]> * ci: release dry run (paradigmxyz#16287) * feat: added TransactionValidator::validate_transactions_with_origin (paradigmxyz#16238) Co-authored-by: Matthias Seitz <[email protected]> Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * ci: use `GITHUB_REF_NAME` env var in release.yml (paradigmxyz#16302) * refactor: Remove `to_subscription_message` and update calls (paradigmxyz#16305) * ci: bump base image for reproducible builds (paradigmxyz#16307) * ci: add OP Reth binaries to release notes (paradigmxyz#16298) * feat: introduce PoolTransaction::into_consensus_with2718 (paradigmxyz#16303) * chore: bump inspectors 0.22.2 (paradigmxyz#16311) * chore: Mark into_recovered_unchecked as deprecated (paradigmxyz#16283) * refactor(mempool): Refactor transaction validation to use batch interface (paradigmxyz#16189) Co-authored-by: Matthias Seitz <[email protected]> * chore: add 7702 to announced (paradigmxyz#16312) * chore: rm jsonrpsee features (paradigmxyz#16314) * chore: make clippy happy (paradigmxyz#16316) * chore: flatten deps (paradigmxyz#16315) * chore(deps): weekly `cargo update` (paradigmxyz#16323) Co-authored-by: github-merge-queue <[email protected]> Co-authored-by: Matthias Seitz <[email protected]> * chore: fix make-pr lint-codespell errors (paradigmxyz#16324) Co-authored-by: Matthias Seitz <[email protected]> * feat: implement IsTyped2781 for reth types (paradigmxyz#16325) Co-authored-by: Matthias Seitz <[email protected]> * docs: add some docs about TaskExecutor (paradigmxyz#16327) * chore: Replace reth-provider with reth-storage-api in reth-rpc-api (paradigmxyz#16322) * feat: include SpecId in PrecompileCache keys (paradigmxyz#16241) * feat: introduce Receipt69 variant (paradigmxyz#15827) Co-authored-by: Matthias Seitz <[email protected]> * chore(hive): disable eth suite of devp2p sim (paradigmxyz#16341) * feat(perp): optimize OpTxpool 2718 bytes encoding (paradigmxyz#16336) * chore: bump alloy 1.0.4 (paradigmxyz#16345) * feat(primitive-traits): relax mem size implementations for 4844 txs with sidecars (paradigmxyz#16349) * chore: bump inspectors (paradigmxyz#16342) * feat(ethereum-primitives): `PooledTransactionVariant` alias (paradigmxyz#16351) * chore: add `clippy-op-dev` make script (paradigmxyz#16352) * chore: `RecoveredBlock` -> `Block` (paradigmxyz#16321) Co-authored-by: Roman Krasiuk <[email protected]> * chore: bump alloy (paradigmxyz#16355) * chore: bump version 1.4.2 (paradigmxyz#16357) * ci: do not dry run by default in `release.yml` (paradigmxyz#16358) * chore: Add configuration option to enable/disable HTTP response compression (paradigmxyz#16348) Co-authored-by: Matthias Seitz <[email protected]> * ci: check `dry_run` against `true` in release workflow (paradigmxyz#16360) * chore: bump version 1.4.3 (paradigmxyz#16359) * ci: do not trigger release workflow on `dry_run*` branches (paradigmxyz#16361) * feat: add BlockRangeUpdate message for eth/69 (paradigmxyz#16346) Co-authored-by: Matthias Seitz <[email protected]> * feat(stages): reduce index history progress logging frequency (paradigmxyz#16290) Co-authored-by: Alexey Shekhirin <[email protected]> * chore: re-export node-builder as builder (paradigmxyz#16363) * feat(txpool): use `BlobTransactionSidecarVariant` (paradigmxyz#16356) * feat: Implement conversion from built-in transaction envelopes into `Extended` (paradigmxyz#16366) * refactor(examples): Replace redundant type definitions with a `CustomTransaction` alias in the `custom_node` example (paradigmxyz#16367) * feat(txpool): properly validate sidecar according to the active fork (paradigmxyz#16370) * feat(txpool): activate osaka in tx validator (paradigmxyz#16371) * refactor(examples): Split `evm` module into submodules in the `custom_node` example (paradigmxyz#16380) * feat(examples): Add `CustomTxEnv` for EVM that supports conversions from the extended transaction envelope in the `custom_node` example (paradigmxyz#16381) * feat(node): bump Hoodi gas limit to 60M (paradigmxyz#16379) * feat(trie): decode proofs in multiproof task (paradigmxyz#16098) Co-authored-by: Alexey Shekhirin <[email protected]> * chore(deps): bump alloy-evm (paradigmxyz#16385) Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * chore: Move subscription_task_spawner into EthPubSubInner (paradigmxyz#16383) * feat: relax OpNetworkBuilder type constraints (paradigmxyz#16387) * fix(ipc): Improve server code correctness, logging, and doc comments (paradigmxyz#16372) * chore: fixed broken link (paradigmxyz#16365) * chore: Refactoring manual clone for opPoolBuilder (paradigmxyz#16392) * fix: `InvalidTimestamp` display (paradigmxyz#16395) Signed-off-by: Gregory Edison <[email protected]> * feat(examples): Add `CustomEvm` for the execution of `CustomTransaction` in the `custom_node` example (paradigmxyz#16394) * chore(book): Bump `alloy-hardforks` and `alloy-op-harfroks` (paradigmxyz#16300) * feat: Genericise `stateless_validation` API so that it is not fixed to `Eth` types (paradigmxyz#16328) Co-authored-by: Matthias Seitz <[email protected]> * feat: relax OpEthApi type constraints (paradigmxyz#16398) * fix: forward sequencer error (paradigmxyz#16401) * feat: configure tracing layers (paradigmxyz#16126) Co-authored-by: Matthias Seitz <[email protected]> * chore: eth69 status message support (paradigmxyz#16099) Co-authored-by: Matthias Seitz <[email protected]> * feat(examples): Implement `EvmFactory` for `CustomEvm` in `custom_node` example (paradigmxyz#16404) * feat: relax OpEthApiBuilder type constraints (paradigmxyz#16410) * fix(RPC): Ensure `eth_getTransactionCount` returns correct nonce for 'pending' tag (paradigmxyz#16407) * feat(tasks): enable graceful shutdown request via TaskExecutor (paradigmxyz#16386) Signed-off-by: 7suyash7 <[email protected]> Co-authored-by: Matthias Seitz <[email protected]> * chore: Add `ClientInput` struct to `reth-stateless` (paradigmxyz#16320) * feat: fix tasks metrics (paradigmxyz#16406) * fix: grammar in multiple files (paradigmxyz#16403) * refactor: use `impl IntoIterator` for transaction batches and streamline validation calls (paradigmxyz#16408) * chore: Implementing get_by_versioned_hashes_v2 for InMemoryBlobStre a… (paradigmxyz#16390) Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: Matthias Seitz <[email protected]> * feat(examples): Make `CustomEvmTransaction` local and implement `FromRecoveredTx` and `FromTxWithEncoded` in `custom_node` example (paradigmxyz#16415) * refactor(examples): Use `OpEvm` from `op-alloy-evm` instead of `op-revm` for `CustomEvm` in `custom_node` example (paradigmxyz#16417) * fix: rewrite estimate loop condition (paradigmxyz#16413) * ci: fix system icons width in release.yml (paradigmxyz#16420) * feat(net): Add update_block_range to NetworkSyncUpdater (paradigmxyz#16422) Signed-off-by: 7suyash7 <[email protected]> * feat: relax OpExecutorBuilder type constraints (paradigmxyz#16423) * feat: make max EthMessageID dependent on the EthVersion (paradigmxyz#16405) Co-authored-by: Matthias Seitz <[email protected]> * ci: run op-kurtosis every 6hrs (paradigmxyz#16432) * ci: run kurtosis every 6h (paradigmxyz#16433) * perf: spawn range query on blocking (paradigmxyz#16434) * chore: bump revm and op-alloy (paradigmxyz#16429) Co-authored-by: Ishika Choudhury <[email protected]> * feat: add get_recovered_transaction helper (paradigmxyz#16436) * feat(examples): Implement `BlockAssembler` and `BlockExecutor` for custom blocks in `custom_node` example (paradigmxyz#16435) * feat(optimism): Remove all bounds on `BlockAssemblerInput` for header (paradigmxyz#16442) * feat!: Add `StatelessTrie` abstraction (paradigmxyz#16419) * refactor(examples): Rename `CustomTxEnv` => `PaymentTxEnv` and `CustomEvmTransaction` => `CustomTxEnv` (paradigmxyz#16443) * chore: simplify deposit check (paradigmxyz#16452) * chore: rm OpPrimitives bound (paradigmxyz#16450) * chore: make clippy happy (paradigmxyz#16455) Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * docs: added parent_beacon_block_root requirement and corrected build-block (paradigmxyz#16453) * chore: add clone impl for engine api types (paradigmxyz#16454) * refactor: remove reth dependencies and instead use reth_ethereum (paradigmxyz#16416) Co-authored-by: Matthias Seitz <[email protected]> * chore: rm outdated unreachable patterns (paradigmxyz#16457) * chore: bump alloy 1.0.7 (paradigmxyz#16456) * feat: add HistoricalRpcClient for forwarding legacy RPC requests (paradigmxyz#16447) Co-authored-by: Matthias Seitz <[email protected]> * ci: remove concurrency from bench (paradigmxyz#16458) * chore(deps): weekly `cargo update` (paradigmxyz#16460) Co-authored-by: github-merge-queue <[email protected]> * fix(db): correct ClientVersion serialization size tracking (paradigmxyz#16427) * feat: add receipts_by_block_range to ReceiptsProvider (paradigmxyz#16449) * refactor: unify versioned_hashes for BlobTransactionSidecarVarient (paradigmxyz#16461) * chore: run hive every 6h (paradigmxyz#16472) * feat: add exex feature to op-reth (paradigmxyz#16459) * fix: check encoded size (paradigmxyz#16473) * chore: add manual clone impl (paradigmxyz#16475) * fix: propagate `--sequencer-headers` to `SequencerClient` (paradigmxyz#16474) * chore: relax executiondata bound (paradigmxyz#16478) * revert: "fix: check encoded size" (paradigmxyz#16488) * feat(examples): Add `CustomExecutorBuilder` and implement `ExecutorBuilder` for it in `custom_node` example (paradigmxyz#16444) * chore: bump op-alloy to 0.17.2 (paradigmxyz#16492) * feat(optimism): Replace `OpTransactionSigned` bound on the `Block` associated to `OpEngineValidator` with a generic (paradigmxyz#16486) * feat: api changes Signed-off-by: Gregory Edison <[email protected]> * fix: lints Signed-off-by: Gregory Edison <[email protected]> * fix: lints Signed-off-by: Gregory Edison <[email protected]> * fix: lints Signed-off-by: Gregory Edison <[email protected]> * fix: book lint * fix: book lints * fix: point revm-scroll to main Signed-off-by: Gregory Edison <[email protected]> --------- Signed-off-by: 7suyash7 <[email protected]> Signed-off-by: Aliaksei Misiukevich <[email protected]> Signed-off-by: Gregory Edison <[email protected]> Co-authored-by: Acat <[email protected]> Co-authored-by: Matthias Seitz <[email protected]> Co-authored-by: Z <[email protected]> Co-authored-by: Federico Gimenez <[email protected]> Co-authored-by: Veer Chaurasia <[email protected]> Co-authored-by: Alexey Shekhirin <[email protected]> Co-authored-by: Suyash Nayan <[email protected]> Co-authored-by: int88 <[email protected]> Co-authored-by: James <[email protected]> Co-authored-by: Dan Cline <[email protected]> Co-authored-by: Arsenii Kulikov <[email protected]> Co-authored-by: Roman Krasiuk <[email protected]> Co-authored-by: fantasyup <[email protected]> Co-authored-by: Ayush Dubey <[email protected]> Co-authored-by: Mark Diloff <[email protected]> Co-authored-by: Aliaksei Misiukevich <[email protected]> Co-authored-by: Merkel Tranjes <[email protected]> Co-authored-by: Yeongjong Pyo <[email protected]> Co-authored-by: cakevm <[email protected]> Co-authored-by: Louis Brown <[email protected]> Co-authored-by: Léa Narzis <[email protected]> Co-authored-by: 0xriazaka.eth <[email protected]> Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: Emilia Hane <[email protected]> Co-authored-by: James Niken <[email protected]> Co-authored-by: Victor Farazdagi <[email protected]> Co-authored-by: Developer Uche <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-merge-queue <[email protected]> Co-authored-by: Femi Bankole <[email protected]> Co-authored-by: Shourya Chaudhry <[email protected]> Co-authored-by: stevencartavia <[email protected]> Co-authored-by: kevaundray <[email protected]> Co-authored-by: AlexYue <[email protected]> Co-authored-by: Max Bytefield <[email protected]> Co-authored-by: Roman Hodulák <[email protected]> Co-authored-by: Torprius <[email protected]> Co-authored-by: Oleg <[email protected]> Co-authored-by: Denis Kolodin <[email protected]> Co-authored-by: Shane K Moore <[email protected]> Co-authored-by: Solar Mithril <[email protected]> Co-authored-by: crStiv <[email protected]> Co-authored-by: Ishika Choudhury <[email protected]> Co-authored-by: DaniPopes <[email protected]> Co-authored-by: Bilog WEB3 <[email protected]> Co-authored-by: Soubhik Singha Mahapatra <[email protected]>
1 parent 9ba65f0 commit a37dcd5

File tree

389 files changed

+55822
-55145
lines changed

Some content is hidden

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

389 files changed

+55822
-55145
lines changed

.github/assets/check_wasm.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ exclude_crates=(
7373
reth-optimism-txpool # reth-transaction-pool
7474
reth-era-downloader # tokio
7575
reth-era-utils # tokio
76+
reth-tracing-otlp
7677
reth-scroll-cli # tokio
7778
reth-scroll-node # tokio
7879
reth-scroll # tokio

.github/assets/hive/expected_failures.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,7 @@ engine-withdrawals:
2929
- Empty Withdrawals (Paris) (reth)
3030
- Corrupted Block Hash Payload (INVALID) (Paris) (reth)
3131
- Withdrawals Fork on Block 1 - 8 Block Re-Org NewPayload (Paris) (reth)
32-
- Withdrawals Fork on Block 1 - 8 Block Re-Org, Sync (Paris) (reth)
33-
- Withdrawals Fork on Block 8 - 10 Block Re-Org NewPayload (Paris) (reth)
34-
- Withdrawals Fork on Block 8 - 10 Block Re-Org Sync (Paris) (reth)
3532
- Withdrawals Fork on Canonical Block 8 / Side Block 7 - 10 Block Re-Org (Paris) (reth)
36-
- Withdrawals Fork on Canonical Block 8 / Side Block 7 - 10 Block Re-Org Sync (Paris) (reth)
37-
- Withdrawals Fork on Canonical Block 8 / Side Block 9 - 10 Block Re-Org (Paris) (reth)
38-
- Withdrawals Fork on Canonical Block 8 / Side Block 9 - 10 Block Re-Org Sync (Paris) (reth)
3933

4034
engine-api: []
4135

.github/workflows/bench.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ env:
1212
BASELINE: base
1313
SEED: reth
1414

15-
concurrency:
16-
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
17-
cancel-in-progress: true
18-
1915
name: bench
2016
jobs:
2117
codspeed:

.github/workflows/hive.yml

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ name: hive
55
on:
66
workflow_dispatch:
77
schedule:
8-
# run every 12 hours
9-
- cron: "0 */12 * * *"
8+
- cron: "0 */6 * * *"
109

1110
env:
1211
CARGO_TERM_COLOR: always
@@ -61,17 +60,19 @@ jobs:
6160
- sim: ethereum/sync
6261
- sim: devp2p
6362
limit: discv4
64-
- sim: devp2p
65-
limit: eth
66-
include:
67-
# failures tracked in https://github.com/paradigmxyz/reth/issues/14825
68-
- Status
69-
- GetBlockHeaders
70-
- ZeroRequestID
71-
- GetBlockBodies
72-
- MaliciousHandshake
73-
- Transaction
74-
- NewPooledTxs
63+
# started failing after https://github.com/ethereum/go-ethereum/pull/31843, no
64+
# action on our side, remove from here when we get unxpected passes on these tests
65+
# - sim: devp2p
66+
# limit: eth
67+
# include:
68+
# - MaliciousHandshake
69+
# # failures tracked in https://github.com/paradigmxyz/reth/issues/14825
70+
# - Status
71+
# - GetBlockHeaders
72+
# - ZeroRequestID
73+
# - GetBlockBodies
74+
# - Transaction
75+
# - NewPooledTxs
7576
- sim: devp2p
7677
limit: discv5
7778
include:

.github/workflows/kurtosis-op.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: kurtosis-op
55
on:
66
workflow_dispatch:
77
schedule:
8-
- cron: "0 */12 * * *"
8+
- cron: "0 */6 * * *"
99

1010
push:
1111
tags:

.github/workflows/kurtosis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: kurtosis
55
on:
66
workflow_dispatch:
77
schedule:
8-
- cron: "0 */12 * * *"
8+
- cron: "0 */6 * * *"
99

1010
push:
1111
tags:

.github/workflows/pr-title.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,16 @@ jobs:
2626
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2727
with:
2828
types: |
29-
fix
3029
feat
30+
fix
3131
chore
3232
test
3333
perf
3434
refactor
3535
docs
3636
ci
3737
revert
38+
deps
3839
continue-on-error: true
3940
- name: Add PR Comment for Invalid Title
4041
if: steps.lint_pr_title.outcome == 'failure'
@@ -59,6 +60,7 @@ jobs:
5960
- `docs`: Documentation updates
6061
- `ci`: Changes to CI/CD configurations
6162
- `revert`: Reverts a previously merged PR
63+
- `deps`: Updates dependencies
6264
6365
**Breaking Changes**
6466
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# This workflow is for building and pushing reproducible Docker images for releases.
2+
3+
name: release-reproducible
4+
5+
on:
6+
push:
7+
tags:
8+
- v*
9+
10+
env:
11+
DOCKER_REPRODUCIBLE_IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/reth-reproducible
12+
13+
jobs:
14+
extract-version:
15+
name: extract version
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Extract version
19+
run: echo "VERSION=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_OUTPUT
20+
id: extract_version
21+
outputs:
22+
VERSION: ${{ steps.extract_version.outputs.VERSION }}
23+
24+
build-reproducible:
25+
name: build and push reproducible image
26+
runs-on: ubuntu-latest
27+
needs: extract-version
28+
permissions:
29+
packages: write
30+
contents: read
31+
steps:
32+
- uses: actions/checkout@v4
33+
- name: Set up Docker Buildx
34+
uses: docker/setup-buildx-action@v3
35+
36+
- name: Log in to GitHub Container Registry
37+
uses: docker/login-action@v3
38+
with:
39+
registry: ghcr.io
40+
username: ${{ github.actor }}
41+
password: ${{ secrets.GITHUB_TOKEN }}
42+
43+
- name: Build and push reproducible image
44+
uses: docker/build-push-action@v6
45+
with:
46+
context: .
47+
file: ./Dockerfile.reproducible
48+
push: true
49+
tags: |
50+
${{ env.DOCKER_REPRODUCIBLE_IMAGE_NAME }}:${{ needs.extract-version.outputs.VERSION }}
51+
${{ env.DOCKER_REPRODUCIBLE_IMAGE_NAME }}:latest
52+
cache-from: type=gha
53+
cache-to: type=gha,mode=max
54+
provenance: false
55+
env:
56+
DOCKER_BUILD_RECORD_UPLOAD: false

.github/workflows/release.yml

Lines changed: 65 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,38 @@ on:
77
push:
88
tags:
99
- v*
10+
workflow_dispatch:
11+
inputs:
12+
dry_run:
13+
description: "Enable dry run mode (builds artifacts but skips uploads and release creation)"
14+
type: boolean
15+
default: false
1016

1117
env:
1218
REPO_NAME: ${{ github.repository_owner }}/reth
13-
OP_IMAGE_NAME: ${{ github.repository_owner }}/op-reth
1419
IMAGE_NAME: ${{ github.repository_owner }}/reth
20+
OP_IMAGE_NAME: ${{ github.repository_owner }}/op-reth
21+
REPRODUCIBLE_IMAGE_NAME: ${{ github.repository_owner }}/reth-reproducible
1522
CARGO_TERM_COLOR: always
16-
DOCKER_IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/reth
17-
DOCKER_REPRODUCIBLE_IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/reth-reproducible
23+
DOCKER_IMAGE_NAME_URL: ghcr.io/${{ github.repository_owner }}/reth
24+
DOCKER_OP_IMAGE_NAME_URL: ghcr.io/${{ github.repository_owner }}/op-reth
1825

1926
jobs:
27+
dry-run:
28+
name: check dry run
29+
runs-on: ubuntu-latest
30+
steps:
31+
- run: |
32+
echo "Dry run value: ${{ github.event.inputs.dry_run }}"
33+
echo "Dry run enabled: ${{ github.event.inputs.dry_run == 'true'}}"
34+
echo "Dry run disabled: ${{ github.event.inputs.dry_run != 'true'}}"
35+
2036
extract-version:
2137
name: extract version
2238
runs-on: ubuntu-latest
2339
steps:
2440
- name: Extract version
25-
run: echo "VERSION=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_OUTPUT
41+
run: echo "VERSION=${GITHUB_REF_NAME}" >> $GITHUB_OUTPUT
2642
id: extract_version
2743
outputs:
2844
VERSION: ${{ steps.extract_version.outputs.VERSION }}
@@ -96,55 +112,24 @@ jobs:
96112
shell: bash
97113

98114
- name: Upload artifact
115+
if: ${{ github.event.inputs.dry_run != 'true' }}
99116
uses: actions/upload-artifact@v4
100117
with:
101118
name: ${{ matrix.build.binary }}-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.configs.target }}.tar.gz
102119
path: ${{ matrix.build.binary }}-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.configs.target }}.tar.gz
103120

104121
- name: Upload signature
122+
if: ${{ github.event.inputs.dry_run != 'true' }}
105123
uses: actions/upload-artifact@v4
106124
with:
107125
name: ${{ matrix.build.binary }}-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.configs.target }}.tar.gz.asc
108126
path: ${{ matrix.build.binary }}-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.configs.target }}.tar.gz.asc
109127

110-
build-reproducible:
111-
name: build and push reproducible image
112-
runs-on: ubuntu-latest
113-
needs: extract-version
114-
permissions:
115-
packages: write
116-
contents: read
117-
steps:
118-
- uses: actions/checkout@v4
119-
- name: Set up Docker Buildx
120-
uses: docker/setup-buildx-action@v3
121-
122-
- name: Log in to GitHub Container Registry
123-
uses: docker/login-action@v3
124-
with:
125-
registry: ghcr.io
126-
username: ${{ github.actor }}
127-
password: ${{ secrets.GITHUB_TOKEN }}
128-
129-
- name: Build and push reproducible image
130-
uses: docker/build-push-action@v6
131-
with:
132-
context: .
133-
file: ./Dockerfile.reproducible
134-
push: true
135-
tags: |
136-
${{ env.DOCKER_REPRODUCIBLE_IMAGE_NAME }}:${{ needs.extract-version.outputs.VERSION }}
137-
${{ env.DOCKER_REPRODUCIBLE_IMAGE_NAME }}:latest
138-
cache-from: type=gha
139-
cache-to: type=gha,mode=max
140-
provenance: false
141-
env:
142-
DOCKER_BUILD_RECORD_UPLOAD: false
143-
144128
draft-release:
145129
name: draft release
146-
needs: [build, build-reproducible, extract-version]
130+
needs: [build, extract-version]
147131
runs-on: ubuntu-latest
132+
if: ${{ github.event.inputs.dry_run != 'true' }}
148133
env:
149134
VERSION: ${{ needs.extract-version.outputs.VERSION }}
150135
permissions:
@@ -158,12 +143,6 @@ jobs:
158143
fetch-depth: 0
159144
- name: Download artifacts
160145
uses: actions/download-artifact@v4
161-
- name: Generate full changelog
162-
id: changelog
163-
run: |
164-
echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT
165-
echo "$(git log --pretty=format:"- %s" $(git describe --tags --abbrev=0 ${{ env.VERSION }}^)..${{ env.VERSION }})" >> $GITHUB_OUTPUT
166-
echo "EOF" >> $GITHUB_OUTPUT
167146
- name: Create release draft
168147
env:
169148
GITHUB_USER: ${{ github.repository_owner }}
@@ -207,27 +186,33 @@ jobs:
207186
208187
*See [Update Priorities](https://paradigmxyz.github.io/reth/installation/priorities.html) for more information about this table.*
209188
210-
## All Changes
211-
212-
${{ steps.changelog.outputs.CHANGELOG }}
213-
214189
## Binaries
215190
216191
[See pre-built binaries documentation.](https://paradigmxyz.github.io/reth/installation/binaries.html)
217192
218193
The binaries are signed with the PGP key: `50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E`
219194
195+
### Reth
196+
220197
| System | Architecture | Binary | PGP Signature |
221198
|:---:|:---:|:---:|:---|
222-
| <img src="https://simpleicons.org/icons/linux.svg" style="width: 32px;"/> | x86_64 | [reth-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz.asc) |
223-
| <img src="https://simpleicons.org/icons/linux.svg" style="width: 32px;"/> | aarch64 | [reth-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz.asc) |
224-
| <img src="https://simpleicons.org/icons/windows.svg" style="width: 32px;"/> | x86_64 | [reth-${{ env.VERSION }}-x86_64-pc-windows-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-pc-windows-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-pc-windows-gnu.tar.gz.asc) |
225-
| <img src="https://simpleicons.org/icons/apple.svg" style="width: 32px;"/> | x86_64 | [reth-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz.asc) |
226-
| <img src="https://simpleicons.org/icons/apple.svg" style="width: 32px;"/> | aarch64 | [reth-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz.asc) |
227-
| | | | |
228-
| **System** | **Option** | - | **Resource** |
229-
| <img src="https://simpleicons.org/icons/docker.svg" style="width: 32px;"/> | Docker | | [${{ env.IMAGE_NAME }}](https://github.com/paradigmxyz/reth/pkgs/container/reth) |
230-
| <img src="https://simpleicons.org/icons/docker.svg" style="width: 32px;"/> | Docker (Reproducible) | | [${{ env.IMAGE_NAME }}-reproducible](https://github.com/paradigmxyz/reth/pkgs/container/reth-reproducible) |
199+
| <img src="https://www.svgrepo.com/download/473700/linux.svg" width="50"/> | x86_64 | [reth-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz.asc) |
200+
| <img src="https://www.svgrepo.com/download/473700/linux.svg" width="50"/> | aarch64 | [reth-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz.asc) |
201+
| <img src="https://www.svgrepo.com/download/513083/windows-174.svg" width="50"/> | x86_64 | [reth-${{ env.VERSION }}-x86_64-pc-windows-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-pc-windows-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-pc-windows-gnu.tar.gz.asc) |
202+
| <img src="https://www.svgrepo.com/download/511330/apple-173.svg" width="50"/> | x86_64 | [reth-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz.asc) |
203+
| <img src="https://www.svgrepo.com/download/511330/apple-173.svg" width="50"/> | aarch64 | [reth-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/reth-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz.asc) |
204+
| <img src="https://www.svgrepo.com/download/473589/docker.svg" width="50"/> | Docker | [${{ env.IMAGE_NAME }}](${{ env.DOCKER_IMAGE_NAME_URL }}) | - |
205+
206+
### OP-Reth
207+
208+
| System | Architecture | Binary | PGP Signature |
209+
|:---:|:---:|:---:|:---|
210+
| <img src="https://www.svgrepo.com/download/473700/linux.svg" width="50"/> | x86_64 | [op-reth-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz.asc) |
211+
| <img src="https://www.svgrepo.com/download/473700/linux.svg" width="50"/> | aarch64 | [op-reth-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz.asc) |
212+
| <img src="https://www.svgrepo.com/download/513083/windows-174.svg" width="50"/> | x86_64 | [op-reth-${{ env.VERSION }}-x86_64-pc-windows-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-x86_64-pc-windows-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-x86_64-pc-windows-gnu.tar.gz.asc) |
213+
| <img src="https://www.svgrepo.com/download/511330/apple-173.svg" width="50"/> | x86_64 | [op-reth-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-x86_64-apple-darwin.tar.gz.asc) |
214+
| <img src="https://www.svgrepo.com/download/511330/apple-173.svg" width="50"/> | aarch64 | [op-reth-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/op-reth-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz.asc) |
215+
| <img src="https://www.svgrepo.com/download/473589/docker.svg" width="50"/> | Docker | [${{ env.OP_IMAGE_NAME }}](${{ env.DOCKER_OP_IMAGE_NAME_URL }}) | - |
231216
ENDBODY
232217
)
233218
assets=()
@@ -236,3 +221,25 @@ jobs:
236221
done
237222
tag_name="${{ env.VERSION }}"
238223
echo "$body" | gh release create --draft -t "Reth $tag_name" -F "-" "$tag_name" "${assets[@]}"
224+
225+
dry-run-summary:
226+
name: dry run summary
227+
needs: [build, extract-version]
228+
runs-on: ubuntu-latest
229+
if: ${{ github.event.inputs.dry_run == 'true' }}
230+
env:
231+
VERSION: ${{ needs.extract-version.outputs.VERSION }}
232+
steps:
233+
- name: Summarize dry run
234+
run: |
235+
echo "## 🧪 Release Dry Run Summary"
236+
echo ""
237+
echo "✅ Successfully completed dry run for commit ${{ github.sha }}"
238+
echo ""
239+
echo "### What would happen in a real release:"
240+
echo "- Binary artifacts would be uploaded to GitHub"
241+
echo "- Docker images would be pushed to registry"
242+
echo "- A draft release would be created"
243+
echo ""
244+
echo "### Next Steps"
245+
echo "To perform a real release, push a git tag."

0 commit comments

Comments
 (0)