From e600c35f066c79b717dc0c416b07d5c34502d286 Mon Sep 17 00:00:00 2001 From: Zettat123 Date: Thu, 8 Feb 2024 21:00:17 +0800 Subject: [PATCH] Only delete scheduled workflows when needed (#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 77173e58a..8852f23c5 100644 --- a/services/actions/notifier_helper.go +++ b/services/actions/notifier_helper.go @@ -157,10 +157,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) @@ -207,8 +208,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)