From 9b14f1a8edf8c94aeee5e16c282b037d4e78daa9 Mon Sep 17 00:00:00 2001 From: Giteabot Date: Thu, 19 Oct 2023 15:37:20 +0800 Subject: [PATCH] Always delete existing scheduled action tasks (#27662) (#27688) Backport #27662 by @KN4CK3R Fixes #27650 Co-authored-by: KN4CK3R --- 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 ff00e48c644..7d5f6c6c0a3 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)