From 708ec9ce80efd9589464ea9e88d48144180cfdde Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Wed, 18 Oct 2023 12:34:39 +0200 Subject: [PATCH] Always delete existing scheduled action tasks (#27662) Fixes #27650 --- services/actions/notifier_helper.go | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/services/actions/notifier_helper.go b/services/actions/notifier_helper.go index ff00e48c644d..7d5f6c6c0a3c 100644 --- a/services/actions/notifier_helper.go +++ b/services/actions/notifier_helper.go @@ -374,11 +374,6 @@ func handleSchedules( commit *git.Commit, input *notifyInput, ) error { - if len(detectedWorkflows) == 0 { - log.Trace("repo %s with commit %s couldn't find schedules", input.Repo.RepoPath(), commit.ID) - return nil - } - branch, err := commit.GetBranchName() if err != nil { return err @@ -388,18 +383,20 @@ func handleSchedules( return nil } - rows, _, err := actions_model.FindSchedules(ctx, actions_model.FindScheduleOptions{RepoID: input.Repo.ID}) - if err != nil { - log.Error("FindCrons: %v", err) + if count, err := actions_model.CountSchedules(ctx, actions_model.FindScheduleOptions{RepoID: input.Repo.ID}); err != nil { + log.Error("CountSchedules: %v", err) return err - } - - if len(rows) > 0 { + } else if count > 0 { if err := actions_model.DeleteScheduleTaskByRepo(ctx, input.Repo.ID); err != nil { log.Error("DeleteCronTaskByRepo: %v", err) } } + if len(detectedWorkflows) == 0 { + log.Trace("repo %s with commit %s couldn't find schedules", input.Repo.RepoPath(), commit.ID) + return nil + } + p, err := json.Marshal(input.Payload) if err != nil { return fmt.Errorf("json.Marshal: %w", err)