From 5f5549abaa50d7ad5b21ca2bdabc610ef62060f8 Mon Sep 17 00:00:00 2001 From: Lucas Heinlen Date: Thu, 25 Feb 2021 09:35:56 -0500 Subject: [PATCH] Revert previous implementation Signed-off-by: Lucas Heinlen --- pkg/action/hooks.go | 8 +++----- pkg/action/release_testing.go | 17 ++++++++++++++--- pkg/release/hook.go | 2 -- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/pkg/action/hooks.go b/pkg/action/hooks.go index 47c76bda3..40c1ffdb6 100644 --- a/pkg/action/hooks.go +++ b/pkg/action/hooks.go @@ -31,11 +31,9 @@ func (cfg *Configuration) execHook(rl *release.Release, hook release.HookEvent, executingHooks := []*release.Hook{} for _, h := range rl.Hooks { - if !h.ExecutionDisabled { - for _, e := range h.Events { - if e == hook { - executingHooks = append(executingHooks, h) - } + for _, e := range h.Events { + if e == hook { + executingHooks = append(executingHooks, h) } } } diff --git a/pkg/action/release_testing.go b/pkg/action/release_testing.go index ca0d9ced7..ecaeaf59f 100644 --- a/pkg/action/release_testing.go +++ b/pkg/action/release_testing.go @@ -64,26 +64,37 @@ func (r *ReleaseTesting) Run(name string) (*release.Release, error) { return rel, err } + skippedHooks := []*release.Hook{} + executingHooks := []*release.Hook{} if len(r.Filters["!name"]) != 0 { for _, h := range rel.Hooks { 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 { + executingHooks = nil for _, h := range rel.Hooks { - if !contains(r.Filters["name"], h.Name) { - h.ExecutionDisabled = true + if contains(r.Filters["name"], h.Name) { + executingHooks = append(executingHooks, h) + } else { + skippedHooks = append(skippedHooks, h) } } + rel.Hooks = executingHooks } if err := r.cfg.execHook(rel, release.HookTest, r.Timeout); err != nil { + rel.Hooks = append(skippedHooks, rel.Hooks...) r.cfg.Releases.Update(rel) return rel, err } + rel.Hooks = append(skippedHooks, rel.Hooks...) return rel, r.cfg.Releases.Update(rel) } diff --git a/pkg/release/hook.go b/pkg/release/hook.go index 497c12cee..662320f06 100644 --- a/pkg/release/hook.go +++ b/pkg/release/hook.go @@ -76,8 +76,6 @@ type Hook struct { Weight int `json:"weight,omitempty"` // DeletePolicies are the policies that indicate when to delete the hook 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.