The last block of ci/test-stable.sh (cargo check --benches and the minimal-versions check) has not run in CI since #452. It is gated on RUST_VERSION:
|
if [[ "${RUST_VERSION}" == "nightly"* ]]; then |
|
# Check benchmarks |
|
cargo check --benches |
|
|
|
# Check minimal versions |
|
# Remove dev-dependencies from Cargo.toml to prevent the next `cargo update` |
|
# from determining minimal versions based on dev-dependencies. |
|
cargo hack --remove-dev-deps --workspace |
|
# Update Cargo.lock to minimal version dependencies. |
|
cargo update -Z minimal-versions |
|
cargo check --all-features |
|
fi |
#452 removed RUST_VERSION: nightly-2019-09-25 from the nightly job in favour of the workflow-level nightly variable, and nothing sets RUST_VERSION now (grep -rn RUST_VERSION .github ci finds only line 14). The job still passes because the block is skipped. In the 2026-09-06 scheduled run (job log), set -x shows the all-features tests followed directly by an empty comparison, and then the job ends:
+ cargo test --all-features
...
+ [[ '' == \n\i\g\h\t\l\y* ]]
With the condition fixed on a fork, cargo check --benches passes, but the minimal-versions check fails. cargo update -Z minimal-versions selects serde 1.0.60, the floor in Cargo.toml, and it does not compile with the alloc feature on the CI nightly (fork job log):
Downgrading serde v1.0.229 -> v1.0.60 (latest compatible: v1.0.229)
...
error[E0432]: unresolved imports `alloc::BTreeMap`, `alloc::BTreeSet`, `alloc::BinaryHeap`, `alloc::LinkedList`, `alloc::VecDeque`
--> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.60/src/lib.rs:192:21
...
error: could not compile `serde` (lib) due to 1 previous error
So fixing the condition alone would turn nightly red, and skip publish_docs, which needs it, unless the serde requirement changes too. #797 would change it to serde_core 1.0.220; I have not run the check with that change. Cargo stopped at this first error, so bytes itself was not checked against the minimal versions.
The condition change I used on the fork:
-if [[ "${RUST_VERSION}" == "nightly"* ]]; then
+if [[ "$(rustc --version)" == *nightly* ]]; then
Fork runs on glaziermag/bytes run the full CI workflow; the baseline adds only a workflow_dispatch trigger. Baseline nightly job: green, block skipped. With the change: red at the serde floor.
I found this while auditing the CI jobs, read the job logs through the Actions API, and ran the fork builds linked above. I used AI assistance (Claude) for the investigation and drafting.
The last block of
ci/test-stable.sh(cargo check --benchesand the minimal-versions check) has not run in CI since #452. It is gated onRUST_VERSION:bytes/ci/test-stable.sh
Lines 14 to 25 in 7930d93
#452 removed
RUST_VERSION: nightly-2019-09-25from thenightlyjob in favour of the workflow-levelnightlyvariable, and nothing setsRUST_VERSIONnow (grep -rn RUST_VERSION .github cifinds only line 14). The job still passes because the block is skipped. In the 2026-09-06 scheduled run (job log),set -xshows the all-features tests followed directly by an empty comparison, and then the job ends:With the condition fixed on a fork,
cargo check --benchespasses, but the minimal-versions check fails.cargo update -Z minimal-versionsselectsserde1.0.60, the floor inCargo.toml, and it does not compile with theallocfeature on the CI nightly (fork job log):So fixing the condition alone would turn
nightlyred, and skippublish_docs, which needs it, unless theserderequirement changes too. #797 would change it toserde_core1.0.220; I have not run the check with that change. Cargo stopped at this first error, sobytesitself was not checked against the minimal versions.The condition change I used on the fork:
Fork runs on glaziermag/bytes run the full CI workflow; the baseline adds only a
workflow_dispatchtrigger. Baseline nightly job: green, block skipped. With the change: red at theserdefloor.I found this while auditing the CI jobs, read the job logs through the Actions API, and ran the fork builds linked above. I used AI assistance (Claude) for the investigation and drafting.