ci: pin nightly to 2026-01-10 (foundry-rs#13055) #324
ci: pin nightly to 2026-01-10 (foundry-rs#13055) #324Dargon789 merged 4 commits intoDargon789:hardhat-projectfrom
Conversation
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]>
Review or Edit in CodeSandboxOpen the branch in Web Editor • VS Code • Insiders |
Reviewer's guide (collapsed on small PRs)Reviewer's GuidePins 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
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
@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 checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
Summary of ChangesHello @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
Ignored Files
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
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>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
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.
Motivation
Solution
PR Checklist
7c9ed07
0d5f00e
305356a
588e342
Summary by Sourcery
Pin Rust nightly toolchain in CI and docs workflows and update evm-disassembler dependency to the latest compatible version.
Enhancements:
Build: