github.com/benchkram/bob@v0.0.0-20240314204020-b7a57f2f9be9/bobtask/target/hash.go (about)

     1  package target
     2  
     3  import (
     4  	"errors"
     5  	"fmt"
     6  
     7  	"github.com/benchkram/bob/pkg/dockermobyutil"
     8  	"github.com/benchkram/bob/pkg/usererror"
     9  )
    10  
    11  func (t *T) dockerImageHash(image string) (string, error) {
    12  	hash, err := t.dockerRegistryClient.ImageHash(image)
    13  	if err != nil {
    14  		if errors.Is(err, dockermobyutil.ErrImageNotFound) {
    15  			return "", usererror.Wrapm(err, "failed to fetch docker image hash")
    16  		} else {
    17  			return "", fmt.Errorf("failed to get docker image hash info %q: %w", image, err)
    18  		}
    19  	}
    20  	return hash, nil
    21  }