Skip to content

build(msrv): move brush-interactive and brush[-shell] MSRV to 1.95, leave others as is - #1368

Merged
reubeno merged 1 commit into
mainfrom
msrv
Sep 11, 2026
Merged

reubeno merged 1 commit into
mainfrom
msrv

Conversation

@reubeno

@reubeno reubeno commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Leaves the workspace-wide rust-version at 1.88.0, for the benefit of our most commonly emebedded library crates (brush-core, brush-parser, brush-builtins, et al.). brush, brush-shell, brush-interactive, and brush-fuzz now move to 1.95.0 on their own. This allows them to raise their MSRVs independently in order to benefit from newer front-end dependencies like reedline.

To make this all work out without requiring xtask to also move forward, we also decouple it from brush-shell. (It previously had a dependency on the latter for help content generation. We now indirect through a gen` example in brush-shell.)

Assisted-By: Claude Opus 5

@reubeno
reubeno requested a balanced review from Copilot September 11, 2026 16:54
@reubeno reubeno changed the title build(msrv): let application-tier crates move ahead of the workspace MSRV build(msrv): move brush-interactive and brush[-shell] MSRV to 1.95, leave others as is Sep 11, 2026

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.

🟡 Changes recommended

The new policy conflicts with the immediate speculative MSRV increase, and the upgrade guide misstates Cargo behavior and dependency direction.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Separates application-tier MSRVs from the embeddable library crates and decouples xtask from brush-shell.

Changes:

  • Sets application-tier crates to Rust 1.95.0.
  • Dynamically excludes higher-MSRV crates from MSRV CI builds.
  • Moves artifact generation into a brush-shell example.
File summaries
File Description
xtask/src/generate.rs Delegates generation to the new example.
xtask/src/ci.rs Adapts build-check construction.
xtask/src/check.rs Adds MSRV-aware workspace exclusions.
xtask/Cargo.toml Removes shell and generation dependencies.
fuzz/Cargo.toml Sets application-tier MSRV.
docs/reference/msrv-policy.md Documents the tiered policy.
docs/how-to/upgrade-msrv.md Documents upgrade procedures.
Cargo.lock Relocates generation dependencies.
brush/Cargo.toml Sets application-tier MSRV.
brush-shell/examples/gen.rs Implements artifact generation.
brush-shell/Cargo.toml Registers generator and dependencies.
brush-interactive/Cargo.toml Sets application-tier MSRV.
.github/workflows/ci.yaml Configures MSRV build arguments.
.github/copilot-instructions.md Updates contributor guidance.
Review details
  • Files reviewed: 13/14 changed files
  • Comments generated: 2
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/how-to/upgrade-msrv.md
Comment thread docs/reference/msrv-policy.md
@github-actions

github-actions Bot commented Sep 11, 2026

Copy link
Copy Markdown

Test Results

    5 files     49 suites   21m 36s ⏱️
2 949 tests 2 949 ✅ 0 💤 0 ❌
9 145 runs  9 145 ✅ 0 💤 0 ❌

Results for commit aa848b0.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Sep 11, 2026

Copy link
Copy Markdown

Performance Benchmark Report

Code Coverage Report: Only Changed Files listed

Package Base Coverage New Coverage Difference
brush-core/src/results.rs 🟢 80.62% 🟢 83.72% 🟢 3.1%
brush-test-harness/src/comparison.rs 🟢 80.13% 🟢 83.97% 🟢 3.84%
brush-test-harness/src/execution.rs 🟢 80.2% 🟢 83.17% 🟢 2.97%
brush-test-harness/src/reporting.rs 🔴 11.62% 🔴 46.48% 🟢 34.86%
brush-test-harness/src/runner.rs 🟢 83.98% 🟢 84.58% 🟢 0.6%
brush-test-harness/src/util.rs 🔴 47.76% 🟠 71.64% 🟢 23.88%
Overall Coverage 🟢 76.4% 🟢 76.83% 🟢 0.43%

Minimum allowed coverage is 70%, this run produced 76.83%
Maximum allowed coverage difference is -5%, this run produced 0.43%

Test Summary: bash-completion test suite

Outcome Count Percentage
✅ Pass 1588 75.30
❗️ Error 17 0.81
❌ Fail 150 7.11
⏩ Skip 339 16.07
❎ Expected Fail 13 0.62
✔️ Unexpected Pass 2 0.09
📊 Total 2109 100.00

@reubeno
reubeno marked this pull request as ready for review September 11, 2026 17:01
…MSRV

Leaves the workspace-wide `rust-version` at 1.88.0, for the benefit of our
most commonly emebedded library crates (brush-core, brush-parser,
brush-builtins, et al.). brush, brush-shell, brush-interactive, and brush-fuzz
now move to 1.95.0 on their own. This allows them to raise their MSRVs
independently in order to benefit from newer front-end dependencies like
reedline.

To make this all work out without requiring `xtask` to also move
forward, we also decouple it from `brush-shell. (It previously had a
dependency on the latter for help content generation. We now indirect
through a `gen` example in brush-shell.)

Assisted-By: Claude Opus 5
@reubeno
reubeno merged commit 335da7f into main Sep 11, 2026
52 checks passed
@reubeno
reubeno deleted the msrv branch September 11, 2026 22:51
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.

2 participants