Skip to content

Switch Rust toolchain from nightly to stable - #299

Merged
pinodeca merged 1 commit into
mainfrom
switch-to-stable-rust
Jul 27, 2026
Merged

Switch Rust toolchain from nightly to stable#299
pinodeca merged 1 commit into
mainfrom
switch-to-stable-rust

Conversation

@pinodeca

Copy link
Copy Markdown
Contributor

Summary

Switches the project from an unpinned nightly Rust toolchain to stable.

The project doesn't use any nightly-only features (no #![feature(...)] attributes, no unstable rustfmt options), yet CI and the release Docker builds pulled the latest nightly via rustlang/rust:nightly-bookworm. That inherited every upstream nightly regression — including a codegen ICE in rustc 1.99.0-nightly (2026-07-25) that crashed release builds of tokio 1.53.1 and broke the Dependabot bump in #298.

Changes

  • Add rust-toolchain.toml pinning channel = "stable" with rustfmt + clippy components, for reproducible builds across local/CI/Docker.
  • .github/workflows/ci.yml — format and test jobs install and default to stable.
  • Dockerfile — build stage uses rust:bookworm (stable) instead of rustlang/rust:nightly-bookworm.
  • .github/workflows/package-release.yml — package build container uses rust:bookworm.
  • README.md — prerequisite updated to Rust (stable).

Validation (stable 1.95.0)

Follow-up

After this merges, comment @dependabot rebase on #298 so it re-runs CI on the stable base and goes green.

The project doesn't use any nightly-only features (no #![feature(...)]
attributes, no unstable rustfmt options), yet CI and the release Docker
builds pulled an unpinned latest nightly via rustlang/rust:nightly-bookworm.
This inherited every upstream nightly regression, including a codegen ICE
in rustc 1.99.0-nightly (2026-07-25) that crashed release builds of
tokio 1.53.1 (breaking dependabot PR #298).

- Add rust-toolchain.toml pinning stable + rustfmt/clippy for reproducibility
- CI format/test jobs install and default to stable
- Dockerfile and package-release.yml build on rust:bookworm (stable)
- README prerequisite updated to Rust (stable)

Validated on stable 1.95.0: release package build, clippy, and fmt all
pass, and tokio 1.53.1 + serde_json 1.0.151 compile cleanly in release
mode with no ICE.
@pinodeca
pinodeca merged commit 643f699 into main Jul 27, 2026
13 checks passed
@pinodeca
pinodeca deleted the switch-to-stable-rust branch July 27, 2026 16:56
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