Skip to content

fix: align minimum Rust requirements - #160

Merged
loonghao merged 4 commits into
mainfrom
agent/fix-fpt-msrv-floor
Oct 17, 2026
Merged

loonghao merged 4 commits into
mainfrom
agent/fix-fpt-msrv-floor

Conversation

@loonghao

@loonghao loonghao commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

Declare Rust 1.88 to match the locked dependencies and run minimum-version checks and tests on Linux, macOS and Windows. Simplify checkpoint, filter and fixture guards, and align the English and Chinese source-build requirements.

Validation: three-platform tests, all three Rust 1.88 jobs, formatting, Clippy and four target builds passed.

Summary by CodeRabbit

  • Documentation
    • Clarified that building from source requires Rust 1.88.0 or newer, while prebuilt release binaries do not require Rust.
    • Documented that minimum-version checks cover Linux, macOS, and Windows.
  • Chores
    • Added CI checks for workspace builds and tests using the declared minimum Rust version across Linux, macOS, and Windows.

@coderabbitai

coderabbitai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6dd19835-0868-4157-992f-628e858f06e4
📥 Commits

Reviewing files that changed from the base of the PR and between 2a8fc72 and 5354540.

📒 Files selected for processing: 7
  • .github/workflows/ci.yml
  • Cargo.toml
  • README.md
  • README_zh.md
  • crates/fpt-domain/src/app/batch.rs
  • crates/fpt-domain/src/app/find.rs
  • crates/fpt-domain/tests/batch_upsert_checkpoint_tests.rs

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

The workspace minimum Rust version changes to 1.88.0. A new CI job runs locked workspace checks and tests at that version on Linux, macOS, and Windows. Several application and test conditionals are rewritten as let-chains without changing their described behavior.

Changes: Rust minimum version and compatibility

Layer / File(s) Summary
Minimum Rust version and CI validation
Cargo.toml, .github/workflows/ci.yml, README.md, README_zh.md
The workspace minimum changes to Rust 1.88.0. The CI job reads and validates this version, installs it, and runs locked checks and tests across Linux, macOS, and Windows. Both README files describe the source-build minimum and platform coverage.
Let-chain conditional refactors
crates/fpt-domain/src/app/batch.rs, crates/fpt-domain/src/app/find.rs, crates/fpt-domain/tests/batch_upsert_checkpoint_tests.rs
Checkpoint loading and writing, search-filter normalization, and a test lookup replace nested conditionals with let-chains. The described conditions and results remain unchanged.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Sequence Diagram(s)

sequenceDiagram
  participant MSRV as msrv job
  participant Manifest as workspace Cargo.toml
  participant Rustup as runner rustup
  participant Cargo as cargo
  MSRV->>Manifest: Read rust-version
  MSRV->>Rustup: Install the validated version
  MSRV->>Cargo: Run locked workspace checks and tests
Loading
Merge Risk: ⚪ Minimal · up to 53545

The Rust 1.88.0 minimum is configured for checks and tests on Linux, macOS, and Windows. No material merge risk is evident from the reviewed changes.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 3 files. (4 skipped: 4… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly summarizes the main change: aligning the project’s minimum Rust version requirements across configuration, CI, and documentation.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 3 files. (4 skipped: 4 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

  • Fix all pre-merge checks with AI
✨ Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@loonghao
loonghao marked this pull request as ready for review October 17, 2026 17:16
@loonghao
loonghao merged commit 5354540 into main Oct 17, 2026
14 checks passed
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.

1 participant