Skip to content

Test the no-GIL readiness axis and gate CI on it#275

Merged
seanwevans merged 1 commit into
mainfrom
claude/nogil-axis-tests
Jul 21, 2026
Merged

Test the no-GIL readiness axis and gate CI on it#275
seanwevans merged 1 commit into
mainfrom
claude/nogil-axis-tests

Conversation

@seanwevans

Copy link
Copy Markdown
Owner

The no-GIL axis in pyisolate.nogil is a release gate -- it decides whether a host may claim parallel-cell semantics or must fall back to scheduled compartments -- but it had no dedicated tests, and the free-threaded CI job was entirely advisory (continue-on-error) and only ran race tests.

  • tests/test_nogil.py: cover the axis across the build / process-GIL / native-extension-safety combinations, the PYISOLATE_NOGIL_SAFE_MODULES declaration parsing and gating, native-vs-pure-Python module detection, and the RuntimeWarning path (fires on unknown extensions, silent otherwise, and suppressible via env). The inputs are monkeypatched so the logic is validated on ordinary GIL-enabled interpreters too.
  • ci.yml: the no-gil job now runs the axis tests assertively (a regression is a real release-gate bug), while the timing-sensitive race tests stay advisory.

Full suite: 465 passed, 4 skipped.

Claude-Session: https://claude.ai/code/session_01PbbJc7Ntj159D9LNGevwC2

The no-GIL axis in pyisolate.nogil is a release gate -- it decides whether a
host may claim parallel-cell semantics or must fall back to scheduled
compartments -- but it had no dedicated tests, and the free-threaded CI job was
entirely advisory (continue-on-error) and only ran race tests.

- tests/test_nogil.py: cover the axis across the build / process-GIL /
  native-extension-safety combinations, the PYISOLATE_NOGIL_SAFE_MODULES
  declaration parsing and gating, native-vs-pure-Python module detection, and
  the RuntimeWarning path (fires on unknown extensions, silent otherwise, and
  suppressible via env). The inputs are monkeypatched so the logic is validated
  on ordinary GIL-enabled interpreters too.
- ci.yml: the no-gil job now runs the axis tests assertively (a regression is a
  real release-gate bug), while the timing-sensitive race tests stay advisory.

Full suite: 465 passed, 4 skipped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PbbJc7Ntj159D9LNGevwC2
@seanwevans
seanwevans merged commit 108b46d into main Jul 21, 2026
@seanwevans
seanwevans deleted the claude/nogil-axis-tests branch July 21, 2026 17:27
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