Skip to content

fix: a checkout is a built source tree only when the compiled module is there - #71

Merged
NiJingzhe merged 2 commits into
devfrom
fix/built-tree-detection
Oct 30, 2026
Merged

NiJingzhe merged 2 commits into
devfrom
fix/built-tree-detection

Conversation

@NiJingzhe

Copy link
Copy Markdown
Collaborator

Found by the release dry run of 2.2.7: in the wheel tests (the wheel installed, the checkout not built) six tests failed with "simplecadapi needs its compiled C++ module". The validation workers add the checkout's src to their subprocess path only when it is a built tree, and decided that with glob("_native*"), which the type stub directory src/simplecadapi/_cpp/_native/ (added in #68) matches. src/cpp/tests/wheel_smoke.py asserted the same glob and would have passed without the extension.

All three places now require a file. test/test_source_tree_is_built.py pins the rule.

🤖 Generated with Claude Code

NiJingzhe and others added 2 commits October 30, 2026 20:09
…is there, not when the type stubs are

The validation workers (build123dftc, cadqueryftc) put the checkout's src on their subprocess's path only when it is a
built tree, because it would shadow the installed wheel with Python files that have no compiled module. They looked for
glob('_native*'), which the new type stub directory src/simplecadapi/_cpp/_native/ matches: in the release workflow's wheel
tests (the wheel installed, the checkout not built) six tests failed with 'simplecadapi needs its compiled C++ module'.
wheel_smoke.py asserted the same glob, which the stubs would have satisfied without the extension.

All three now require a file. A test pins the rule (stubs alone: not built; .so / .pyd: built).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…evelopment build, false in CI's editable install)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@NiJingzhe
NiJingzhe merged commit 9ba1c1b into dev Oct 30, 2026
19 checks passed
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.

1 participant