Skip to content

ci: qualify each wheel once and isolate native stress - #101

Merged
stefan-jansen merged 7 commits into
mainfrom
ci/focused-wheel-qualification
Oct 18, 2026
Merged

stefan-jansen merged 7 commits into
mainfrom
ci/focused-wheel-qualification

Conversation

@stefan-jansen

@stefan-jansen stefan-jansen commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Closes #99.

Run one complete installed-wheel suite per supported OS/Python cell, retaining the existing build-once artifact, full matrix, version-specific type checks, coverage thresholds, security, executable/strict docs and final package gate. Python3.15 remains independently owned by PR93.

Separate targeted stress runs on affected native/core/test/qualification changes, weekly and by explicit dispatch. It builds one immutable stress candidate, derives its matrix from the normal CI configuration, verifies commit/tree/hashes and installs that wheel in every cell. Each cell runs ten fresh MACD processes with alternating test order, public feature-order controls and twelve cold-call regressions with fresh interpreters/empty Numba caches. Cold-call tests now compare numerical arrays and NaN positions, not only distinct-value counts.

The installed-candidate check verifies distribution version, actual import origin and every package file against the wheel. Permanent tests install real wheels in an isolated environment and reject actual checkout shadowing, a different wheel version and modified installed bytes. Every installed check also starts a fresh interpreter with this checkout on PYTHONPATH and requires rejection.

Executed evidence

  • On base f5cd062, the actual YAML test shell starts ten real pytest sessions. The new one-session acceptance fails, with eight actual failure controls passing: 1failed/8passed in9.77s. The replacement invocation passes.
  • Both the configured routine command and native driver reject real pytest failure, collection/usage/internal errors, empty collection, os.abort, a real timeout and passing-output-then-abort. Temporarily changing the producing native runner to ignore process status makes all eight negative controls fail while its positive control passes. Restoring check=True returns18passed. No mocked process status or stdout-success inference.
  • 51 focused command/release/artifact cases passed in 17.43s at the final test tree (committed as 3a26a94). Fresh full source suite at clean 3a26a94: 4401 passed/57 deselected in 109.83s. Hosted gates remain required.
  • Actual targeted run at f30467d: ten fresh MACD processes each53passed; both public feature-order processes each3passed; all12cold-call numerical cases passed in41.68s.
  • Actual minimal17-package environment installs the hosted ff94043 candidate. The previous bare import accepts real checkout contamination; the new verifier rejects it and positively verifies all199installed package files.
  • Full Ruff/format/ty, actionlint, locked resolution, all-file hooks, package build/import, Twine metadata and strict MkDocs pass. Full native/platform hosted checks remain required at this PR head before merge.
  • Hosted Windows 3.13 and 3.14 source runs exposed an actual harness defect: bare bash invoked WSL rather than the Git Bash used by Actions. At fde92ea, discover Bash from the actual Git installation on Windows and use forward-slash quoted command paths. All 51 focused cases pass locally in 13.87s, with Ruff/format/ty/actionlint/hooks passing. Fresh hosted Windows positives and every failure marker remain required; the old failures are not waived or counted as expected success.

This does not change a numerical feature definition, runtime dependency or release version, waive an existing candidate's checks, alter protection, publish a package or deploy documentation. Hurst prerequisite PR97 is already merged and included normally; this diff is limited to CI qualification and its behavioral controls.

AI assistance: Codex inspected the original policy/crash evidence, implemented and reviewed these changes, executed the listed real regressions and source/artifact checks, and prepared this submission. No independent human or quota-exhausted bot review is claimed.

Copilot AI balanced review requested due to automatic review settings October 17, 2026 19:44

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@stefan-jansen
stefan-jansen merged commit 3507071 into main Oct 18, 2026
41 checks passed
@stefan-jansen
stefan-jansen deleted the ci/focused-wheel-qualification branch October 18, 2026 01:02
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.

ci: separate targeted stress from full installed-wheel matrix qualification

2 participants