diff --git a/pkg/state/state.go b/pkg/state/state.go index af26d017..2d5a7fed 100644 --- a/pkg/state/state.go +++ b/pkg/state/state.go @@ -1139,6 +1139,16 @@ func releasesNeedCharts(releases []ReleaseSpec) []ReleaseSpec { return result } +func filterReleasesForBuild(releases []ReleaseSpec) []ReleaseSpec { + var filteredReleases []ReleaseSpec + for _, r := range releases { + if len(r.JSONPatches) == 0 && len(r.StrategicMergePatches) == 0 && len(r.Transformers) == 0 { + filteredReleases = append(filteredReleases, r) + } + } + return filteredReleases +} + type ChartPrepareOptions struct { ForceDownload bool SkipRepos bool @@ -1237,6 +1247,12 @@ func (st *HelmState) PrepareCharts(helm helmexec.Interface, dir string, concurre releases := releasesNeedCharts(selected) + // For build command, skip releases that require chartify (jsonPatches, etc.) + // as we only need to output state, not actually template the charts + if helmfileCommand == "build" { + releases = filterReleasesForBuild(releases) + } + var prepareChartInfoMutex sync.Mutex prepareChartInfo := make(map[PrepareChartKey]string, len(releases))