Skip to content

Image tags override causing broken digest references #385

@HadrienPatte

Description

@HadrienPatte

#351 updated the version of the maker image used to build images from a 3 years-old version to a recent one. As a side effect, this caused a key feature of the CI to break.

The build-image.sh script determines whether or not an image needs to be rebuilt by running crane digest $tag to discover whether the target image tag already exists in the registry or not. In case of command failure, it considers that the tag doesn't exist and proceeds to build and push it. But with the newly updated maker image, a credentials issue happens whenever running crane digest $tag, causing it to always fail and causing the script to always assume that the target tag does not exist in the registry and rebuild it.

Rebuilding an already existing tag would not be an issue if the images were fully hermetic and deterministic and the newly rebuilt image was identical to the previously built one and had the same digest. In that case, the rebuild would be noop.

But images here are not hermetic, so the rebuilt tag produces a different digest from the previously built version of the same tag.

This becomes an issue because quay.io purges digests that are no longer referenced by a tag, so the previous digests can no longer be pulled. This means that any place that used a digested reference of one of the affected images now has a broken image ref.

Affected images tags (all images in this repo minus the ones that were meant to be built in #351):

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions