cli/pkg/cmd/attestation/artifact/file.go
Meredith Lancaster 02a1274eaa cleanup error wrapping
Signed-off-by: Meredith Lancaster <malancas@github.com>
2024-03-18 11:57:44 -06:00

25 lines
633 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 get 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
}