@ -38,7 +38,7 @@ func (cfg *Configuration) execHook(rl *release.Release, hook release.HookEvent,
}
}
}
}
// hook e are pre-ordered by kind, so keep order stable
// hook s are pre-ordered by kind, so keep order stable
sort . Stable ( hookByWeight ( executingHooks ) )
sort . Stable ( hookByWeight ( executingHooks ) )
for _ , h := range executingHooks {
for _ , h := range executingHooks {
@ -107,6 +107,39 @@ func (cfg *Configuration) execHook(rl *release.Release, hook release.HookEvent,
return nil
return nil
}
}
func ( cfg * Configuration ) hasPostInstallHooks ( rl * release . Release ) bool {
for _ , h := range rl . Hooks {
for _ , e := range h . Events {
if e == release . HookPostInstall {
return true
}
}
}
return false
}
func ( cfg * Configuration ) hasPostUpgradeHooks ( rl * release . Release ) bool {
for _ , h := range rl . Hooks {
for _ , e := range h . Events {
if e == release . HookPostUpgrade {
return true
}
}
}
return false
}
func ( cfg * Configuration ) hasPostRollbackHooks ( rl * release . Release ) bool {
for _ , h := range rl . Hooks {
for _ , e := range h . Events {
if e == release . HookPostRollback {
return true
}
}
}
return false
}
// hookByWeight is a sorter for hooks
// hookByWeight is a sorter for hooks
type hookByWeight [ ] * release . Hook
type hookByWeight [ ] * release . Hook