dask-kubernetes icon indicating copy to clipboard operation
dask-kubernetes copied to clipboard

Operator docker image didn't get latest tag on release

Open jacobtomlinson opened this issue 2 years ago • 3 comments

When 2022.5.1 was released the ghcr.io/dask/dask-kubernetes-operator:2022.5.1 Docker image was built and published by Chartpress. However ghcr.io/dask/dask-kubernetes-operator:latest wasn't updated and continued to point to the previous release.

I've manually tagged latest and updated the registry so everything is ok now, but we need to fix this for the next release.

I'm guessing something needs changing in the Chartpress config to make this happen but looking at the config reference I can't immediately see what needs changing.

@consideratio could you point me in the right direction here?

jacobtomlinson avatar May 30 '22 15:05 jacobtomlinson

Just released 2022.5.2 and manually tagged latest again.

jacobtomlinson avatar May 31 '22 11:05 jacobtomlinson

In the jupyterhub org, using chartpress to publish z2jh and binderhub, I wished for this initially (https://github.com/jupyterhub/chartpress/issues/94), but I'm not wishing for it any more. I think it could encourage various behaviours that makes things harder for everyone.

I consider for example someone using :latest instead of a specified version then asking for help. They may even think that "well i started this container day X, which means it should be version Y" but failed to consider that they perhaps had a cached image or similar making they draw the wrong conclusion, and suddenly a bug thought to be fixed perhaps is considered possibly still around etc. It would cause some issues for users and maintainers of software if this happened.

Of course, there may be circumstances when you may wish to have :latest that motivates development of a feature in chartpress to support pushing latest anyhow. If so, the course of action would be to open an issue in chartpress, linking out to https://github.com/jupyterhub/chartpress/issues/94 for reference, and motivating the implementation of it. The alternative options, to not let chartpress do this part, is to for example use chartpress --list-images and do docker tag <already built image:tag> <name:latest> and then docker push <name:latest> on each listed image.

consideRatio avatar May 31 '22 15:05 consideRatio

Circling back here. I agree that a latest tag isn't good practice.

The problem I'm having is that you can either install the operator via helm or via manifests. The helm chart gets the correct tag thanks to chartpress. However, the manifests still have ghcr.io/dask/dask-kubernetes-operator:latest hardcoded.

So the other solution would be to automatically bump this version in the manifest during a release.

jacobtomlinson avatar Oct 05 '22 11:10 jacobtomlinson