Skip to content

chore: Upgrade smoldot to 2.1.0#2248

Merged
lexnv merged 3 commits into
masterfrom
denzelpenzel/upgrade-smoldot
Jul 20, 2026
Merged

chore: Upgrade smoldot to 2.1.0#2248
lexnv merged 3 commits into
masterfrom
denzelpenzel/upgrade-smoldot

Conversation

@DenzelPenzel

@DenzelPenzel DenzelPenzel commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Impl #2247

Upgrades the light client stack and hardens the light client integration tests.

  • Bump smoldot 1.1.0 → 2.1.0 and smoldot-light 1.1.0 → 1.3.1.
  • Raise the workspace rust-version 1.85.0 → 1.88.0 (required by the newer smoldot).
  • Harden the light client integration tests: wrap client initialization and each step in explicit timeouts so a stalled light client fails fast and names the stuck step, and initialise a RUST_LOG-driven tracing subscriber so smoldot/subxt logs are attached to failures.

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.
@DenzelPenzel
DenzelPenzel requested a review from a team as a code owner July 10, 2026 12:01
@socket-security

socket-security Bot commented Jul 10, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedcargo/​smoldot@​0.20.0 ⏵ 2.1.0591009310070
Updatedcargo/​smoldot-light@​0.18.0 ⏵ 1.3.198 -11009310070

View full report

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
DenzelPenzel force-pushed the denzelpenzel/upgrade-smoldot branch 2 times, most recently from 1cd6caa to 3bd1ac0 Compare July 10, 2026 13:56
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
DenzelPenzel force-pushed the denzelpenzel/upgrade-smoldot branch from 3bd1ac0 to 1425ffd Compare July 10, 2026 14:37
@DenzelPenzel
DenzelPenzel requested a review from lexnv July 14, 2026 10:53
Comment thread metadata/src/lib.rs
return decode_runtime_metadata(input);
}
if let Ok(len) = codec::Compact::<u64>::decode(&mut &*input)
&& input.len() == len.0 as usize

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

/// 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>>) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: run_with_timeout

// .unwrap();
// let chain_config = chainspec.get();

// Surface smoldot and subxt logs when RUST_LOG is set (eg in CI), so that

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing! This is exactly what we need to capture those issues 🙏

@lexnv lexnv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @DenzelPenzel for tackling this! Great step in the right direction 🙏

@lexnv
lexnv merged commit 2cb6c76 into master Jul 20, 2026
283 of 288 checks passed
@lexnv
lexnv deleted the denzelpenzel/upgrade-smoldot branch July 20, 2026 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants