chore: Upgrade smoldot to 2.1.0#2248
Merged
Merged
Conversation
Bump the light client dependencies: - smoldot 1.1.0 -> 2.1.0 - smoldot-light 1.1.0 -> 1.3.1 The newer smoldot requires a higher toolchain, so raise the workspace rust-version from 1.85.0 to 1.88.0.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Wrap client initialization and each test step in explicit timeouts so a stalled light client fails fast and names the stuck step, instead of hanging until the CI job timeout cancels it with no output. Initialise a tracing subscriber driven by RUST_LOG so smoldot and subxt logs are attached to failures. On the CI side, run only the `light_client` tests with `--nocapture` under RUST_LOG, and raise the flaky lightclient job timeout from 10 to 15 minutes to accommodate warp sync. Also normalise some YAML indentation and trailing whitespace in the workflow.
DenzelPenzel
force-pushed
the
denzelpenzel/upgrade-smoldot
branch
2 times, most recently
from
July 10, 2026 13:56
1cd6caa to
3bd1ac0
Compare
The newer clippy (Rust 1.97) surfaces additional lints on this branch: - collapsible_if: collapse nested if / if-let into let-chains (metadata, lightclient background, rpcs mock client, chain_head, follow_stream_unpin) - needless_borrow: drop unnecessary & in format args (cli diff, rpcs UserError Display, eth signer test) - manual_is_multiple_of: use is_multiple_of in seed_from_entropy - unused_imports: drop unused subxt_test in light_client test
DenzelPenzel
force-pushed
the
denzelpenzel/upgrade-smoldot
branch
from
July 10, 2026 14:37
3bd1ac0 to
1425ffd
Compare
lexnv
reviewed
Jul 20, 2026
| return decode_runtime_metadata(input); | ||
| } | ||
| if let Ok(len) = codec::Compact::<u64>::decode(&mut &*input) | ||
| && input.len() == len.0 as usize |
lexnv
reviewed
Jul 20, 2026
| /// Run one check against [`CHECK_TIMEOUT`], panicking with the step name if it fails | ||
| /// or times out, so that a stalled light client fails quickly and names the stuck | ||
| /// step instead of hanging until the CI job timeout cancels it without any output. | ||
| async fn run_check(step: &str, fut: impl std::future::Future<Output = Result<(), subxt::Error>>) { |
lexnv
reviewed
Jul 20, 2026
| // .unwrap(); | ||
| // let chain_config = chainspec.get(); | ||
|
|
||
| // Surface smoldot and subxt logs when RUST_LOG is set (eg in CI), so that |
Collaborator
There was a problem hiding this comment.
Amazing! This is exactly what we need to capture those issues 🙏
lexnv
approved these changes
Jul 20, 2026
lexnv
left a comment
Collaborator
There was a problem hiding this comment.
Thanks @DenzelPenzel for tackling this! Great step in the right direction 🙏
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Impl #2247
Upgrades the light client stack and hardens the light client integration tests.
smoldot1.1.0 → 2.1.0 andsmoldot-light1.1.0 → 1.3.1.rust-version1.85.0 → 1.88.0 (required by the newer smoldot).RUST_LOG-driven tracing subscriber so smoldot/subxt logs are attached to failures.