Abe404 / RootPainter3D

RootPainter3D: Interactive-machine-learning enables rapid and accurate contouring for radiotherapy
GNU General Public License v3.0
19 stars 10 forks source link

Executables and binary installers + CI #8

Closed andreped closed 2 years ago

andreped commented 2 years ago

As discussed in PR #7, we thought it was a good idea to setup an workflow for building an installer of the software.

However, this requires us to restructure the code such that the program itself can be installed and run as an executable. The core code could likely be merged into the executable, but there is likely some other stuff that should live outside the executable. Not sure.

I can make an initial attempt and submit a PR when I have something somewhat working.

andreped commented 2 years ago

I'm currently developing on this branch: https://github.com/andreped/RootPainter3D/tree/workflows

Will make a PR when it is somewhat "working".

andreped commented 2 years ago

CI builds for Windows and Ubuntu run successfully now on my branch: https://github.com/andreped/RootPainter3D/actions/runs/2921480841

However, I see that some of the dependencies are not includes. Need to do some hook-magic, and then it should "work".

I don't think there is any point in setting up CI for macOS as macOS don't support NVIDIA GPUs, but in practice it is quite easy to make an installer for it.

andreped commented 2 years ago

Made a PR now, as it seems to be working: https://github.com/Abe404/RootPainter3D/pull/9

But we will have to test it further, before we make this the official way to create binary releases.

Abe404 commented 2 years ago

CI builds for Windows and Ubuntu run successfully now on my branch: https://github.com/andreped/RootPainter3D/actions/runs/2921480841

However, I see that some of the dependencies are not includes. Need to do some hook-magic, and then it should "work".

I don't think there is any point in setting up CI for macOS as macOS don't support NVIDIA GPUs, but in practice it is quite easy to make an installer for it.

Well, the server is designed to run on linux or windows (due to the CUDA requirement) but the client could run fine on Mac. I often use the 2D client (https://github.com/Abe404/root_painter) on Mac. Anyway, I don't see this as an urgent priority but thought I should clarify. To add more context the client can run on Mac because the client-server communication is via file sync so the server can be on linux and the client on mac with IO enabled via dropbox or sshfs etc.

andreped commented 2 years ago

That makes sense. Adding support for macOS is trivial (GUI, install, and CI-wise). I can make a new PR tomorrow adding the necessary stuff :) Np!

andreped commented 2 years ago

Fixed in 640475493c585660214925604ff87ba489ef7649