Supermodel icon indicating copy to clipboard operation
Supermodel copied to clipboard

Provide Pre-Compiled Linux Binary as Tarball

Open WingofaGriffin opened this issue 2 years ago • 4 comments

While I completely agree that compiling it yourself is a key part of the linux experience, providing a pre-compiled tarball of the binary I believe would be useful for a matter of reasons, including hash comparison and ease of distribution.

This is something that could be pretty easily automated, using a VM, cloud service, or GitHub actions for example.

WingofaGriffin avatar Dec 17 '22 18:12 WingofaGriffin

Moving builds for all systems over to GitHub Actions would be great. But every time I look at the documentation my eyes glaze over. Someone is going to have to show me how to do it :)

trzy avatar Dec 17 '22 19:12 trzy

A lot of the work has already been done with templates. Seeing that you are using MSYS2, someone already made a template to use here: https://github.com/marketplace/actions/setup-msys2

MSYS2 Even has their own docs on it: https://www.msys2.org/docs/ci/

Then it should be as simple as using actions to build for Windows, Linux, and MacOS using their different VMs. Some examples I found that do it a bit more explanatory to the docs:

  • https://ariya.io/2020/07/on-github-actions-with-msys2
  • https://cristianadam.eu/20191222/using-github-actions-with-c-plus-plus-and-cmake/
  • https://thatonegamedev.com/cpp/ci-cd-for-c-c-games-using-github-actions/
  • https://levelup.gitconnected.com/utilizing-github-actions-to-build-and-test-on-multiple-platforms-a7fe3aa6ce2a
  • https://www.incredibuild.com/blog/using-github-actions-with-your-c-project

WingofaGriffin avatar Dec 17 '22 19:12 WingofaGriffin

Drafted a PR for this here: https://github.com/trzy/Supermodel/issues/52#issuecomment-1356402511

Linux (Ubuntu) seems to work, but having issues with Windows with the readme build instructions.

WingofaGriffin avatar Dec 26 '22 01:12 WingofaGriffin

AppImage format will be a better package format for Linux users : no missing dependencies whatever Linux distribution you use.

legluondunet avatar May 10 '23 10:05 legluondunet