-
Notifications
You must be signed in to change notification settings - Fork 172
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 Static Linux Builds to CD #2456
Comments
I built a gridcoin snap for over 6 months and couldn't find anyone to even test it on testnet. This was a while ago, and familiarity with snaps was much lower. I'm happy to revive the effort if people think it would get used. I always thought of it as a way to support less common distros. I was building 4.0.0 + for testnet. Guess that was a while ago! |
I would rather do depends style static builds than snap builds. |
Until we get this automated, I am adding static Linux x86_64 builds to the release assets. I am providing both bdb48 and bdb53 versions. |
did these make it into the 5.4.0.0 release @jamescowens ? |
I haven't built them yet for the release. |
@APCBoston @jamescowens Copying the job with depends should be enough in this case, but we do get this for free with #2689. |
I was thinking of not just caching the build but automating the creation of As far as comparing this work to #2689 , copying Jim's comment from the Discord:
|
Alright, I'd recommend starting with adding targets for deb/rpm files in Makefile.am. We can add it to the CD to get them automatically builded then. |
My opinion is that an appimage build is effectively equivalent to a static build in that it has all of the dependencies in the self-unpacking archive. The depends style builds for Linux are flawed and do NOT produce truly static builds. They have remaining dependencies that make their portability across distributions limited. I am in favor of doing appimage for the fallback "generic" linux case rather than the depends style static build for Linux. |
@caraka You need to weigh in here. |
Not sure why it would be a Makefile target? rpm and deb are just structured ways of packaging what something like |
|
@jamescowens I hadn't checked before, the fact that depends style builds link to anything other than the libc is a bug that we should fix imo. AFAIK AppImages are just inferior versions of static binaries. They don't get the performance benefits of inlining nor the size benefits of dead code elimination and they have to have a layer of indirection before they can be run. |
I have no quibble with any of your other points, but this one has me scratching my head. The repo is in Github. Github provides GHA workflows as an available tool, and this project uses them for builds already... so in what sense do we "not rely on a specific CI" when we are in fact using GHA, and what would make a GHA workflow problematic? |
Definitely worth taking on. I built some appimages some years ago now, and they proved to be very unreliable at the time. AppImages have come a long way since then (as have we) and I am sure that w they would play nice now. |
Feature Request
Describe the Feature Request
The current CD deployment only covers Windows and MacOS builds. Adding a static Linux build would help make sure everyone has a build ready even if each distribution's build isn't ready yet. This may be especially important if a new release needs to be made for security reasons in the future. Github Action's cache system could be used to cache the depends builds and avoid making the builds take a long time.
Describe Alternatives
If Flatpack or any other more universal Linux packaging system is used, that would give the same benefit. It might just take more work to make that happen.
There also could be a build for each distribution, but this seems like it would be more work to maintain automated scripts for.
The text was updated successfully, but these errors were encountered: