Skip to content

Comments

ci: pin nightly to 2026-01-10 (foundry-rs#13055) #324

Merged
Dargon789 merged 4 commits intoDargon789:hardhat-projectfrom
foundry-rs:master
Jan 12, 2026
Merged

ci: pin nightly to 2026-01-10 (foundry-rs#13055) #324
Dargon789 merged 4 commits intoDargon789:hardhat-projectfrom
foundry-rs:master

Conversation

@Dargon789
Copy link
Owner

@Dargon789 Dargon789 commented Jan 12, 2026

Motivation

Solution

PR Checklist

Summary by Sourcery

Pin Rust nightly toolchain in CI and docs workflows and update evm-disassembler dependency to the latest compatible version.

Enhancements:

  • Update evm-disassembler dependency from 0.5 to 0.6 to use the newer release.

Build:

  • Pin Rust nightly toolchain in CI workflows to nightly-2026-01-10 for clippy and rustfmt.
  • Pin Rust nightly toolchain in docs workflow to nightly-2026-01-10 for reproducible builds.

mattsse and others added 4 commits January 12, 2026 08:22
Pin nightly toolchain to 2026-01-10 to fix CI compilation failures with the current nightly.

See alloy-rs/alloy#3500
flake.lock: Update

Flake lock file updates:

• Updated input 'fenix':
    'github:nix-community/fenix/e2b0f06' (2026-01-03)
  → 'github:nix-community/fenix/334c4b4' (2026-01-10)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/e19dfc8' (2026-01-02)
  → 'github:rust-lang/rust-analyzer/714d047' (2026-01-09)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/16c7794' (2026-01-02)
  → 'github:NixOS/nixpkgs/3146c6a' (2026-01-10)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: grandizzy <[email protected]>
Updating git repository `https://github.com/rust-cli/rexpect`
    Updating git repository `https://github.com/paradigmxyz/solar.git`
    Skipping git submodule `https://github.com/argotorg/solidity.git` due to update strategy in .gitmodules
    Updating git repository `https://github.com/tempoxyz/tempo`
    Updating git repository `https://github.com/paradigmxyz/reth`
     Locking 42 packages to latest compatible versions
    Updating alloy-chains v0.2.24 -> v0.2.25
    Updating alloy-trie v0.9.2 -> v0.9.3
    Updating annotate-snippets v0.12.5 -> v0.12.10
    Updating anstyle-svg v0.1.11 -> v0.1.12
    Updating async-compression v0.4.36 -> v0.4.37
    Updating bon v3.8.1 -> v3.8.2
    Updating bon-macros v3.8.1 -> v3.8.2
    Updating cc v1.2.51 -> v1.2.52
    Updating clap_complete v4.5.64 -> v4.5.65
    Updating compression-codecs v0.4.35 -> v0.4.36
    Updating data-encoding v2.9.0 -> v2.10.0
    Updating evmole v0.8.1 -> v0.8.2
    Updating find-msvc-tools v0.1.6 -> v0.1.7
   Unchanged generic-array v0.14.7 (available: v0.14.9)
    Updating h2 v0.4.12 -> v0.4.13
   Unchanged icu_collections v2.0.0 (available: v2.1.1)
   Unchanged icu_normalizer v2.0.1 (available: v2.1.1)
   Unchanged icu_normalizer_data v2.0.0 (available: v2.1.1)
   Unchanged icu_properties v2.0.2 (available: v2.1.2)
   Unchanged icu_properties_data v2.0.1 (available: v2.1.2)
   Unchanged idna_adapter v1.1.0 (available: v1.2.1)
    Updating indexmap v2.12.1 -> v2.13.0
    Updating jiff v0.2.17 -> v0.2.18
    Updating jiff-static v0.2.17 -> v0.2.18
    Updating libc v0.2.179 -> v0.2.180
   Unchanged matchit v0.8.4 (available: v0.8.6)
   Unchanged mdbook v0.4.52 (available: v0.5.2)
    Updating nybbles v0.4.6 -> v0.4.7
    Updating proc-macro2 v1.0.104 -> v1.0.105
    Updating prost v0.14.1 -> v0.14.3
    Updating prost-derive v0.14.1 -> v0.14.3
    Updating prost-types v0.14.1 -> v0.14.3
    Updating quote v1.0.42 -> v1.0.43
   Unchanged rand v0.8.5 (available: v0.9.2)
    Updating rapidhash v4.2.0 -> v4.2.1
   Unchanged reqwest v0.12.28 (available: v0.13.1)
    Updating rustls v0.23.35 -> v0.23.36
    Updating serde_json v1.0.148 -> v1.0.149
    Updating snapbox v0.6.23 -> v0.6.24
    Updating svm-rs v0.5.22 -> v0.5.23
    Updating svm-rs-builds v0.5.22 -> v0.5.23
    Updating syn v2.0.113 -> v2.0.114
    Updating tokio-stream v0.1.17 -> v0.1.18
    Updating tokio-util v0.7.17 -> v0.7.18
    Updating toml v0.9.10+spec-1.1.0 -> v0.9.11+spec-1.1.0
    Updating tracy-client v0.18.3 -> v0.18.4
    Updating tracy-client-sys v0.27.0 -> v0.28.0
    Updating unicase v2.8.1 -> v2.9.0
    Updating unicode-width v0.2.0 -> v0.2.2
    Updating url v2.5.7 -> v2.5.8
   Unchanged vergen v8.3.2 (available: v9.0.6)
    Updating zerocopy v0.8.31 -> v0.8.33
    Updating zerocopy-derive v0.8.31 -> v0.8.33
    Updating zmij v1.0.9 -> v1.0.12
note: to see how you depend on a package, run `cargo tree --invert <dep>@<ver>`

Co-authored-by: mattsse <[email protected]>
Co-authored-by: grandizzy <[email protected]>
@codesandbox
Copy link

codesandbox bot commented Jan 12, 2026

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@sourcery-ai
Copy link

sourcery-ai bot commented Jan 12, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Pins all GitHub Actions CI and docs workflows to Rust nightly-2026-01-10 and bumps the evm-disassembler crate to 0.6, updating lockfiles accordingly.

File-Level Changes

Change Details Files
Pin Rust nightly toolchain version in CI workflows for build, test, and docs jobs.
  • Update the Rust toolchain specification in the main CI workflow to use nightly-2026-01-10 for clippy runs.
  • Update the Rust toolchain specification in the main CI workflow to use nightly-2026-01-10 for rustfmt runs.
  • Update the Rust toolchain specification in the docs workflow to use nightly-2026-01-10 for documentation builds.
.github/workflows/ci.yml
.github/workflows/docs.yml
Upgrade evm-disassembler dependency and refresh lockfiles.
  • Bump the evm-disassembler crate version from 0.5 to 0.6 in the workspace manifest.
  • Regenerate Cargo.lock to reflect the new evm-disassembler version and any transitive dependency updates.
  • Update flake.lock to align Nix inputs with the new Rust dependency set and toolchain state.
Cargo.toml
Cargo.lock
flake.lock

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@vercel
Copy link

vercel bot commented Jan 12, 2026

@ckoopmann is attempting to deploy a commit to the Foundry development Team on Vercel.

A member of the Team first needs to authorize it.

@snyk-io
Copy link

snyk-io bot commented Jan 12, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@gemini-code-assist
Copy link

Summary of Changes

Hello @Dargon789, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a significant maintenance effort to stabilize the project's continuous integration environment. It achieves this by updating a wide array of Rust dependencies and pinning the Nix flake inputs to specific, newer revisions. The primary goal is to ensure consistent and predictable builds by fixing the Rust nightly toolchain to a particular date, mitigating potential breaking changes from newer nightly releases.

Highlights

  • Dependency Updates: Numerous Rust dependencies have been updated to their latest patch or minor versions in Cargo.lock and Cargo.toml. Key updates include alloy-chains to 0.2.25, indexmap to 2.13.0, syn to 2.0.114, toml to 0.9.11, prost to 0.14.3, and evm-disassembler to 0.6.0.
  • Nix Flake Pinning: The flake.lock file has been updated to pin the fenix, nixpkgs, and rust-analyzer inputs to newer revisions, aligning the development environment with the specified nightly toolchain.
  • CI Stability: This pull request explicitly pins the CI nightly toolchain to 2026-01-10, aiming to ensure build stability and compatibility by fixing the Rust toolchain version used in continuous integration workflows.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/ci.yml
    • .github/workflows/docs.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've found 1 issue, and left some high level feedback:

  • Consider extracting the pinned Rust nightly version into a single reusable location (e.g., a workflow-level env variable or a shared workflow) so it’s easier to keep all jobs in sync when this needs updating again.
  • The lockfile updates (Cargo.lock/flake.lock) look like full regenerations; if only evm-disassembler was intended to change, you may want to confirm the lockfile diff is minimal or call out any other dependency updates that were pulled in as a side effect.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Consider extracting the pinned Rust nightly version into a single reusable location (e.g., a workflow-level env variable or a shared workflow) so it’s easier to keep all jobs in sync when this needs updating again.
- The lockfile updates (Cargo.lock/flake.lock) look like full regenerations; if only evm-disassembler was intended to change, you may want to confirm the lockfile diff is minimal or call out any other dependency updates that were pulled in as a side effect.

## Individual Comments

### Comment 1
<location> `.github/workflows/ci.yml:87` </location>
<code_context>
       - uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
         with:
-          toolchain: nightly
+          toolchain: nightly-2026-01-10
           components: clippy
       - uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878 # v1
</code_context>

<issue_to_address>
**suggestion:** Consider centralizing the nightly toolchain version to avoid duplication across jobs.

`nightly-2026-01-10` is hard-coded in multiple jobs (clippy, fmt, docs). Centralizing this in a shared `env:` value, workflow-level input, or reusable workflow would reduce duplication and ensure you only update it in one place when bumping the version.

Suggested implementation:

```
env:
  RUST_NIGHTLY_TOOLCHAIN: nightly-2026-01-10

jobs:

```

```
      - uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
        with:
          toolchain: ${{ env.RUST_NIGHTLY_TOOLCHAIN }}
          components: clippy

```

```
      - uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
        with:
          toolchain: ${{ env.RUST_NIGHTLY_TOOLCHAIN }}
          components: rustfmt

```

Search the rest of `.github/workflows/ci.yml` for any additional `toolchain: nightly-2026-01-10` occurrences (e.g. in docs or other jobs) and replace them with `toolchain: ${{ env.RUST_NIGHTLY_TOOLCHAIN }}` in the same way. This will fully centralize the nightly toolchain version.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@Dargon789 Dargon789 merged commit ddf620b into Dargon789:hardhat-project Jan 12, 2026
3 of 7 checks passed
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request aims to update dependencies and pin the Rust nightly toolchain for CI. The update to evm-disassembler and the resulting changes in Cargo.lock appear to be in order.

However, there are several critical issues in flake.lock that need to be addressed. The pinned revisions for fenix, nixpkgs, and rust-analyzer-src do not seem to correspond to publicly available commits in their respective repositories. This will break the build for developers using Nix and undermines the goal of reproducible builds.

Furthermore, the PR title and description indicate that the Rust nightly toolchain is being pinned to nightly-2026-01-10. If this is indeed the case, this toolchain version is not valid and will cause CI failures. This seems to be a typo and should be corrected to a valid nightly toolchain date.

Please see the detailed comments for the required changes in flake.lock.

@Dargon789 Dargon789 linked an issue Jan 12, 2026 that may be closed by this pull request
@vercel
Copy link

vercel bot commented Jan 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
next Ready Ready Preview, Comment Jan 13, 2026 0:49am
react Ready Ready Preview, Comment Jan 13, 2026 0:49am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants