mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-01-11 14:40:25 +01:00
[FEAT]: Support aarch64 builds on GitHub Actions #495
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @LGUG2Z on GitHub (Oct 15, 2024).
Sponsorship Information
GitHub Sponsors
Suggestion
In the last week there have been two
aarch64machine users who have joined the community and with the growing popularity of both the software and ARM Windows laptops, it probably won't be long until there are more.We need to have
aarch64builds happening as part of our regular builds against every commit and PR, and also haveaarch64builds available in the tagged releases.Things that need to be researched:
scoophandle packages which target multiple architectures?wingethandle packages which target multiple architectures?scoopandwingetmanifests?aarch64Windows runners?cross-rs?This is probably also a good time to completely overhaul our GitHub actions workflows since they are a huge mess and I hate touching them.
Alternatives Considered
aarch64users compile from source? Gross@LGUG2Z commented on GitHub (Oct 15, 2024):
I tried running
cross build --target aarch64-pc-windows-msvclocally and got this error:I installed all the C++ development tools from the Visual Studio installer but I still don't have
cl.exe🤔@LGUG2Z commented on GitHub (Oct 15, 2024):
https://www.qovery.com/blog/how-to-make-rust-multi-arch-release-easy/
Could possibly be useful, though I would like to remove our dependency on
goreleasercompletely 🤔@bbedward commented on GitHub (Oct 15, 2024):
You likely need to host an arm64 windows GitHub runner. Not sure if cross compiling is possible given this projects dependencies.
there are some hosted services such as WarpBuild, but not sure if they have windows arm64 runners (seems like not)
@LGUG2Z commented on GitHub (Oct 16, 2024):
Luckily I found this action which did a lot of the heavy lifting with regards to cross-compilation: https://github.com/houseabsolute/actions-rust-cross - I don't know what it does but it works!
@LGUG2Z commented on GitHub (Oct 16, 2024):
I iterated on a bunch of changes I had to enable this in the whkd repo:
a04b9d5fc1/.github/workflows/windows.yaml (L23)I managed to cut a release with both x86_64 and aarch64 binaries through the workflow and I've migrated largely the same approach here:
92dd3169caI have set up a release dry run job which will run on every
mastercommit to hopefully get ahead of any breaking workflow changes quickly in the future.From the whkd update experience it seems like the WinGet updater action will not pick up the new arch target so it will need to be updated manually when the action creates the PR to the WinGet pkgs repo. Still not sure if the scoop updater will pick it up as it hasn't found v0.2.2 yet...