mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-05-19 01:47:43 +08:00
Merge pull request #1797 from crazy-max/fix-image-create
This commit is contained in:
commit
167cd16acb
@ -122,24 +122,29 @@ func (r *Resolver) Combine(ctx context.Context, srcs []*Source) ([]byte, ocispec
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mt := images.MediaTypeDockerSchema2ManifestList //ocispec.MediaTypeImageIndex
|
dockerMfsts := 0
|
||||||
idx := struct {
|
for _, desc := range newDescs {
|
||||||
// MediaType is reserved in the OCI spec but
|
if strings.HasPrefix(desc.MediaType, "application/vnd.docker.") {
|
||||||
// excluded from go types.
|
dockerMfsts++
|
||||||
MediaType string `json:"mediaType,omitempty"`
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ocispec.Index
|
var mt string
|
||||||
}{
|
if dockerMfsts == len(newDescs) {
|
||||||
|
// all manifests are Docker types, use Docker manifest list
|
||||||
|
mt = images.MediaTypeDockerSchema2ManifestList
|
||||||
|
} else {
|
||||||
|
// otherwise, use OCI index
|
||||||
|
mt = ocispec.MediaTypeImageIndex
|
||||||
|
}
|
||||||
|
|
||||||
|
idxBytes, err := json.MarshalIndent(ocispec.Index{
|
||||||
MediaType: mt,
|
MediaType: mt,
|
||||||
Index: ocispec.Index{
|
|
||||||
Versioned: specs.Versioned{
|
Versioned: specs.Versioned{
|
||||||
SchemaVersion: 2,
|
SchemaVersion: 2,
|
||||||
},
|
},
|
||||||
Manifests: newDescs,
|
Manifests: newDescs,
|
||||||
},
|
}, "", " ")
|
||||||
}
|
|
||||||
|
|
||||||
idxBytes, err := json.MarshalIndent(idx, "", " ")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, ocispec.Descriptor{}, errors.Wrap(err, "failed to marshal index")
|
return nil, ocispec.Descriptor{}, errors.Wrap(err, "failed to marshal index")
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user