fix more test
Signed-off-by: yxxhero <aiopsclub@163.com>
(cherry picked from commit 07dbc163a7)
Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
parent
aeefe97c29
commit
1ef6087f32
|
|
@ -1342,6 +1342,7 @@ type ChartPrepareOptions struct {
|
|||
WaitForJobs bool
|
||||
OutputDir string
|
||||
OutputDirTemplate string
|
||||
IncludeNeeds bool
|
||||
IncludeTransitiveNeeds bool
|
||||
Concurrency int
|
||||
KubeVersion string
|
||||
|
|
@ -2943,14 +2944,23 @@ func (st *HelmState) GetReleasesWithLabels() []ReleaseSpec {
|
|||
|
||||
func (st *HelmState) SelectReleases(includeTransitiveNeeds bool) ([]Release, error) {
|
||||
values := st.Values()
|
||||
rs, err := markExcludedReleases(st.Releases, st.Selectors, values, includeTransitiveNeeds)
|
||||
rs, err := markExcludedReleases(st.Releases, st.Selectors, values, includeTransitiveNeeds, false)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rs, nil
|
||||
}
|
||||
|
||||
func markExcludedReleases(releases []ReleaseSpec, selectors []string, values map[string]any, includeTransitiveNeeds bool) ([]Release, error) {
|
||||
func (st *HelmState) SelectReleasesWithNeeds(includeTransitiveNeeds bool) ([]Release, error) {
|
||||
values := st.Values()
|
||||
rs, err := markExcludedReleases(st.Releases, st.Selectors, values, includeTransitiveNeeds, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rs, nil
|
||||
}
|
||||
|
||||
func markExcludedReleases(releases []ReleaseSpec, selectors []string, values map[string]any, includeTransitiveNeeds bool, includeNeeds bool) ([]Release, error) {
|
||||
var filteredReleases []Release
|
||||
filters := []ReleaseFilter{}
|
||||
for _, label := range selectors {
|
||||
|
|
@ -2982,6 +2992,8 @@ func markExcludedReleases(releases []ReleaseSpec, selectors []string, values map
|
|||
}
|
||||
if includeTransitiveNeeds {
|
||||
unmarkNeedsAndTransitives(filteredReleases, releases)
|
||||
} else if includeNeeds {
|
||||
unmarkDirectNeeds(filteredReleases, releases)
|
||||
}
|
||||
return filteredReleases, nil
|
||||
}
|
||||
|
|
@ -3039,6 +3051,23 @@ func unmarkNeedsAndTransitives(filteredReleases []Release, allReleases []Release
|
|||
unmarkReleases(needsWithTranstives, filteredReleases)
|
||||
}
|
||||
|
||||
func unmarkDirectNeeds(filteredReleases []Release, allReleases []ReleaseSpec) {
|
||||
directNeeds := collectDirectNeeds(filteredReleases, allReleases)
|
||||
unmarkReleases(directNeeds, filteredReleases)
|
||||
}
|
||||
|
||||
func collectDirectNeeds(filteredReleases []Release, allReleases []ReleaseSpec) map[string]struct{} {
|
||||
directNeeds := map[string]struct{}{}
|
||||
for _, r := range filteredReleases {
|
||||
if !r.Filtered {
|
||||
for _, need := range r.Needs {
|
||||
directNeeds[need] = struct{}{}
|
||||
}
|
||||
}
|
||||
}
|
||||
return directNeeds
|
||||
}
|
||||
|
||||
func collectAllNeedsWithTransitives(filteredReleases []Release, allReleases []ReleaseSpec) map[string]struct{} {
|
||||
needsWithTranstives := map[string]struct{}{}
|
||||
for _, r := range filteredReleases {
|
||||
|
|
|
|||
Loading…
Reference in New Issue