Browse Source

Only delete scheduled workflows when needed (#29091) (#29235)

Backport #29091 

Fix #29040

`handleSchedules` should be called only if `DetectWorkflows` should
detect schedule workflows
tags/v1.21.6
Zettat123 3 months ago
parent
commit
7e0299b4fd
No account linked to committer's email address
1 changed files with 6 additions and 3 deletions
  1. 6
    3
      services/actions/notifier_helper.go

+ 6
- 3
services/actions/notifier_helper.go View File

@@ -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)

Loading…
Cancel
Save