-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
request to moving location of Dockerfile #814
Comments
It seems like all the savings are due to no longer having to manually specify the Dockerfile; is that right? If so:
|
Yep you are right, the savings are due to having the Dockerfile with the default name and that default being used by the build command. |
I also think this change would be worth it just to improve the building, currently you must perform the docker build command from the root directory which is not same directory as dockerfile itself. The dockerfile has COPY commands that need viability of the CI folder. Therefore we have a bit of confusing situation where developers really have to think about location, relative location and absolute paths which is an unnecessary complexity. |
Sure- but much of that may disappear as we move through the steps in https://github.com/svalinn/DAGMC/projects/6 - so let's revisit then, and move this further down the list of actions? |
I believe the current Docker setup is tailored for CI builds, and it's a beneficial practice to store different Dockerfiles in separate directories based on their use cases, considering our use of GitHub workflows. |
Historically, I've hoped that our CI Dockerfile can be a useful guide for the average collaborator who wants to build from source. However, it always seems to deteriorate as we make the CI Dockerfile more complicated to support things we do in CI space. Therefore, I wonder if we should publish an additional Dockerfile that is streamlined but complete for the average collaborator to build directly. Pro: there is clear guidance for this type of user Con: we have to ensure that it stays up-to-date/current with other changes - it could be tested separately |
I think our current Dockerfile is sufficient for our needs. Instead of creating an additional Dockerfile, we could focus on updating our documentation to provide clearer guidance for collaborators. Additionally, rather than introducing another separate Dockerfile that requires separate testing, we could explore creating a multi-stage build that produces a smaller image containing only the necessary binary files. This streamlined approach could be more efficient for users without adding complexity to our workflows. |
There are many competing interests here to manage:
A PR that takes care of these things would be welcome |
I worry that our CI Dockerfile is far more complicated than many users want to worry about. I've always hoped that we could have a single Dockerfile for CI and for the average user, but wonder if we are better off with two? |
The Dockerfile is located in the CI folder but designed to be built when the current working directory is the root repository folder. The are COPY commands in the dockerfile that need the file to be run from one directory up.
I would be keen to move the Dockerfile to the root repository level.
This will be simpler to build but also save:
If people think this is a good idea I shall put in a PR for this to follow on PR #813
The text was updated successfully, but these errors were encountered: