Multi-platform builds (Linux, Darwin, Windows) and architectures (amd64, arm64)
Add a Goreleaser configuration for multi-platform builds, enabling users to seamlessly run the Zeno on any platform (Linux, Darwin, Windows) and architecture (amd64, arm64) of their choice.
https://goreleaser.com/
@CorentinB
Seems like a fine idea, although we should be more clear that we intend Zeno to be used on Linux, and not really on anything else.
How can I contribute to this issue and work hand in hand with you?
@CorentinB I was thinking of submitting my GSoC application for the Zeno idea. The idea given is kinda vague, but right now I wanna familiarize myself with the codebase, do you think this would be a good first issue for that, or should I tackle something like #159, #160 or #161, are those issues more pertinent?
There are currently only two factors that prevent Zeno from building and running on Windows and other OS:
- Zeno's diskwatcher only uses linux syscall to get the free space size of the PWD.
- warclib's DNS configurations is hardcoded to read from /etc/resolv.conf. On some {Linux distributions,containers,OSs} such as Windows, nixos, termux, etc., this path does not exist.
Providing binaries for other platforms does help people try Zeno :) Although, like @CorentinB said, Zeno targets standard Linux, and we cannot guarantee that it will work properly in other environments.
@CorentinB why reopen this issue? Multi-platform builds are working if you look here - https://github.com/internetarchive/Zeno/releases/tag/v2.0.15
@CorentinB why reopen this issue? Multi-platform builds are working if you look here - https://github.com/internetarchive/Zeno/releases/tag/v2.0.15
No actually it was opened, I closed it then realised I wasn't sure so reopened it lol