-
Notifications
You must be signed in to change notification settings - Fork 108
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
Add ARM64, ARM32, and x86 Linux Builds #414
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good overall, although I'm missing some x86 references.
This is just a thought, but I'm also concerned about the amount of steps needed to install the extra dependencies for linux arm/arm64.
I'm thinking about being in a rush to release a new git version (e.g. security fix), being forced to upgrade the Ubuntu runner, need to update these deb sources, something has changed in them and it becomes a not-so-easy fix 😅
If we weren't able to fix the issue in reasonable time, and since our priority is GitHub Desktop, we might decide to drop support for Linux arm32/arm64 (at least temporarily) to get the release going.
Unfortunately, I don't have a better suggestion to work around it…
keep in mind that these are the same as the amd64 dependencies that just happen to be pre-installed on the github runner. Obviously the non arm64/armhf dependencies are just there to be explicit. I left them in since it made testing easier when running on my local minimal ubuntu chroot. see:
so it is just simply two steps. add the corresponding apt repo (ports) that contains armhf/arm64
and then install the armhf/arm64 dependencies (the headers that are specific to this architecture that are currently only installed for amd64)
I will remove the unnecessary dependencies since it makes you worried 😄 |
redundant dependencies removed and ubuntu version now determined at runtime: should make changing between github runners a non-issue |
75a8fbf
to
b0b4838
Compare
added arm, and arm64 as acceptable TARGET_ARCH options correct update-git-lfs.ts to update linux x86, arm64, and arm correct check static linking for 32bit architectures transition to use significantly better naming scheme in preparation for extension to multiple more architectures
azure apt repos are used on github runner, so use the ports repo from azure for armhf/arm64
cleaned up commits |
@sergiou87 added x86 cross compile, LGTM! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you!
…aster"" This reverts commit f5e4acc.
Uses cross compilation to build and publish ARM32 and ARM64 linux builds. Successful action run here: https://github.com/theofficialgman/dugite-native/actions/runs/4213237492
The builds are very fast 🔥, equal to the speed of x64 linux or faster sometimes.
Spiritual successor to #330
Fixes #315
Replacement for #368
Closes #158
Closes desktop/dugite#521
progress for shiftkey/desktop#251
in tandum with desktop/dugite#522
Necessary for @shiftkey linux github desktop ARM and ARM64 builds in CI
LGTM!