Skip to content

build: upgrade to Rust v1.91.0#1318

Merged
Wodann merged 2 commits into
mainfrom
build/rust-1.91.0
Mar 3, 2026
Merged

build: upgrade to Rust v1.91.0#1318
Wodann merged 2 commits into
mainfrom
build/rust-1.91.0

Conversation

@Wodann

@Wodann Wodann commented Mar 3, 2026

Copy link
Copy Markdown
Member

Upgraded to Rust v1.91.0.

This is a prerequisite for #1301 to be able to upgrade to a newer version of revm-inspectors due to a transitive dependency on alloy crates which increased the minimal Rust version to v1.91.

@Wodann Wodann self-assigned this Mar 3, 2026
@Wodann Wodann added the no changeset needed This PR doesn't require a changeset label Mar 3, 2026
@changeset-bot

changeset-bot Bot commented Mar 3, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: a41cad0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Upgrades the repository’s pinned Rust toolchain to v1.91.0 (as a prerequisite for subsequent dependency upgrades), with small follow-up tweaks to keep the codebase and lint configuration compatible.

Changes:

  • Bump rust-toolchain channel from 1.89.0 to 1.91.0.
  • Replace a modulo-based divisibility check with is_multiple_of in the mempool fee calculation.
  • Simplify LoggingState’s default implementation via #[derive(Default)], and remove a clippy lint entry (string_to_string) from workspace lint config.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
rust-toolchain Pins the workspace to Rust 1.91.0.
crates/mem_pool/src/lib.rs Uses is_multiple_of for divisibility in min_new_fee.
crates/edr_napi_core/src/logger.rs Switches LoggingState defaulting to derive-based enum default.
Cargo.toml Removes the string_to_string clippy lint configuration entry.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Wodann Wodann had a problem deploying to github-action-benchmark March 3, 2026 17:25 — with GitHub Actions Error
@Wodann Wodann had a problem deploying to github-action-benchmark March 3, 2026 17:25 — with GitHub Actions Error
@Wodann Wodann temporarily deployed to github-action-benchmark March 3, 2026 17:36 — with GitHub Actions Inactive
@Wodann Wodann temporarily deployed to github-action-benchmark March 3, 2026 17:38 — with GitHub Actions Inactive
@Wodann Wodann had a problem deploying to github-action-benchmark March 3, 2026 17:38 — with GitHub Actions Failure
@codecov

codecov Bot commented Mar 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.73%. Comparing base (1e40d8e) to head (a41cad0).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1318      +/-   ##
==========================================
- Coverage   73.74%   73.73%   -0.02%     
==========================================
  Files         445      445              
  Lines       75859    75860       +1     
  Branches    75859    75860       +1     
==========================================
- Hits        55940    55933       -7     
- Misses      17867    17875       +8     
  Partials     2052     2052              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@anaPerezGhiglia anaPerezGhiglia left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This PR made me realize that we are using the rust-toolchain file only for devcontainers. All the CI actions either default on stable or directly set nightly. I think we should fix the version for CI actions. WDYT?

I'm approving this PR since my comment goes beyond the scope of this PR

@Wodann

Wodann commented Mar 3, 2026

Copy link
Copy Markdown
Member Author

This PR made me realize that we are using the rust-toolchain file only for devcontainers. All the CI actions either default on stable or directly set nightly. I think we should fix the version for CI actions. WDYT?

When any Rust compiler is run in a workspace that has a rust-toolchain file, it automatically downloads and uses that version. As such, CI should already be using the version specified in the rust-toolchain file.

See https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file

@Wodann Wodann had a problem deploying to github-action-benchmark March 3, 2026 20:46 — with GitHub Actions Failure
@Wodann Wodann added this pull request to the merge queue Mar 3, 2026
@anaPerezGhiglia

Copy link
Copy Markdown
Contributor

Oh, I wasn't aware of that, nice!

I double checked on the action we are using, and it supports this

All inputs are optional. If a toolchain file (i.e., rust-toolchain or rust-toolchain.toml) is found in the root of the repository and no toolchain value is provided, all items specified in the toolchain file will be installed. If a toolchain value is provided, the toolchain file will be ignored. If no toolchain value or toolchain file is present, it will default to stable

However, on release workflow we are using another action, and we are specifying toolchain: stable. In that same workflow, we are also installing rust "manually" and also setting --default-toolchain stable. We should change this workflow so we make sure we run everything with the same version.

Merged via the queue into main with commit dc22e19 Mar 3, 2026
51 of 54 checks passed
@Wodann Wodann deleted the build/rust-1.91.0 branch March 3, 2026 21:24
@Wodann

Wodann commented Mar 3, 2026

Copy link
Copy Markdown
Member Author

However, on release workflow we are using another action, and we are specifying toolchain: stable. In that same workflow, we are also installing rust "manually" and also setting --default-toolchain stable. We should change this workflow so we make sure we run everything with the same version.

I had a look to see whether this prevents the rust toolchain from rust-toolchain from being installed, which is not the case (see source):

I do agree we could make this more efficient, as what's happening now is:

  1. The release GH action installs the "latest" toolchain because we don't leave the toolchain CLI argument empty
  2. When cargo is run, it installs the cargo version from rust-toolchain

which consumes more bandwidth, memory, and time than needed.

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Jun 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no changeset needed This PR doesn't require a changeset

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants