google / google/go-containerregistry

ggcr:

Open
#2,339 1 comment 3 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
4k
Forks
686
Avg merge
2d 12h
Merged PRs (30d)
26

Description

### Describe the bug

I believe there is a regression in ggcr - though I don't yet have concrete steps on exactly how.

I believe this change is the most likely candidate for the observed behavior change
https://github.com/google/go-containerregistry/pull/2286

### To Reproduce
See https://github.com/buildpacks/lifecycle/issues/1662

Using buildpack's `pack` command with an OSS upstream builder - the exported image is now invalid compared to previous version. The only material change observed was ggcr bump (and one regression that required code change in https://github.com/buildpacks/lifecycle/pull/1654 - caught by tests)

### Expected behavior

The image should be exported as it previously was, with no diffid mismatch.

### Additional context

Happy to try and help run this down further - but figured I'd open an issue before getting too deep given the evidence pointing. I don't doubt there is some case where an in-memory representation of an image is an unrecognized media type but I can't seem to find the culprit area right now.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the invalid exported image with buildpack's pack command, using buildpacks/lifecycle issue 1662 as the scenario and checking for the diffid mismatch. Compare the behavior around go-containerregistry PR 2286 and the regression-related change in lifecycle PR 1654; done means the exported image is valid and matches the previous behavior without a diffid mismatch.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.