Skip to content

Commit 94e17f0

Browse files
regnermumoshu
authored andcommitted
Disable diffing against test hooks by default (#119)
Use `--include-tests` to opt-in Fixes #114
1 parent 556337a commit 94e17f0

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

cmd/upgrade.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type diffCmd struct {
2929
resetValues bool
3030
allowUnreleased bool
3131
noHooks bool
32+
includeTests bool
3233
suppressedKinds []string
3334
outputContext int
3435
}
@@ -84,6 +85,7 @@ func newChartCommand() *cobra.Command {
8485
f.BoolVar(&diff.resetValues, "reset-values", false, "reset the values to the ones built into the chart and merge in any new values")
8586
f.BoolVar(&diff.allowUnreleased, "allow-unreleased", false, "enables diffing of releases that are not yet deployed via Helm")
8687
f.BoolVar(&diff.noHooks, "no-hooks", false, "disable diffing of hooks")
88+
f.BoolVar(&diff.includeTests, "include-tests", false, "enable the diffing of the helm test hooks")
8789
f.BoolVar(&diff.devel, "devel", false, "use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored.")
8890
f.StringArrayVar(&diff.suppressedKinds, "suppress", []string{}, "allows suppression of the values listed in the diff output")
8991
f.IntVarP(&diff.outputContext, "context", "C", -1, "output NUM lines of context around changes")
@@ -164,8 +166,8 @@ func (d *diffCmd) run() error {
164166
currentSpecs = manifest.Parse(releaseResponse.Release.Manifest, releaseResponse.Release.Namespace)
165167
newSpecs = manifest.Parse(upgradeResponse.Release.Manifest, upgradeResponse.Release.Namespace)
166168
} else {
167-
currentSpecs = manifest.ParseRelease(releaseResponse.Release)
168-
newSpecs = manifest.ParseRelease(upgradeResponse.Release)
169+
currentSpecs = manifest.ParseRelease(releaseResponse.Release, d.includeTests)
170+
newSpecs = manifest.ParseRelease(upgradeResponse.Release, d.includeTests)
169171
}
170172
}
171173

manifest/parse.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,13 @@ func splitSpec(token string) (string, string) {
6161
return "", ""
6262
}
6363

64-
func ParseRelease(release *release.Release) map[string]*MappingResult {
64+
func ParseRelease(release *release.Release, includeTests bool) map[string]*MappingResult {
6565
manifest := release.Manifest
6666
for _, hook := range release.Hooks {
67+
if !includeTests && isTestHook(hook.Events) {
68+
continue
69+
}
70+
6771
manifest += "\n---\n"
6872
manifest += fmt.Sprintf("# Source: %s\n", hook.Path)
6973
manifest += hook.Manifest
@@ -105,5 +109,14 @@ func Parse(manifest string, defaultNamespace string) map[string]*MappingResult {
105109
}
106110
}
107111
return result
112+
}
113+
114+
func isTestHook(hookEvents []release.Hook_Event) bool {
115+
for _, event := range hookEvents {
116+
if event == release.Hook_RELEASE_TEST_FAILURE || event == release.Hook_RELEASE_TEST_SUCCESS {
117+
return true
118+
}
119+
}
108120

121+
return false
109122
}

0 commit comments

Comments
 (0)