SickHub / docker-cups-airprint

A standalone CUPS and Avahi (mDNS/Bonjour) server, exposing local printers on AirPrint for iOS devices
GNU General Public License v3.0
165 stars 38 forks source link

Docker publish version tags for pinning #85

Closed sjafferali closed 9 months ago

sjafferali commented 9 months ago

I would like to pin a specific image, and update more deliberately, however the current tagging of the docker images makes this not possible since previous images are removed.

Is there any chance of adding version number tags to the docker images are published? Since this is built regularly, perhaps we could add a date tag that is also added to the current image, so that older images are also available for pinning purposes?

DrPsychick commented 9 months ago

hmm, I totally get your point to update deliberately. The reasoning behind regular builds is that the base is updated regularly to include security patches and the like. This repo does not have that many changes, so even if we'd introduce "semver" versioning for this repo (and its images), they would be updated regularly with the same version, to update the base image.

Do you have any suggestion how to solve this? Did you encounter any issues with updating the image "undeliberately"? What definitely would help is versioning to allow version pinning for potential breaking changes, but again, this repo will be built regularly with the same version nonethelss.

sjafferali commented 9 months ago

Did you encounter any issues with updating the image "undeliberately"?

Not this image, but I have run into issues updating other images previously, so always pin to a working image when I can.

Do you have any suggestion how to solve this?

Since images can have multiple tags, I was suggesting we add an additional tag for all images that are pushed with the format "$UBUNTUVERSION-$DATE" alongside the current "$UBUNTUVERSION" tag. When the weekly builds execute, the the tag "$UBUNTUVERSION" would be replaced to point to the lastest built version, exactly the way it does now, but the old image would still be available with the "$UBUNTUVERSION-$DATE" tag.

As an example, I made this change and submitted a PR for it in https://github.com/SickHub/docker-cups-airprint/pull/86. I tested this change out by pushing the image to my own dockerhub account. You can see the tags at https://hub.docker.com/r/sjafferali/airprint-bridge/tags for an example of how this would look when pushed.

DrPsychick commented 9 months ago

Thanks a lot @sjafferali for your quick suggestion/PR, approved and merged.