Open jules32 opened 1 year ago
Makhan: Where do we create the image? Luis: The machines will be linux-based in the Cloud. So, the docker image we use for 2i2c is linux-based.
The image is created on GitHub, via the GitHub Action. GitHub Action is triggered for a push to main. This is then pushed to a registry: DockerHub
TODO:
TODO:
TODO:
Makhan: after another few sessions like this I'll be able to maintain the corn image in JupyterHub
We'll use GitHub Releases. Here is an example of how we do it for the Cookbook:
https://github.com/NASA-Openscapes/earthdata-cloud-cookbook/releases/
Note we use the calver versioning (year.month.0):
Luis our big aim for reproducibility:
"The corn image was able to render this whole cookbook on this day." We can use quarto to run through all of this.
We should start on this:: try to execute all the notebooks
Link to support tickets for 2i2c
environment.yml
Dependencies is time-consuming. Most are not pinned to a specific version. One thing I'd like to see: organize this list and say "why do you need dask here". what does it do, why do we have this library here.
Makhan: are there tools to do this? Luis: Yes Mamba can make a dependency tree.
But we don't use all these libraries often. Some were added for a workshop. Doing an inventory and justifying why things are here. Documenting good practice.
Example: netcdf4 package. An issue where the latest is not compatible with OPeNDAP. Without pinned versions it will build with most recent compatible. Conda-lock keeps track of versions