Skip to content

Native parity: fix the Windows (and macOS) failure, make windows-x64 a required platform - #539

Closed
tae898 wants to merge 2 commits into
native-previewfrom
fix/windows-parity-required
Closed

tae898 wants to merge 2 commits into
native-previewfrom
fix/windows-parity-required

Conversation

@tae898

@tae898 tae898 commented Oct 25, 2026

Copy link
Copy Markdown

What failed

The Windows parity job of native-preview.yml was red in the last two runs that reached it (40102813583 and 40109358404; run 40067414506 before them was green). Both runs show the same single cause. The job ran 969 tests on the installed wheel and only the two tests of tests/test_wheel_packages.py failed, with ModuleNotFoundError: No module named 'setuptools' from setup.py.

That file builds the JVM sources with setup.py build_py. The parity job's uv run --no-project --python 3.12 --with ... environment has no setuptools, because Python 3.12 does not ship it. Only the Ubuntu runners' system Python happens to carry one, so Linux passed. macOS arm64, which is a required platform, failed on the same two tests in run 40109358404, so this also unblocks the required gate.

Counted causes on Windows: 1 cause (test harness, missing setuptools in the parity environment), 2 failing tests. Path handling, file locking, line endings, encoding, temp-dir cleanup, ctypes loading and the DLL search path produced no failure, and there is no native defect. Nothing is skipped to get there.

Fix

  • native-preview.yml: add --with setuptools to the parity run, as pyproject.toml already does for the JVM test extra.
  • test_wheel_packages.py: the second test starts its child with an environment of only PATH. Pass SYSTEMROOT through where it exists, because a Windows child without it cannot import socket. This is a precaution for the first Windows run of that test, not something the logs showed.
  • REQUIRED_PLATFORMS gets windows-x64 (last commit), with the release notes updated. Drop that commit if the run below is not green on Windows.

Reproduced locally: with a managed Python 3.12 and no setuptools the file fails the same two tests; with --with setuptools both pass.

CI

One dispatched run of native-preview.yml on this branch: https://github.com/humemai/arcadedb-embedded-python/actions/runs/40188494129 (the workflow has no per-job input, so this builds all four platforms).

🤖 Generated with Claude Code

tae898 and others added 2 commits October 25, 2026 20:20
…_packages.py needs

tests/test_wheel_packages.py runs `setup.py build_py` on a copy of the sources. The parity job's `uv run --no-project --python 3.12 --with ...` environment has no setuptools: Python 3.12 does not ship it, and only the Ubuntu runners' system Python happens to carry one. On windows-x64 and macos-arm64 both tests failed with `ModuleNotFoundError: No module named 'setuptools'` (runs 40102813583 and 40109358404; every other file passed, 969 tests on Windows), which turned the required macos-arm64 gate red as well. Add `--with setuptools` to the parity run, as pyproject.toml already does for the JVM test extra.

The second test also starts a child with an environment of only PATH; pass SYSTEMROOT through on Windows, where a child without it cannot import socket.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Add windows-x64 to REQUIRED_PLATFORMS, so a native-v* tag publishes only when the Windows parity run also passed, and update the release notes. Windows already built its wheel and passed 969 tests on the installed wheel; its only red were the two test_wheel_packages.py tests fixed in the previous commit.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
tae898 added a commit to ArcadeData/arcadedb-python that referenced this pull request Oct 25, 2026
…to the Windows child

test_wheel_packages builds with setup.py build_py; the uv parity env had no setuptools, so the test
failed on windows-x64 and macos-arm64 and passed on Linux only because the runner's Python ships it
(humemai/arcadedb-embedded-python#539).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tae898
tae898 marked this pull request as ready for review October 25, 2026 12:24
@tae898

tae898 commented Oct 25, 2026

Copy link
Copy Markdown
Author

Closing as superseded. The native build now ships from ArcadeData/arcadedb-python, and the same fix (setuptools in the parity environment, SYSTEMROOT for the Windows child) is ArcadeData/arcadedb-python@a561129 in ArcadeData/arcadedb-python#66, where all four platforms are already required. Thanks for the diagnosis: the missing setuptools also broke macos-arm64.

@tae898 tae898 closed this Oct 25, 2026
@tae898
tae898 deleted the fix/windows-parity-required branch November 8, 2026 11:34
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