Skip to content

CI: Windows win32 wheel tests fail building cryptography without 32-bit OpenSSL #919

Description

@dkropachev

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions