NWChemEx / .github

GitHub Settings for the NWChemEx Organization
https://nwchemex.github.io/.github/
Apache License 2.0
1 stars 2 forks source link

Docker Image for Dependencies #81

Open ryanmrichard opened 1 year ago

ryanmrichard commented 1 year ago

Now that we can install, our goal is to start cacheing as much of our CI build as possible. This is going to involve building and maintaining Docker images. This process will inevitably, so at this point we focus on a minimum working example. In this "first pass", we need to create infrastructure (in the .github repo if this infrastructure lives on GitHub; I am also open to maintaining the infrastructure on DockerHub if that's easier) that will be responsible for building and maintaining what I will refer to as the "base image." In this first pass the base image will include:

This image is expected to be static. We will in general never rebuild it unless we drop a dependency or are optimizing it. This issue focuses exclusively on building this image and is considered complete when we can build this image and it has passed the acceptance test laid out in https://github.com/NWChemEx-Project/ParallelZone/issues/107.

yzhang-23 commented 1 year ago

For "The Docker image will be managed out of the .github repo.", do you mean we should put the docker image file outside the .github repo? Where should we put it?

ryanmrichard commented 1 year ago

I was originally thinking that the machinery for building the image would live in this repo. I'm indifferent to where the actual image lives. It would probably be nice to keep it on GitHub, just so everything is here, but if it's easier to store the image somewhere else then go for it.

yzhang-23 commented 1 year ago

So, you mean after we build the docker image, we use the command docker image push to put the image somewhere, and later use docker image pull to get it?

ryanmrichard commented 1 year ago

I have never used images with GitHub actions, but my guess is there's actions for these things already.

yzhang-23 commented 1 year ago

Sure. I will check and try. Thanks.

yzhang-23 commented 1 year ago

To be clear, we only need to build this basic docker image once and put it in some registry, and later every time when we need it we pull it from the registry, right?

ryanmrichard commented 1 year ago

That's the eventual plan. Until we converge on what all needs to be in the image, we'll have to rebuild it several times.

yzhang-23 commented 1 year ago

Ok, I see. Of course we should refine the image until it becomes stable. I just want to confirm that no need to build the image using Github actions every time.