astral-sh / uv

An extremely fast Python package and project manager, written in Rust.
https://docs.astral.sh/uv
Apache License 2.0
28.11k stars 806 forks source link

Re-enable ARM Windows builds in release pipeline #1141

Open charliermarsh opened 10 months ago

charliermarsh commented 10 months ago

See: https://github.com/astral-sh/puffin/actions/runs/7673412766 (failure to build libgit2).

See: https://github.com/astral-sh/puffin/actions/runs/7673603363 (failure to build libgit2, even after enabling vendoring).

konstin commented 10 months ago

Does this mean we want support aarch64 windows? Then we need e.g. launcher binaries and some testing that puffin actually works.

charliermarsh commented 10 months ago

I'll turn this into a more general issue. This was just about getting CI building but that makes sense. I assume I should similarly disable the i686 Windows then?

konstin commented 10 months ago

I don't understand which of the errors was the fatal one. On linux with cargo xwin build --target x86_64-pc-windows-msvc, libgit2 compile but then the linking fails with

lld-link: error: could not open 'msvcrtd.lib': No such file or directory
messense commented 8 months ago

@konstin This is because cargo-xwin does not keep debug libs by default, you can pass --xwin-include-debug-libs to keep them, or build in release mode instead.

FYI, msvcrtd.dll is a "debug"-version of the file msvcrt.dll.

konstin commented 8 months ago

Thank you, release mode indeed works!

henryiii commented 6 months ago

Any plans here? Did it just need to be built in release mode? Windows ARM is another platform cibuildwheel supports. I also have a Windows ARM dev box that I'd like to be able to use uv on. :)

konstin commented 6 months ago

The trampolines are committed and ready. Last time we were investigating arm windows we were told that not even microsoft themselves properly support it, so we just haven't made CI builds for a priority.

matterhorn103 commented 2 months ago

If you guys would be helped at all by someone testing or compiling on a Windows ARM machine, I have one and am happy to help!

darthtrevino commented 1 month ago

So with the advent of the Snapdragon X chips, we're seeing Windows ARM machines become more commonplace. Older ARM chips were pretty lame, but they're dramatically improving, and dev ecosystem support is too. I have one team member who uses Windows ARM as their personal dev machine.

zanieb commented 1 month ago

If someone wants to put some effort into getting an ARM build working I'm all for it. I think we could start with something low impact like the #8269 build then move to distributing releases as a secondary goal.