From 7e0299b4fd5bb256169a0d0126abb3a8560d5f36 Mon Sep 17 00:00:00 2001 From: Zettat123 Date: Sun, 18 Feb 2024 14:31:05 +0800 Subject: [PATCH] Only delete scheduled workflows when needed (#29091) (#29235) Backport #29091 Fix #29040 `handleSchedules` should be called only if `DetectWorkflows` should detect schedule workflows --- services/actions/notifier_helper.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/actions/notifier_helper.go b/services/actions/notifier_helper.go index 6c221c014..2c146aada 100644 --- a/services/actions/notifier_helper.go +++ b/services/actions/notifier_helper.go @@ -149,10 +149,11 @@ func notify(ctx context.Context, input *notifyInput) error { var detectedWorkflows []*actions_module.DetectedWorkflow actionsConfig := input.Repo.MustGetUnit(ctx, unit_model.TypeActions).ActionsConfig() + shouldDetectSchedules := input.Event == webhook_module.HookEventPush && git.RefName(input.Ref).BranchName() == input.Repo.DefaultBranch workflows, schedules, err := actions_module.DetectWorkflows(gitRepo, commit, input.Event, input.Payload, - input.Event == webhook_module.HookEventPush && git.RefName(input.Ref).BranchName() == input.Repo.DefaultBranch, + shouldDetectSchedules, ) if err != nil { return fmt.Errorf("DetectWorkflows: %w", err) @@ -199,8 +200,10 @@ func notify(ctx context.Context, input *notifyInput) error { } } - if err := handleSchedules(ctx, schedules, commit, input, ref); err != nil { - return err + if shouldDetectSchedules { + if err := handleSchedules(ctx, schedules, commit, input, ref); err != nil { + return err + } } return handleWorkflows(ctx, detectedWorkflows, commit, input, ref)