Skip to content

build: pin Rust toolchain version via rust-toolchain.toml - #126

Merged
23prime merged 4 commits into
mainfrom
feature/125-pin-rust-toolchain-version
Aug 24, 2026
Merged

23prime merged 4 commits into
mainfrom
feature/125-pin-rust-toolchain-version

Conversation

@23prime

@23prime 23prime commented Aug 24, 2026 •

Copy link
Copy Markdown
Owner

Checklist

  • Target branch is main
  • Status checks are passing

Summary

Closes #125

Reason for change

Rust had no pinned version in this repo (not managed via mise, and no rust-toolchain.toml), so a stale local rustup stable channel could drift below what dependencies require. This broke mise run rs-check locally with:

error: rustc 1.93.0 is not supported by the following packages:
  serial_test@4.0.1 requires rustc 1.93.1
  serial_test_derive@4.0.1 requires rustc 1.93.1

Changes

  • Add rust-toolchain.toml pinning channel = "1.98.0" with components = ["rustfmt", "clippy"]
  • Remove the now-redundant components: rustfmt, clippy input from check-rust.yml's setup-rust-toolchain step, since it now picks up components from the toolchain file

Notes

None

markdownlint-cli2 is an npm-backend mise tool that requires node@26 as
a configured install dependency, but check-markdown.yml only listed
markdownlint-cli2 in install_args, so node was never installed and the
mise install step failed.
…node-dependency

fix: add node install dependency for markdownlint-cli2 in CI
Rust had no pinned version, so a stale local rustup `stable` could
drift below what dependencies require (e.g. serial_test needing a
newer rustc than installed), breaking `mise run rs-check` locally.

Pinning also lets `check-rust.yml` drop its own `components` input,
since setup-rust-toolchain now picks them up from the toolchain file.
@coderabbitai

coderabbitai Bot commented Aug 24, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 83820ed1-accf-48c7-9a32-3d278e86e7c4

📥 Commits

Reviewing files that changed from the base of the PR and between cb74af9 and b27b12a.

📒 Files selected for processing (3)
  • .github/workflows/check-markdown.yml
  • .github/workflows/check-rust.yml
  • rust-toolchain.toml
💤 Files with no reviewable changes (1)
  • .github/workflows/check-rust.yml

Included review availability: 3 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.


📝 Walkthrough

Walkthrough

The repository pins Rust to version 1.98.0 with rustfmt and clippy. The Rust workflow relies on this configuration. The Markdown workflow installs Node.js with markdownlint-cli2.

Changes

Toolchain and CI setup

Layer / File(s) Summary
Pin the Rust toolchain
rust-toolchain.toml
The repository selects Rust 1.98.0 and enables the rustfmt and clippy components.
Align workflow installations
.github/workflows/check-rust.yml, .github/workflows/check-markdown.yml
The Rust workflow removes explicit component installation. The Markdown workflow installs Node.js with markdownlint-cli2.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to b27b1

The PR pins the Rust toolchain and aligns the related checks with that pin. No actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The check-markdown.yml Node.js installation change is unrelated to the Rust requirements in issue #125. Remove the unrelated check-markdown.yml change or link an issue that requires the Node.js installation update.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The Rust changes satisfy issue #125 by adding the pinned toolchain and required rustfmt and clippy components.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)
Description check ✅ Passed The description explains the Rust toolchain pin, component configuration, CI change, and reason for the change.
Title check ✅ Passed The title clearly and concisely describes the main change: pinning the Rust toolchain with rust-toolchain.toml.
✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch feature/125-pin-rust-toolchain-version

Comment @coderabbitai help to get the list of available commands.

@23prime
23prime merged commit d1efdfb into main Aug 24, 2026
8 checks passed
@23prime
23prime deleted the feature/125-pin-rust-toolchain-version branch August 24, 2026 11:35
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.

Failed to check for Rust

1 participant