Skip to content

⚡ Use assertion-free release SDKs - #2678

Merged
burgholzer merged 8 commits into
mainfrom
codex/release-phase1
Oct 8, 2026
Merged

burgholzer merged 8 commits into
mainfrom
codex/release-phase1

Conversation

@burgholzer

@burgholzer burgholzer commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

🤖 AI text below 🤖

Description

Use LLVM 23.1.2 from SDK release 2026.10.06 across CI, documentation, development containers, and wheel builds. Release wheels select assertion-free libraries; development builds retain assertions. Pin setup-mlir v1.5.0 and Workflows v2.5.1. Installer source archives keep the script and its version manifest pinned together.

Split LLVM's space-separated compiler definitions before applying them in CMake, so nanobind receives a valid ABI identifier and installed wheels import correctly. Remove the obsolete MSVC /Zm10 option and quote the shell's sccache version constraint.

Workflows v2.5.1 supplies cibuildwheel 4.3, whose Windows argument-handling fix allows the shared test dependency group to replace the manual uv pip install workaround. Remove its redundant empty before-test override too. Linux retains its QIR-runner exclusion, and Windows ARM/free-threaded builds retain their import smoke tests.

Core's exception migration remains in #2545; PGO and BOLT remain in #2476.

Validation of this dependency update:

  • uvx nox -s lint and git diff --check pass.
  • cibuildwheel 4.3 resolves the expected test dependencies and commands for ten platform/interpreter combinations, covering all five build platforms with regular and free-threaded CPython.
  • A local Linux argument-vector probe preserves dependency specifiers containing < and >; Windows execution awaits hosted CI.
  • The rebase preserves the existing seven patches unchanged. All eight PR commits are signed and verified.

Earlier Linux ARM qualification with the released noassert SDK passed 3,933 native tests and 1,900 installed-wheel Python tests, with one skip in each suite. The installed CMake consumer also built and ran. These suites were not rerun for this configuration-only follow-up; hosted checks are running for the new head.

Earlier Qiskit-main checks failed on an upstream Qiskit header typo. That upstream failure is accepted for this PR; no Core workaround is included.

AI assistance covered implementation, specialist review, and validation.

Checklist

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

If PR contains AI-assisted content:

  • Any agent that created, edited, or submitted GitHub content was explicitly authorized for that scope, as required by our AI Usage Guidelines.
  • Every agent-authored or agent-edited public text body begins with the visible disclosure 🤖 *AI text below* 🤖 (titles are exempt).
  • I have disclosed AI assistance in the PR description.
  • I confirm that I have personally reviewed and understood all AI-generated content, and accept full responsibility for it.

@codecov

codecov Bot commented Oct 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@burgholzer burgholzer added this to the v4.1.0 - QDMI 1.4 / MQSF milestone Oct 5, 2026
@burgholzer
burgholzer force-pushed the codex/release-phase1 branch from 44a6df2 to 5fd1249 Compare October 6, 2026 13:27
@burgholzer
burgholzer marked this pull request as ready for review October 7, 2026 12:24
@burgholzer
burgholzer force-pushed the codex/release-phase1 branch from 4e93bf8 to 86b639a Compare October 7, 2026 15:54
@burgholzer burgholzer changed the title ⚡ Use assertion-free release SDKs (Phase 1) ⚡ Use assertion-free release SDKs Oct 7, 2026
Select exception-enabled Phase 1 SDKs in native wheel workflows and the
Linux container installer. Keep development builds and the existing wheel
recipe unchanged; PGO, BOLT, and exception removal belong to Phase 2.

Assisted-by: GPT-6 via Codex
Use the packaging workflow's assertion-free default and refresh the SDK
installer pin. Remove the obsolete MSVC precompiled-header memory limit.

Assisted-by: GPT-6 via Codex
Pin workflows, installers, and their manifests to revisions that know
LLVM 23.1.2 from release 2026.10.06. Keep development builds on the
assert-enabled SDK and release wheels on the noassert companion.

Split LLVM's compiler definitions before passing them to CMake. Without
this existing Phase 2 fix, nanobind embeds trailing compiler flags into
its ABI identifier and the installed wheel cannot import. Quote the
sccache version constraint so the shell does not treat it as redirection.

Assisted-by: GPT-6 via Codex
Download the installer and its manifest together so Setup selects the
matching manifest automatically. Remove the separate manifest URL wiring
and refresh the workflow and action pins.

Assisted-by: GPT-6 via Codex
Use explicit assertion-free asset URLs from Setup in CI, development,
documentation, and release installation paths.

Assisted-by: GPT-6 via Codex
Use explicit assertion-free asset URLs from Setup in CI, development,
documentation, and release installation paths.

Assisted-by: GPT-6 via Codex
Pin the current Setup examples and reusable workflow defaults throughout
CI, development, documentation, and release installation paths.

Assisted-by: GPT-6 via Codex
Pin Workflows v2.5.1 and setup-mlir v1.5.0 throughout CI, documentation,
development containers, and wheel installation.

Use cibuildwheel 4.3's fixed Windows argument handling for test dependency
groups. Remove the manual install and its redundant smoke-test override.

Assisted-by: GPT-6 via Codex
@burgholzer
burgholzer force-pushed the codex/release-phase1 branch from 86b639a to 0fe0e66 Compare October 7, 2026 19:40
@burgholzer
burgholzer merged commit ddee680 into main Oct 8, 2026
57 of 65 checks passed
@burgholzer
burgholzer deleted the codex/release-phase1 branch October 8, 2026 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

continuous integration Anything related to the CI setup enhancement Improvement of existing feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant