Skip to content

ci: run the nightly jobs on nightly; skip cpu_guard under Miri - #350

Merged
AdaWorldAPI merged 3 commits into
masterfrom
ccr-9f3b8075-74u47l
Oct 10, 2026
Merged

AdaWorldAPI merged 3 commits into
masterfrom
ccr-9f3b8075-74u47l

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

Four CI jobs had been red on master since at least 6704865: nightly-simd-polyfill, cargo-careful, docs/nightly and miri. They run only on push / merge_group, so no PR ever showed them. Three of them were never running on nightly at all.

Causes and fixes

job cause fix
nightly-simd-polyfill dtolnay/rust-toolchain@nightly installs nightly, but rust-toolchain.toml pins stable and takes precedence, so plain cargo is stable → E0554: #[feature] may not be used on the stable release channel cargo +nightly check
cargo-careful same: on stable, careful fails at rustc --print target-spec-json ("output is invalid JSON") cargo +nightly careful
docs/nightly same, and --all-features cannot build at all: intel-mkl/openblas and runtime-dispatch/nightly-simd are mutually exclusive (compile_error!) cargo +nightly doc --features approx,serde,rayon, the [package.metadata.docs.rs] set
miri cpu_guard's pre-main hook (from #348) runs cpuid, which is inline assembly, and Miri rejects that, so every test binary aborted at --list hook is cfg(not(miri)) on all three platforms; the Miri filter skips cpu_guard:: tests

Verified locally (with CI's RUSTFLAGS)

  • polyfill: reproduces E0554 on stable; both +nightly feature sets pass.
  • The guard still fires on a normal build: a v3 binary under qemu -cpu SandyBridge prints the guard's message instead of hitting SIGILL.
  • cpu_guard tests 8/8; clippy -D warnings clean on v3 and avx; fmt clean.
  • cargo-careful: the stable failure (target-spec-json "invalid JSON") reproduces locally. The +nightly run and the Miri smoke run: results in a follow-up comment.

The docs job's 126 pre-existing warnings: fixed (a1b8055)

With the build fixed, docs/nightly reached rustdoc for the first time and -Dwarnings reported 127 warnings. This PR fixes all of them. Only /// / //! lines change (122 lines, 43 files); there are no code changes:

  • 104 index expressions in prose (a[i], [768], self[k]) were parsed as intra-doc links. Their brackets are now escaped, which renders identically; fenced code blocks are untouched.

  • 7 chained formulas or byte layouts (basis_cos[f][j], [name_len:u32][name]…), and 7 bare generics (Vec<u8>, LazyLock<Tier>) that rustdoc read as unclosed HTML tags, now sit in code spans.

  • 9 links to private items keep their code formatting but are no longer links.

  • Paths corrected:

    • crate::hpc::quantized::int8_gemm_i32;
    • the soa_struct! and blocked_grid_struct! macros;
    • BlockedGrid::{new, new_with_pad, idx};
    • blas_rotg.

    jitson_cranelift (feature jit-native) is no longer a link, and one redundant link target is simplified.

Verified: RUSTDOCFLAGS="-Dwarnings --cfg docsrs" cargo +nightly doc --no-deps --features approx,serde,rayon exits 0. Clippy v3 and fmt are clean.

Note on verification

These four jobs run only on push / merge_group, so this PR's own CI cannot show them; the evidence is the local runs above. They will run for real on the merge to master.

🤖 Generated with Claude Code

https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh


Generated by Claude Code

…d under Miri

The nightly-simd-polyfill, cargo-careful, docs/nightly and miri jobs run only
on push / merge_group, so no PR showed them, and all four were red on master
(already at 6704865):

- nightly-simd-polyfill, docs, cargo-careful: dtolnay installs nightly, but
  rust-toolchain.toml pins stable and wins, so plain `cargo` was stable
  (E0554 on #![feature]; careful: target-spec-json "invalid JSON"). They
  now call `cargo +nightly`.
- docs: `--all-features` cannot build (intel-mkl/openblas and
  runtime-dispatch/nightly-simd are mutually exclusive); it now uses the
  [package.metadata.docs.rs] set, approx,serde,rayon.
- miri: cpu_guard's pre-main hook runs cpuid (inline asm), which Miri
  rejects, so every test binary died at --list. The hook is now
  cfg(not(miri)) on all three platforms, and the Miri filter skips
  cpu_guard:: tests.

Verified locally with CI's RUSTFLAGS: the polyfill job reproduces E0554 on
stable and passes with +nightly (both feature sets); the guard still fires
on a normal build (v3 binary under qemu -cpu SandyBridge prints the guard
message). The docs job now gets past the build and reports 127 rustdoc
warnings (-Dwarnings) that it never reached before; one, a private link to
DOT_I8_FOLD from #349, is fixed here, the other 126 predate this change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: fe647489-1470-4a00-83c5-ad5b947a849d

📥 Commits

Reviewing files that changed from the base of the PR and between 9402e57 and 5f60c10.


📒 Files selected for processing (47)
  • .github/workflows/ci.yaml
  • scripts/miri-tests.sh
  • src/backend/kernels_avx512.rs
  • src/backend/native.rs
  • src/bitwise.rs
  • src/cpu_guard.rs
  • src/heel_f64x8.rs
  • src/hpc/amx_matmul.rs
  • src/hpc/amx_ops.rs
  • src/hpc/audio/mdct.rs
  • src/hpc/audio/modes.rs
  • src/hpc/audio/voice.rs
  • src/hpc/bgz17_bridge.rs
  • src/hpc/blas_level1.rs
  • src/hpc/blocked_grid/base.rs
  • src/hpc/blocked_grid/grid_struct_macro.rs
  • src/hpc/bnn_causal_trajectory.rs
  • src/hpc/clam_compress.rs
  • src/hpc/entropy_ladder.rs
  • src/hpc/framebuffer.rs
  • src/hpc/gguf_indexer.rs
  • src/hpc/gpt2/weights.rs
  • src/hpc/holo.rs
  • src/hpc/jina/runtime.rs
  • src/hpc/jitson/mod.rs
  • src/hpc/linalg/svd.rs
  • src/hpc/merkle_tree.rs
  • src/hpc/models/safetensors.rs
  • src/hpc/openchat/weights.rs
  • src/hpc/renderer.rs
  • src/hpc/safetensors.rs
  • src/hpc/signature_pde.rs
  • src/hpc/soa.rs
  • src/hpc/surround_metadata.rs
  • src/hpc/vnni_gemm.rs
  • src/palette_codec.rs
  • src/simd.rs
  • src/simd_amx.rs
  • src/simd_avx.rs
  • src/simd_avx2.rs
  • src/simd_avx512.rs
  • src/simd_int_ops.rs
  • src/simd_masking_ops.rs
  • src/simd_neon.rs
  • src/simd_nightly/_original_draft.rs
  • src/simd_nightly/masks.rs
  • src/simd_wasm.rs

 _________________________________________________
< I am the right brain to your SAST's left brain. >
 -------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


Comment @coderabbitai help to get the list of available commands.

…ings

The docs job never reached rustdoc before (it failed at the build), so these
had accumulated unseen. Doc-comment lines only; no code changes.

- 104 index expressions in prose (`a[i]`, `[768]`, `self[k]`) parsed as
  intra-doc links: brackets escaped (`\[i\]`, renders identically).
  Fenced code blocks are left untouched.
- 7 chained forms (`basis_cos[f][j]`, byte layouts like
  `[name_len:u32][name]...`): put in code spans.
- 9 links to private items: kept as code spans without the link.
- 7 unclosed HTML tags (`Vec<u8>`, `LazyLock<Tier>`): put in code spans.
- Paths fixed: crate::hpc::quantized::int8_gemm_i32, the soa_struct! and
  blocked_grid_struct! macros (crate::), BlockedGrid::{new, new_with_pad,
  idx}, blas_rotg; jitson_cranelift (feature jit-native) is now unlinked;
  one redundant link target simplified.

Verified: RUSTDOCFLAGS="-Dwarnings --cfg docsrs" cargo +nightly doc --no-deps
--features approx,serde,rayon exits 0 (was 127 warnings); every changed line
is a /// or //! line; clippy v3 and fmt clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh

AdaWorldAPI commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner Author

Local results for the two nightly jobs this PR's own CI cannot show (both run only on push / merge_group):

  • cargo-careful. On stable it reproduces the CI failure (target-spec-json output is invalid JSON). With cargo +nightly careful test -Zcareful-sanitizer, the 8 cpu_guard tests pass, run with CI's RUSTFLAGS. This was a smoke test on one module, not the full nextest run. The careful nightly toolchain needs the rust-src component: locally, without it, careful stalled for 25 minutes with no compiler running. 5f60c10 makes the job install it with the nightly toolchain, so the fix doesn't rely on careful fetching it. (Corrected: an earlier version of this comment said careful fetches rust-src itself; that was unverified.)
  • Miri, on the array-construct test binary, which aborted at --list in CI:
    • fixed tree: 28 passed;
    • disable run with the pre-fix cpu_guard.rs restored: error: unsupported operation: inline assembly is not supported, the exact CI failure. So the cfg(not(miri)) gate is what makes it pass.

Generated by Claude Code

careful rebuilds std from source and needs rust-src; without it a local run
stalled for 25 minutes with no compiler process. With it, the cpu_guard
smoke run passes (8/8).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 10, 2026 09:41
@AdaWorldAPI
AdaWorldAPI merged commit 3932a21 into master Oct 10, 2026
27 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-10T09:42:14.873614Z 5f60c10 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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.

2 participants