diff --git a/pkg/workflow/known_needs_expressions.go b/pkg/workflow/known_needs_expressions.go index 068bdc03056..30f26d93184 100644 --- a/pkg/workflow/known_needs_expressions.go +++ b/pkg/workflow/known_needs_expressions.go @@ -142,12 +142,11 @@ func filterExpressionsForActivation(mappings []*ExpressionMapping, customJobs ma } // Extract the job name (needs..*) rest := m.Content[len("needs."):] - dotIdx := strings.Index(rest, ".") - if dotIdx < 0 { + jobName, _, ok := strings.Cut(rest, ".") + if !ok { filtered = append(filtered, m) continue } - jobName := rest[:dotIdx] // If it's a custom job NOT in beforeActivationJobs, drop it if _, isCustomJob := customJobs[jobName]; isCustomJob && !beforeActivationSet[jobName] { knownNeedsLog.Printf("Filtered post-activation expression from activation substitution step: %s", m.Content)