cli/pkg/cmd/attestation/artifact/file.go
Brian DeHamer 53cae592f6
refactor to simplify implementation
Signed-off-by: Brian DeHamer <bdehamer@github.com>
2025-06-05 10:35:21 -07:00

25 lines
629 B
Go

package artifact
import (
"fmt"
"os"
"github.com/cli/cli/v2/pkg/cmd/attestation/artifact/digest"
)
func digestLocalFileArtifact(filename, digestAlg string) (*DigestedArtifact, error) {
data, err := os.Open(filename)
if err != nil {
return nil, fmt.Errorf("failed to open local artifact: %v", err)
}
defer data.Close()
digest, err := digest.CalculateDigestWithAlgorithm(data, digestAlg)
if err != nil {
return nil, fmt.Errorf("failed to calculate local artifact digest: %v", err)
}
return &DigestedArtifact{
URL: fmt.Sprintf("file://%s", filename),
digest: digest,
digestAlg: digestAlg,
}, nil
}