aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pkg/pkg.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/pkg/pkg.go')
-rw-r--r--internal/pkg/pkg.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/pkg/pkg.go b/internal/pkg/pkg.go
index 1bc910ed..76e25d65 100644
--- a/internal/pkg/pkg.go
+++ b/internal/pkg/pkg.go
@@ -259,6 +259,11 @@ func (c *Cache) Store(
if err = makeArtifact(workPathname); err != nil {
return
}
+ // override this before hashing since it will be made read-only after the
+ // rename anyway so do not let perm bits affect the checksum
+ if err = os.Chmod(workPathname.String(), 0700); err != nil {
+ return
+ }
var checksum Checksum
if checksum, err = HashDir(workPathname); err != nil {
return
@@ -280,7 +285,10 @@ func (c *Cache) Store(
if !errors.Is(err, os.ErrExist) {
return
}
+ } else if err = os.Chmod(checksumPathname.String(), 0500); err != nil {
+ return
}
+
if linkErr := os.Symlink(
"../"+dirChecksum+"/"+path.Base(checksumPathname.String()),
pathname.String(),