Revert previous implementation

Signed-off-by: Lucas Heinlen <lheinlen@onecause.com>
pull/9400/head
Lucas Heinlen 5 years ago
parent 15701c6736
commit 5f5549abaa
No known key found for this signature in database
GPG Key ID: 590AD23D7FBDFF2F

@ -31,14 +31,12 @@ func (cfg *Configuration) execHook(rl *release.Release, hook release.HookEvent,
executingHooks := []*release.Hook{} executingHooks := []*release.Hook{}
for _, h := range rl.Hooks { for _, h := range rl.Hooks {
if !h.ExecutionDisabled {
for _, e := range h.Events { for _, e := range h.Events {
if e == hook { if e == hook {
executingHooks = append(executingHooks, h) executingHooks = append(executingHooks, h)
} }
} }
} }
}
// hooke are pre-ordered by kind, so keep order stable // hooke are pre-ordered by kind, so keep order stable
sort.Stable(hookByWeight(executingHooks)) sort.Stable(hookByWeight(executingHooks))

@ -64,26 +64,37 @@ func (r *ReleaseTesting) Run(name string) (*release.Release, error) {
return rel, err return rel, err
} }
skippedHooks := []*release.Hook{}
executingHooks := []*release.Hook{}
if len(r.Filters["!name"]) != 0 { if len(r.Filters["!name"]) != 0 {
for _, h := range rel.Hooks { for _, h := range rel.Hooks {
if contains(r.Filters["!name"], h.Name) { if contains(r.Filters["!name"], h.Name) {
h.ExecutionDisabled = true skippedHooks = append(skippedHooks, h)
} else {
executingHooks = append(executingHooks, h)
} }
} }
rel.Hooks = executingHooks
} }
if len(r.Filters["name"]) != 0 { if len(r.Filters["name"]) != 0 {
executingHooks = nil
for _, h := range rel.Hooks { for _, h := range rel.Hooks {
if !contains(r.Filters["name"], h.Name) { if contains(r.Filters["name"], h.Name) {
h.ExecutionDisabled = true executingHooks = append(executingHooks, h)
} else {
skippedHooks = append(skippedHooks, h)
} }
} }
rel.Hooks = executingHooks
} }
if err := r.cfg.execHook(rel, release.HookTest, r.Timeout); err != nil { if err := r.cfg.execHook(rel, release.HookTest, r.Timeout); err != nil {
rel.Hooks = append(skippedHooks, rel.Hooks...)
r.cfg.Releases.Update(rel) r.cfg.Releases.Update(rel)
return rel, err return rel, err
} }
rel.Hooks = append(skippedHooks, rel.Hooks...)
return rel, r.cfg.Releases.Update(rel) return rel, r.cfg.Releases.Update(rel)
} }

@ -76,8 +76,6 @@ type Hook struct {
Weight int `json:"weight,omitempty"` Weight int `json:"weight,omitempty"`
// DeletePolicies are the policies that indicate when to delete the hook // DeletePolicies are the policies that indicate when to delete the hook
DeletePolicies []HookDeletePolicy `json:"delete_policies,omitempty"` DeletePolicies []HookDeletePolicy `json:"delete_policies,omitempty"`
// ExecutionDisabled is set to true when a hook has been filtered out and should not be executed
ExecutionDisabled bool `json:"-"`
} }
// A HookExecution records the result for the last execution of a hook for a given release. // A HookExecution records the result for the last execution of a hook for a given release.

Loading…
Cancel
Save