Closed brean closed 1 year ago
That Dockerfile is a remnant of the old Travis CI, where we used it to build and run the CI tests (because Travis didn't provide an Ubuntu 20.04 installation). After the switch to GitHub actions (#115), it's not used any more.
In the CI use case, we don't want to install all these dependencies up front, because part of the things that the CI tests is that all dependencies are correctly installed via rosdep
, and we want it to fail when a build dependency is not correctly listed in the package.xml
files.
I've just left the Dockerfile there as a convenience for users, but I don't really want to spend any effort on maintaining it, and I'd like to keep it simple. So I tend to leave it as it is, unless you have a use case that requires changing it.
I recommend installing all dependencies in docker-file using apt, this way the docker-cache could be used which reduces the rebuild time by a lot which is especially useful while having bad internet connection.
On the negative side it would add a lot of lines to the Dockerfile and would make reading it harder, also the dependencies might change in the future, so I am not presenting a pr directly. It would look something like this: