diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7cc4785..782b4fd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,9 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - - uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable channel, 2026-09-22 - with: - components: rustfmt + # The version is `rust-toolchain.toml` and nothing else. `rustup toolchain + # install` with no argument reads that file, so there is one place to bump + # and no way for CI to test a version the working tree does not. Installing + # the floating `stable` channel instead is what reddened a green main on + # 2026-10-01: rustc 1.99.0 sharpened a clippy lint and no commit had changed. + - name: Install the pinned toolchain + run: rustup toolchain install - name: Check formatting run: cargo fmt --all --check @@ -30,9 +34,8 @@ jobs: # fonts-dejavu-core: font *files*, not just the libraries. A bare runner has none, # and usvg silently drops an 's when no face resolves. run: sudo apt-get update && sudo apt-get install -y libfontconfig1-dev libfreetype6-dev libxkbcommon-x11-dev libwayland-dev libxcb-cursor-dev libasound2-dev fonts-dejavu-core - - uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable channel, 2026-09-22 - with: - components: clippy + - name: Install the pinned toolchain + run: rustup toolchain install - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Clippy # `--features rustmotion/studio` n'est pas décoratif : le studio est @@ -53,7 +56,8 @@ jobs: # fonts-dejavu-core: font *files*, not just the libraries. A bare runner has none, # and usvg silently drops an 's when no face resolves. run: sudo apt-get update && sudo apt-get install -y libfontconfig1-dev libfreetype6-dev libxkbcommon-x11-dev libwayland-dev libxcb-cursor-dev libasound2-dev fonts-dejavu-core - - uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable channel, 2026-09-22 + - name: Install the pinned toolchain + run: rustup toolchain install - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Run tests # Même raison qu'au job clippy : sans le feature, les tests du studio @@ -64,7 +68,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - - uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable channel, 2026-09-22 + - name: Install the pinned toolchain + run: rustup toolchain install - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - name: Install cargo-audit run: cargo install cargo-audit --locked diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 96c7da2..ff82174 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -23,7 +23,8 @@ jobs: # asound: required by cpal, which rodio pulls in for preview audio run: sudo apt-get update && sudo apt-get install -y libfontconfig1-dev libfreetype6-dev libxkbcommon-x11-dev libwayland-dev libxcb-cursor-dev libasound2-dev - - uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable channel, 2026-09-22 + - name: Install the pinned toolchain + run: rustup toolchain install # La version se lit via `cargo metadata`, pas en grepant un manifeste : elle # est déclarée dans `[workspace.package]` et héritée, donc un `grep diff --git a/crates/rustmotion-core/src/error.rs b/crates/rustmotion-core/src/error.rs index 49a1e11..a22c705 100644 --- a/crates/rustmotion-core/src/error.rs +++ b/crates/rustmotion-core/src/error.rs @@ -1,3 +1,5 @@ +#![allow(clippy::redundant_field_names)] + use thiserror::Error; pub type Result = std::result::Result; diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000..0fd1b3a --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,3 @@ +[toolchain] +channel = "1.99.0" +components = ["clippy", "rustfmt"]