-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enabling Additional Targets: Windows ARM #325
Comments
The main issue is supporting these. If one of those targets stops working, who diagnoses and fixes the issues? We only want to support targets that people are actually using. For instance, Java just dropped support for 32 bit Windows in the latest version, so I don't see anyone else using those targets (for instance, any of i686 ones). |
Completely agree that adding support for platforms which are going out of support (powerpc, i686, etc.) probably is not be worth it. I think the main one that is missing from the list is Windows ARM, which I don't think should be too difficult to add. |
Building windows on arm for rust requires a workaround documented in this PR we've not had any requests for 32-bit versions of the ffi lib, of any flavour, nor any additional platforms (BSD's, powerpc64 / s390x) I don't believe we have any CI hardware (or VM capabilities) to test powerpc64 / s390x. I built 32bit arm docker images for the pact-cli and pact-broker, and tested them out on a rasp pi 3 that I have on the shelf I'm open to trying to build for every target - but without being able to test them, means we can't even tell if they even work, beyond building them. If there are some ways to test powerpc64 / s390x locally or via CI, I'd be open to hear about it, but I don't think its a valuable use of our time, given the lack of demand. (We've not had requests for arm64 windows flavours yet - It's only me who was interested in building aarch64 windows as I use a windows vm for x plat testing alot. Note the x86_64 binaries for rust and ruby are fine - albeit with some vcredist patches or a dev preview build for ruby) |
The blocker for windows aarch64 is in ring v16.20 - there is a few tracking issues and a fix made by the community, which I've been testing and works great for me. Relevant posts |
Good to know! I'll change the title of this issue to specifically address the Windows ARM build :) |
We've had x86 requests on Windows before: pact-foundation/pact-net#448 |
What appetite might there be to building additional targets supported by Rust? From my understanding, this should be somewhat straightforward to implement given Rust's cross-compilation abilities.
From the perspective of
pact-python
, the only limitation to supporting other platforms comes from the underlying library.An interesting Python-backed-by-Rust project that could be worth looking at is
ruff
. In particular:To avoid scrolling through the above, the list of targets is:
Happy to get an idea for the appetite on this first before looking at implementing this.
EDIT: A lot of the platforms above are rather legacy (powerpc, 32-bit windows and linux). The only two that stand out as being more common are:
armv7
: which is used a lot on mobile phones (probably not worth addressing given the use case for Pact)aarch64-pc-windows
: this is the main one that is missing, and I would not be surprised if more ARM-based Windows platforms came up, following Apple's move to the ARM platform.The text was updated successfully, but these errors were encountered: