Merge pull request #13376 from helm/fix_oci_push_timestamp

fix: Use chart archive modifed time for OCI push
pull/13213/head
Andrew Block 11 months ago committed by GitHub
commit 717529a7e5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -90,8 +90,9 @@ func (pusher *OCIPusher) push(chartRef, href string) error {
path.Join(strings.TrimPrefix(href, fmt.Sprintf("%s://", registry.OCIScheme)), meta.Metadata.Name), path.Join(strings.TrimPrefix(href, fmt.Sprintf("%s://", registry.OCIScheme)), meta.Metadata.Name),
meta.Metadata.Version) meta.Metadata.Version)
chartCreationTime := ctime.Created(stat) // The time the chart was "created" is semantically the time the chart archive file was last written(modified)
pushOpts = append(pushOpts, registry.PushOptCreationTime(chartCreationTime.Format(time.RFC3339))) chartArchiveFileCreatedTime := ctime.Modified(stat)
pushOpts = append(pushOpts, registry.PushOptCreationTime(chartArchiveFileCreatedTime.Format(time.RFC3339)))
_, err = client.Push(chartBytes, ref, pushOpts...) _, err = client.Push(chartBytes, ref, pushOpts...)
return err return err

@ -21,5 +21,9 @@ import (
) )
func Created(fi os.FileInfo) time.Time { func Created(fi os.FileInfo) time.Time {
return created(fi) return modified(fi)
}
func Modified(fi os.FileInfo) time.Time {
return modified(fi)
} }

@ -23,8 +23,8 @@ import (
"time" "time"
) )
func created(fi os.FileInfo) time.Time { func modified(fi os.FileInfo) time.Time {
st := fi.Sys().(*syscall.Stat_t) st := fi.Sys().(*syscall.Stat_t)
//nolint //nolint
return time.Unix(int64(st.Ctim.Sec), int64(st.Ctim.Nsec)) return time.Unix(int64(st.Mtim.Sec), int64(st.Mtim.Nsec))
} }

@ -22,6 +22,6 @@ import (
"time" "time"
) )
func created(fi os.FileInfo) time.Time { func modified(fi os.FileInfo) time.Time {
return fi.ModTime() return fi.ModTime()
} }

Loading…
Cancel
Save