Pin the toolchain to Rust 1.87
The Windows UI needs winsafe, whose current release requires rustc 1.87. The alternative was pinning winsafe back to an older release, which would bake a stale API surface into a brand-new UI permanently to dodge one minor version. The pin's purpose is to sit BELOW the Mac default so clippy drift is caught locally before CI, not to stay on 1.86 specifically, so 1.87 preserves the discipline exactly. Verified before moving anything, not after: `cargo +1.87 clippy -- -D warnings` and `cargo +1.87 fmt --check` are clean across all eight repos, and the full precommit gate (fmt + clippy + tests) passes on libfreemkv, autorip, bdemu, freemkv-engine and freemkv-keysources. Zero new lints, zero formatting drift.
This commit is contained in:
@@ -10,7 +10,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- uses: dtolnay/rust-toolchain@1.86.0
|
- uses: dtolnay/rust-toolchain@1.87.0
|
||||||
with:
|
with:
|
||||||
components: clippy, rustfmt
|
components: clippy, rustfmt
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
@@ -25,7 +25,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- uses: dtolnay/rust-toolchain@1.86.0
|
- uses: dtolnay/rust-toolchain@1.87.0
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- run: cargo test --tests
|
- run: cargo test --tests
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ jobs:
|
|||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- uses: dtolnay/rust-toolchain@1.86.0
|
- uses: dtolnay/rust-toolchain@1.87.0
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
- run: cargo check
|
- run: cargo check
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ jobs:
|
|||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- uses: dtolnay/rust-toolchain@1.86.0
|
- uses: dtolnay/rust-toolchain@1.87.0
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
# Build the tests (not just `cargo check`): catches errors in test
|
# Build the tests (not just `cargo check`): catches errors in test
|
||||||
# code and forces full codegen of the Windows-only SPTI transport
|
# code and forces full codegen of the Windows-only SPTI transport
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ jobs:
|
|||||||
|
|
||||||
# Tests run as a PARALLEL TRIPWIRE: they fail the run if they fail, but the
|
# Tests run as a PARALLEL TRIPWIRE: they fail the run if they fail, but the
|
||||||
# publish/release jobs do NOT `needs:` this job. The tag decision was already
|
# publish/release jobs do NOT `needs:` this job. The tag decision was already
|
||||||
# gated by the local precommit (same Rust 1.86, same commit). Binary consumers
|
# gated by the local precommit (same Rust 1.87, same commit). Binary consumers
|
||||||
# (freemkv/autorip/bdemu) git-tag-pin libfreemkv and therefore start building
|
# (freemkv/autorip/bdemu) git-tag-pin libfreemkv and therefore start building
|
||||||
# the instant this tag exists — so this test job and the crates.io publish
|
# the instant this tag exists — so this test job and the crates.io publish
|
||||||
# below must NOT sit on their critical path.
|
# below must NOT sit on their critical path.
|
||||||
@@ -33,7 +33,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- uses: dtolnay/rust-toolchain@1.86.0
|
- uses: dtolnay/rust-toolchain@1.87.0
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
# libfreemkv is a library — Cargo.lock isn't tracked, so --locked
|
# libfreemkv is a library — Cargo.lock isn't tracked, so --locked
|
||||||
# would always fail (no lockfile to lock against on a fresh runner).
|
# would always fail (no lockfile to lock against on a fresh runner).
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
name = "libfreemkv"
|
name = "libfreemkv"
|
||||||
version = "1.6.0"
|
version = "1.6.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
rust-version = "1.86"
|
rust-version = "1.87"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
description = "Open source raw disc access library for optical drives"
|
description = "Open source raw disc access library for optical drives"
|
||||||
repository = "https://github.com/freemkv/libfreemkv"
|
repository = "https://github.com/freemkv/libfreemkv"
|
||||||
|
|||||||
Reference in New Issue
Block a user