openworm / OpenWorm

Repository for the main Dockerfile with the OpenWorm software stack and project-wide issues
http://openworm.org
MIT License
2.55k stars 201 forks source link

Pin versions in Dockerfile for releases #317

Open mwatts15 opened 2 years ago

mwatts15 commented 2 years ago

Our current Dockerfile refers to several software packages without any version constraints, both for our own software (e.g., c302, Sibernetic) and for distro packages (e.g., git, g++). To keep older versions maintainable it would be better to explicitly declare, or "pin", the versions for these packages when making a release so those earlier versions could be more reliably rebuilt from the Dockerfile.

The current Dockerfile or something like it should be maintained for active development so that we can integrate the latest versions of all components without needing to check all packages for upgrades one-by-one. Since integration of active development artifacts would be reflected in this un-pinned Docker image, there should be a mostly automated means of extracting all the versions of installed packages for the release Dockerfile.

pgleeson commented 2 years ago

@mwatts15 Agreed, this would be useful. I (partially) did this for the Dockerfile for python 2, but don't hold much hope of that staying working for too long, but that's more down to python 2 end of life issues.