Switch Rust toolchain from nightly to stable - #299
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 viarustlang/rust:nightly-bookworm. That inherited every upstream nightly regression — including a codegen ICE inrustc 1.99.0-nightly (2026-07-25)that crashed release builds oftokio 1.53.1and broke the Dependabot bump in #298.Changes
rust-toolchain.tomlpinningchannel = "stable"withrustfmt+clippycomponents, for reproducible builds across local/CI/Docker..github/workflows/ci.yml— format and test jobs install and default tostable.Dockerfile— build stage usesrust:bookworm(stable) instead ofrustlang/rust:nightly-bookworm..github/workflows/package-release.yml— package build container usesrust:bookworm.README.md— prerequisite updated to Rust (stable).Validation (stable 1.95.0)
cargo pgrx package(release profile:opt-level=3,lto="fat") — passes.cargo clippy— clean.cargo fmt --check— clean (no formatting drift vs. nightly rustfmt).tokio 1.53.1+serde_json 1.0.151(the versions from chore(deps): bump the cargo group across 1 directory with 2 updates #298) compile cleanly in release mode — no ICE.Follow-up
After this merges, comment
@dependabot rebaseon #298 so it re-runs CI on the stable base and goes green.