|
|
|
@ -20,6 +20,7 @@ import (
|
|
|
|
|
"context"
|
|
|
|
|
"fmt"
|
|
|
|
|
"io"
|
|
|
|
|
"slices"
|
|
|
|
|
"sort"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
@ -75,7 +76,7 @@ func (r *ReleaseTesting) Run(name string) (*release.Release, error) {
|
|
|
|
|
executingHooks := []*release.Hook{}
|
|
|
|
|
if len(r.Filters[ExcludeNameFilter]) != 0 {
|
|
|
|
|
for _, h := range rel.Hooks {
|
|
|
|
|
if contains(r.Filters[ExcludeNameFilter], h.Name) {
|
|
|
|
|
if slices.Contains(r.Filters[ExcludeNameFilter], h.Name) {
|
|
|
|
|
skippedHooks = append(skippedHooks, h)
|
|
|
|
|
} else {
|
|
|
|
|
executingHooks = append(executingHooks, h)
|
|
|
|
@ -86,7 +87,7 @@ func (r *ReleaseTesting) Run(name string) (*release.Release, error) {
|
|
|
|
|
if len(r.Filters[IncludeNameFilter]) != 0 {
|
|
|
|
|
executingHooks = nil
|
|
|
|
|
for _, h := range rel.Hooks {
|
|
|
|
|
if contains(r.Filters[IncludeNameFilter], h.Name) {
|
|
|
|
|
if slices.Contains(r.Filters[IncludeNameFilter], h.Name) {
|
|
|
|
|
executingHooks = append(executingHooks, h)
|
|
|
|
|
} else {
|
|
|
|
|
skippedHooks = append(skippedHooks, h)
|
|
|
|
@ -119,10 +120,10 @@ func (r *ReleaseTesting) GetPodLogs(out io.Writer, rel *release.Release) error {
|
|
|
|
|
for _, h := range hooksByWight {
|
|
|
|
|
for _, e := range h.Events {
|
|
|
|
|
if e == release.HookTest {
|
|
|
|
|
if contains(r.Filters[ExcludeNameFilter], h.Name) {
|
|
|
|
|
if slices.Contains(r.Filters[ExcludeNameFilter], h.Name) {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
if len(r.Filters[IncludeNameFilter]) > 0 && !contains(r.Filters[IncludeNameFilter], h.Name) {
|
|
|
|
|
if len(r.Filters[IncludeNameFilter]) > 0 && !slices.Contains(r.Filters[IncludeNameFilter], h.Name) {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
req := client.CoreV1().Pods(r.Namespace).GetLogs(h.Name, &v1.PodLogOptions{})
|
|
|
|
@ -142,12 +143,3 @@ func (r *ReleaseTesting) GetPodLogs(out io.Writer, rel *release.Release) error {
|
|
|
|
|
}
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func contains(arr []string, value string) bool {
|
|
|
|
|
for _, item := range arr {
|
|
|
|
|
if item == value {
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|