Interest in having automatic Docker Image building for the main branch?

88 views
Skip to first unread message

Thorsten Wittenator

unread,
Jan 6, 2024, 6:46:21 AM1/6/24
to ProjectChrono
Hi all,

I am currently in the situation that I need to distribute dockerized chrono images to my team for local development and as such I thought that it would be useful to offer our work back to the project. Judging from the current Docker images, somebody builds them by hand from time to time. Would you be interested in having this automated in form of Github Action runners that build automatically e.g. on push to main. Since the free runners don't have NVIDIA GPUs the chrono_sensors would not be included, but that could be pushed by hand just as it is now. It would also offer people a broader selection of images by using matrix builds for different architectures and cmake configurations.

Sincerely,
Thorsten

Radu Serban

unread,
Jan 6, 2024, 8:44:05 AM1/6/24
to ProjectChrono

Hi Thorsten,

 

Thank you for offering to contribute back to the project!

 

We are actually using GitLab for Chrono CI and deployment and as such an automation of the process for creating those Docker images should also go there (alongside the jobs for deploying the PyChrono conda packages).  Would you be interested in helping with that? We talked about adding a manual trigger for deploying the Docker images but didn’t get to it yet. 

 

Also, I think we’ll want that to be triggered manually (just like we do for the conda deployments).  I think it’d be overkill to create a new image with every push (we’d want to make sure we only package at certain commits; I also don’t know off the top of my head how much space we have on dockerhub).

 

Best,
Radu

--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/4dac67b4-43f9-40fb-9e3c-80a536b77d3dn%40googlegroups.com.

Thorsten Wittenator

unread,
Jan 6, 2024, 9:08:22 AM1/6/24
to ProjectChrono
Hi Radu,

ahh I didn't see that there is a Gitlab instance as well. How do the Github and Gitlab instances interconnect? Does the Gitlab mirror the Github or is it the other way around?
I thought of a Nightly/Release structure just as many other projects do it. So one image is generated every day/week/whatever time span makes sense automatically without human input and then there is a way to manually start release builds that get labeled accordingly. This way there is always a quick way to try out new features on the main branch without necessarily having to compile it all yourself. The latest image e.g. is already three months out-of-sync on Dockerhub and it is not really clear what is in there to begin with. 

There does not seem to be a space limit on Dockerhub (https://forums.docker.com/t/does-docker-hub-have-a-size-limitation-on-repos-or-images/10154) and images that don't include NVIDIA drivers and such should also be much smaller. So at least this is probably not a big concern. Do you host the runners on Gitlab yourself or do you use the free tier from Gitlab?

Sincerely,
Thorsten

Radu Serban

unread,
Jan 6, 2024, 12:35:13 PM1/6/24
to ProjectChrono

Hi Thorsten,

 

The GiLab repository is a mirror of the GitHub main repository and is synced on each push (to any branches).

 

Let’s take this offline as the follow up discussion will not be of interest to all other users.  I’ll email you separately.

Reply all
Reply to author
Forward
0 new messages