From 8d2ff334d2c49a695fbb5fc6a351562d867561c7 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Tue, 21 Jul 2026 07:01:47 -0400 Subject: [PATCH] Move the toolchain pin to Rust 1.97.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The repo was pinned to 1.96.0 while 1.97.1 is current and installed on the dev box, so every build here ran a compiler two releases behind the one the code is actually developed against. This moves the pin forward. Both toolchain files (root and the eoc/eoc-rs sub-workspace) and the five workflows that hardcode a toolchain rather than deferring to rust-toolchain.toml — wai-conformance, wai-neural-e2e, wai-byte-equality, joule-code-conformance, jouleclaw-public-surface-documented. Pinning stays exact, per the repo's convention: a pin that drifts is not a pin. MSRV is deliberately untouched. The `rust-version` fields across the workspaces (1.85 in mesh/proof, 1.96 elsewhere) declare the *oldest* compiler a crate supports, not the one it is built with — a floor, not a pin. Raising them because the dev toolchain moved would narrow who can consume these standards as libraries, which is a policy decision about support commitments, not a consequence of upgrading a build box. A crate with MSRV 1.85 builds perfectly well under 1.97.1. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/joule-code-conformance.yml | 2 +- .github/workflows/jouleclaw-public-surface-documented.yml | 2 +- .github/workflows/wai-byte-equality.yml | 2 +- .github/workflows/wai-conformance.yml | 8 ++++---- .github/workflows/wai-neural-e2e.yml | 4 ++-- eoc/eoc-rs/rust-toolchain.toml | 2 +- rust-toolchain.toml | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/joule-code-conformance.yml b/.github/workflows/joule-code-conformance.yml index cb21ac84c..486b6590d 100644 --- a/.github/workflows/joule-code-conformance.yml +++ b/.github/workflows/joule-code-conformance.yml @@ -28,7 +28,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@master with: - toolchain: "1.96.0" + toolchain: "1.97.1" - name: Cache cargo uses: actions/cache@v4 diff --git a/.github/workflows/jouleclaw-public-surface-documented.yml b/.github/workflows/jouleclaw-public-surface-documented.yml index 733c7f90f..b28525891 100644 --- a/.github/workflows/jouleclaw-public-surface-documented.yml +++ b/.github/workflows/jouleclaw-public-surface-documented.yml @@ -36,7 +36,7 @@ jobs: - name: Install Rust toolchain (workspace pin) uses: dtolnay/rust-toolchain@stable with: - toolchain: "1.96" + toolchain: "1.97.1" - name: Cache cargo registry + target uses: actions/cache@v4 diff --git a/.github/workflows/wai-byte-equality.yml b/.github/workflows/wai-byte-equality.yml index 37a38eaad..221bb8841 100644 --- a/.github/workflows/wai-byte-equality.yml +++ b/.github/workflows/wai-byte-equality.yml @@ -48,7 +48,7 @@ jobs: - name: Install Rust uses: dtolnay/rust-toolchain@master with: - toolchain: 1.96.0 + toolchain: 1.97.1 - name: Decode fixtures, assert golden bytes working-directory: wai/byte-exact-conformance diff --git a/.github/workflows/wai-conformance.yml b/.github/workflows/wai-conformance.yml index 645f3856e..69ee73aef 100644 --- a/.github/workflows/wai-conformance.yml +++ b/.github/workflows/wai-conformance.yml @@ -45,8 +45,8 @@ jobs: os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest] steps: - uses: actions/checkout@v5 - - name: Rust 1.96.0 - run: rustup toolchain install 1.96.0 --profile minimal && rustup default 1.96.0 + - name: Rust 1.97.1 + run: rustup toolchain install 1.97.1 --profile minimal && rustup default 1.97.1 - name: Build the cargo classes (pure Rust, no C codec chain) working-directory: wai/wai-rs # neural_int joins the pure-Rust set: the integer-synthesis decoder is @@ -89,8 +89,8 @@ jobs: os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest] steps: - uses: actions/checkout@v5 - - name: Rust 1.96.0 - run: rustup toolchain install 1.96.0 --profile minimal && rustup default 1.96.0 + - name: Rust 1.97.1 + run: rustup toolchain install 1.97.1 --profile minimal && rustup default 1.97.1 - name: Integer rANS + int_synth + JPEG-AI mANS goldens (one machine → every machine) working-directory: wai/byte-exact-conformance run: cargo test --release diff --git a/.github/workflows/wai-neural-e2e.yml b/.github/workflows/wai-neural-e2e.yml index edeaa8008..5ae44c1d8 100644 --- a/.github/workflows/wai-neural-e2e.yml +++ b/.github/workflows/wai-neural-e2e.yml @@ -47,8 +47,8 @@ jobs: - name: Build the synthetic fixtures (elic / mlicpp / snac / dcvc / glc) working-directory: wai run: python tools/wai_validate_synthetic.py --size 256 - - name: Rust 1.96.0 - run: rustup toolchain install 1.96.0 --profile minimal && rustup default 1.96.0 + - name: Rust 1.97.1 + run: rustup toolchain install 1.97.1 --profile minimal && rustup default 1.97.1 - name: Each Rust decoder reproduces its reference end-to-end working-directory: wai/wai-rs # --no-default-features: the neural decoders need only `ort`, NOT the C diff --git a/eoc/eoc-rs/rust-toolchain.toml b/eoc/eoc-rs/rust-toolchain.toml index d58c37bd7..8184c97fe 100644 --- a/eoc/eoc-rs/rust-toolchain.toml +++ b/eoc/eoc-rs/rust-toolchain.toml @@ -1,4 +1,4 @@ [toolchain] -channel = "1.96.0" +channel = "1.97.1" components = ["rustc", "cargo", "rust-std", "rustfmt", "clippy"] profile = "default" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index d58c37bd7..8184c97fe 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ [toolchain] -channel = "1.96.0" +channel = "1.97.1" components = ["rustc", "cargo", "rust-std", "rustfmt", "clippy"] profile = "default" -- 2.54.0 (Apple Git-157)