Summary
Test wheels building / Build wheels for windows on windows-2022 fails on cp310-win32 before pytest starts. The wheel itself builds, but installing test dependencies fails while building cryptography from source for 32-bit Windows.
Failing run/job:
https://github.com/scylladb/python-driver/actions/runs/28405982626/job/84168474168?pr=895
Failure
The failing command is cibuildwheel test dependency install:
pip install pytest~=8.0 PyYAML pure-sasl twisted[tls] gevent eventlet>=0.33.3 cython>=3.2 packaging>=25.0 futurist pyyaml numpy objgraph ccm @ git+https://git@github.com/scylladb/scylla-ccm.git@master
twisted[tls] pulls cryptography. On cp310-win32, pip tries to build it via Rust/maturin for i686-pc-windows-msvc and fails:
Could not find directory of OpenSSL installation
OPENSSL_DIR unset
$TARGET = i686-pc-windows-msvc
openssl-sys = 0.9.117
The workflow installs OpenSSL, but the log shows only 64-bit OpenSSL:
Installing 64-bit OpenSSL.Light...
Installed to C:\Program Files\OpenSSL
So the 32-bit cryptography source build cannot find a matching OpenSSL installation.
Notes
This is not specific to PR #895. That PR does not change pyproject.toml, .github/workflows, or setup.py. Recent Test wheels building runs on other PRs are failing too.
Related workaround PR: #916 adds *win32 to cibuildwheel skip and passed.
Possible fixes
- Skip Windows 32-bit wheel builds (
*win32) if they are no longer required.
- Or install/configure 32-bit OpenSSL for win32 test builds, including the needed
OPENSSL_DIR/lib/include env vars.
- Or constrain test dependencies so
cryptography does not need a source build for win32.
Summary
Test wheels building / Build wheels for windows on windows-2022fails oncp310-win32before pytest starts. The wheel itself builds, but installing test dependencies fails while buildingcryptographyfrom source for 32-bit Windows.Failing run/job:
https://github.com/scylladb/python-driver/actions/runs/28405982626/job/84168474168?pr=895
Failure
The failing command is cibuildwheel test dependency install:
twisted[tls]pullscryptography. Oncp310-win32, pip tries to build it via Rust/maturin fori686-pc-windows-msvcand fails:The workflow installs OpenSSL, but the log shows only 64-bit OpenSSL:
So the 32-bit
cryptographysource build cannot find a matching OpenSSL installation.Notes
This is not specific to PR #895. That PR does not change
pyproject.toml,.github/workflows, orsetup.py. RecentTest wheels buildingruns on other PRs are failing too.Related workaround PR: #916 adds
*win32to cibuildwheelskipand passed.Possible fixes
*win32) if they are no longer required.OPENSSL_DIR/lib/include env vars.cryptographydoes not need a source build for win32.