Skip to content

Commit a08173b

Browse files
authored
Merge pull request #177 from AdaWorldAPI/claude/pr-x-td9-nightly-simd-ci
ci(simd): TD-SIMD-9 — nightly-simd polyfill check job
2 parents 96d01ce + e8cf572 commit a08173b

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,35 @@ jobs:
211211
- name: cargo check (v4 / AVX-512 + hpc-extras)
212212
run: cargo check --target=x86_64-unknown-linux-gnu -p ndarray --features approx,serde,rayon,hpc-extras
213213

214+
nightly-simd-polyfill:
215+
# TD-SIMD-9 from .claude/knowledge/simd-dispatch-architecture.md.
216+
# Exercises the `feature = "nightly-simd"` dispatch arm in
217+
# `src/simd.rs` (added in Phase 2 / PR #173) so the portable
218+
# `core::simd::*` backend doesn't bit-rot between PRs.
219+
#
220+
# Why nightly: `src/simd_nightly/*` uses `#![feature(portable_simd)]`
221+
# which only compiles on nightly rustc. The stable `cargo check`
222+
# paths in tests/clippy never reach this arm.
223+
#
224+
# `cargo check` rather than full build/test — pure type/borrow/cfg
225+
# verification. Catches arm shadowing bugs and the kind of API-break
226+
# codex flagged on PR #173 (lowercase aliases dropped).
227+
#
228+
# Runs only on merge_group + push (not every PR) to keep nightly
229+
# toolchain pulls out of the per-PR critical path. Mirrors the
230+
# `miri` job's gating strategy.
231+
if: github.event_name == 'merge_group' || github.event_name == 'push'
232+
runs-on: ubuntu-latest
233+
name: nightly-simd-polyfill
234+
steps:
235+
- uses: actions/checkout@v4
236+
- uses: dtolnay/rust-toolchain@nightly
237+
- uses: Swatinem/rust-cache@v2
238+
- name: cargo check (nightly + nightly-simd feature)
239+
run: cargo check -p ndarray --features approx,serde,rayon,nightly-simd
240+
- name: cargo check (nightly + nightly-simd + hpc-extras)
241+
run: cargo check -p ndarray --features approx,serde,rayon,nightly-simd,hpc-extras
242+
214243
blas-msrv:
215244
runs-on: ubuntu-latest
216245
name: blas-msrv
@@ -310,6 +339,7 @@ jobs:
310339
- native-backend
311340
- hpc-stream-parallel
312341
- tier4-avx512-check
342+
- nightly-simd-polyfill
313343
- miri
314344
- cross_test
315345
- cargo-careful

0 commit comments

Comments
 (0)