diff --git a/internal/pipe/checksums/checksums.go b/internal/pipe/checksums/checksums.go index b57837667d4..4ec6f8a5745 100644 --- a/internal/pipe/checksums/checksums.go +++ b/internal/pipe/checksums/checksums.go @@ -19,6 +19,10 @@ import ( "github.com/goreleaser/goreleaser/pkg/context" ) +const ( + artifactChecksumExtra = "Checksum" +) + var ( errNoArtifacts = errors.New("there are no artifacts to sign") lock sync.Mutex @@ -137,11 +141,17 @@ func refresh(ctx *context.Context, filepath string) error { return err } -func checksums(algorithm string, artifact *artifact.Artifact) (string, error) { - log.WithField("file", artifact.Name).Debug("checksumming") - sha, err := artifact.Checksum(algorithm) +func checksums(algorithm string, a *artifact.Artifact) (string, error) { + log.WithField("file", a.Name).Debug("checksumming") + sha, err := a.Checksum(algorithm) if err != nil { return "", err } - return fmt.Sprintf("%v %v\n", sha, artifact.Name), nil + + if a.Extra == nil { + a.Extra = make(artifact.Extras) + } + a.Extra[artifactChecksumExtra] = fmt.Sprintf("%s:%s", algorithm, sha) + + return fmt.Sprintf("%v %v\n", sha, a.Name), nil } diff --git a/internal/pipe/checksums/checksums_test.go b/internal/pipe/checksums/checksums_test.go index 6568672ee43..fde1baa0676 100644 --- a/internal/pipe/checksums/checksums_test.go +++ b/internal/pipe/checksums/checksums_test.go @@ -344,6 +344,19 @@ func TestPipeCheckSumsWithExtraFiles(t *testing.T) { require.Contains(t, string(bts), "3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 "+want) } } + + _ = ctx.Artifacts.Visit(func(a *artifact.Artifact) error { + if a.Path != file { + return nil + } + if len(tt.ids) > 0 { + return nil + } + checkSum, err := artifact.Extra[string](*a, artifactChecksumExtra) + require.Nil(t, err) + require.NotEmptyf(t, checkSum, "failed: %v", a.Path) + return nil + }) }) } } diff --git a/internal/pipe/docker/docker.go b/internal/pipe/docker/docker.go index 108bc8ba3a8..82ca2ce20df 100644 --- a/internal/pipe/docker/docker.go +++ b/internal/pipe/docker/docker.go @@ -20,7 +20,7 @@ import ( const ( dockerConfigExtra = "DockerConfig" - dockerDigestExtra = "digest" + dockerDigestExtra = "Digest" useBuildx = "buildx" useDocker = "docker"