openworm / openworm/OpenWorm

Pin versions in Dockerfile for releases

Open
#317 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
3.1k
Forks
244
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the current Dockerfile and inventorying the unpinned OpenWorm and distro packages it installs. Define how an active-development image can remain unpinned while a release Dockerfile captures exact versions, then identify a mostly automated way to extract those versions. Done means older releases can be rebuilt reliably from their pinned Dockerfile.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, dockerfile
Domain
build-system, devops, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.