fix(package): dedup StampModTimes after rebase onto ad93b7df

PR #32162 (merged 2026-07-15) introduced its own StampModTimes
implementation in pkg/chart/v2/chart.go, causing a duplicate after
rebasing this branch.  Keep our version (UTC.Truncate normalization,
detailed Lock.Generated comment, nil guards) and remove the duplicate
from #32162.  Also remove a duplicate StampModTimes call that appeared
in action/package.go after the rebase.

Signed-off-by: Ilya Kiselev <kis-ilya-a@yandex.ru>
pull/32173/head
Ilya Kiselev 3 months ago
parent a5bc5429ad
commit 21d53bb52e

@ -135,10 +135,6 @@ func (p *Package) Run(path string, _ map[string]any) (string, error) {
dest = p.Destination
}
if p.SourceDateEpoch != nil {
ch.StampModTimes(*p.SourceDateEpoch)
}
name, err := chartutil.Save(ch, dest)
if err != nil {
return "", fmt.Errorf("failed to save: %w", err)

@ -118,20 +118,28 @@ func (ch *Chart) Dependencies() []*Chart { return ch.dependencies }
func (ch *Chart) StampModTimes(t time.Time) {
t = t.UTC().Truncate(time.Second)
ch.ModTime = t
ch.SchemaModTime = t
if len(ch.Schema) > 0 {
ch.SchemaModTime = t
}
if ch.Lock != nil {
ch.Lock.Generated = t
}
for _, f := range ch.Raw {
f.ModTime = t
if f != nil {
f.ModTime = t
}
}
for _, f := range ch.Templates {
f.ModTime = t
if f != nil {
f.ModTime = t
}
}
for _, f := range ch.Files {
f.ModTime = t
if f != nil {
f.ModTime = t
}
}
for _, dep := range ch.dependencies {
for _, dep := range ch.Dependencies() {
dep.StampModTimes(t)
}
}
@ -208,37 +216,6 @@ func (ch *Chart) CRDObjects() []CRD {
return crds
}
// StampModTimes sets timestamps on the chart (and dependencies) to epoch.
// This is used for reproducible builds via SOURCE_DATE_EPOCH.
func (ch *Chart) StampModTimes(epoch time.Time) {
ch.ModTime = epoch
if len(ch.Schema) > 0 {
ch.SchemaModTime = epoch
}
if ch.Lock != nil {
ch.Lock.Generated = epoch
}
for _, f := range ch.Raw {
if f != nil {
f.ModTime = epoch
}
}
for _, f := range ch.Templates {
if f != nil {
f.ModTime = epoch
}
}
for _, f := range ch.Files {
if f != nil {
f.ModTime = epoch
}
}
for _, dep := range ch.Dependencies() {
dep.StampModTimes(epoch)
}
}
func hasManifestExtension(fname string) bool {
ext := filepath.Ext(fname)
return strings.EqualFold(ext, ".yaml") || strings.EqualFold(ext, ".yml") || strings.EqualFold(ext, ".json")

Loading…
Cancel
Save