exo icon indicating copy to clipboard operation
exo copied to clipboard

feat: Implement cross-platform executable compilation and distribution (WIP)

Open SethBurkart123 opened this issue 1 year ago • 5 comments

This work-in-progress pull request aims to transform exo into an easily installable executable for multiple platforms, streamlining the distribution process. Previous issue #334 was incorrectly closed by Github automatically.

Objectives:

  • [x] Create a comprehensive PyInstaller spec file to bundle all required dependencies
  • [x] Implement CI/CD workflows for automated executable builds
  • [x] Ensure mac builds work
  • [ ] Ensure linux builds work
  • [ ] Ensure windows builds work
  • [ ] Conduct comprehensive cross-platform testing to ensure complete functionality
  • [ ] Package the executable in an installation-ready format
  • [x] Develop scripts for submission to Homebrew

Key improvements:

  1. Simplified installation process for end-users
  2. Broader platform compatibility
  3. Automated build and distribution pipeline

Related #302

SethBurkart123 avatar Nov 13 '24 10:11 SethBurkart123

interesting approach! Just FYI, this is being worked on in https://github.com/exo-explore/exo/pull/354. As far as I can tell (from looking at the package you generated in your releases on GitHub), this creates an executable along with a directory of supporting libraries needed to run it. PR 354 allows for a single file to be generated.

dtnewman avatar Nov 13 '24 14:11 dtnewman

interesting approach! Just FYI, this is being worked on in #354. As far as I can tell (from looking at the package you generated in your releases on GitHub), this creates an executable along with a directory of supporting libraries needed to run it. PR 354 allows for a single file to be generated.

I'm currently developing all of those changes locally, the disadvantage with generating a single file executable is quite large cold start times. It's definitely an option I have played with but on each execution all libraries need to be unpacked for it to run causing it to take a while to load up.

SethBurkart123 avatar Nov 13 '24 19:11 SethBurkart123

I can probably contribute at least an aur package to this lol

blindcrone avatar Nov 15 '24 11:11 blindcrone

Might be worth making it a bit more client-servery though, I would like for this to be able to sanely run under systemd at least

blindcrone avatar Nov 15 '24 11:11 blindcrone

Might be worth making it a bit more client-servery though, I would like for this to be able to sanely run under systemd at least

this would also be important if we were to make an optional frontend app as well.

SethBurkart123 avatar Nov 16 '24 09:11 SethBurkart123