in builder/builder.go [346:372]
func (b *Builder) getPopulateDigests(ctx context.Context, dependencies []*image.Dependencies, usingBuildkit bool, registryCreds graph.RegistryLoginCredentials) error {
dockerStoreDigester := newDockerStoreDigest(b.procManager, b.debug)
var baseImgDigester DigestHelper
baseImgDigester = dockerStoreDigester
if usingBuildkit {
baseImgDigester = newRemoteDigest(registryCreds)
}
for _, entry := range dependencies {
// Always check 'entry.Image' in the Docker store,
// If it was pushed, 'docker inspect' will return a Digest, if not, it will return empty.
if err := dockerStoreDigester.PopulateDigest(ctx, entry.Image); err != nil {
return err
}
if err := baseImgDigester.PopulateDigest(ctx, entry.Runtime); err != nil {
return err
}
for _, buildtime := range entry.Buildtime {
if err := baseImgDigester.PopulateDigest(ctx, buildtime); err != nil {
return err
}
}
}
return nil
}