badges / shields

Concise, consistent, and legible badges in SVG and raster format
https://shields.io
Creative Commons Zero v1.0 Universal
23.7k stars 5.49k forks source link

Docker version tag doesn't work with `arm64` images #6853

Closed joelhoisko closed 3 years ago

joelhoisko commented 3 years ago

Are you experiencing an issue with...

shields.io

🐞 Description

I'm trying to use the "Docker Image Version (tag latest semver)" from shields.io on an arm64 architecture image. The resulting badge gives a "digest not found for given tag", even though there is digest for it on Docker hub.

Just in case my image would be broken, the same thing happens for MongoDB's arm64 badge: https://img.shields.io/docker/v/arm64v8/mongo/latest

🔗 Link to the badge

https://img.shields.io/docker/v/dolittle/runtime/6.1.0-arm64

💡 Possible Solution

Looking into this, one old issue mentioned something regarding this https://github.com/badges/shields/issues/4904#issuecomment-613742586 and how it used to default to amd64 architecture. Looking at the current code, it supports multiple architectures but it still defaults to amd64 if nothing else is defined. So this could be about how shields.io handles setting that particular value.

calebcartwright commented 3 years ago

You need to use the arch parameter in cases where you either want to use a different architecture or where there aren't any amd64 images https://img.shields.io/docker/v/dolittle/runtime/6.1.0-arm64?arch=arm64

We have to default to something, and the x86 64 bit target was the most sane default. However, we subsequently added the arch parameter because as noted in the prior issues you referenced as well as the case at hand, it's definitely not always the desired behavior