Abe404 / RootPainter3D

RootPainter3D: Interactive-machine-learning enables rapid and accurate contouring for radiotherapy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Executables and binary installers + CI

andreped opened this issue · comments

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.

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

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

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.

Made a PR now, as it seems to be working: #9

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

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.

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!