Only delete scheduled workflows when needed (#29091)
Fix #29040 `handleSchedules` should be called only if `DetectWorkflows` should detect schedule workflows (cherry picked from commit e600c35f066c79b717dc0c416b07d5c34502d286)
This commit is contained in:
parent
cf78141bdd
commit
07eeab863b
|
@ -170,10 +170,11 @@ func notify(ctx context.Context, input *notifyInput) error {
|
||||||
|
|
||||||
var detectedWorkflows []*actions_module.DetectedWorkflow
|
var detectedWorkflows []*actions_module.DetectedWorkflow
|
||||||
actionsConfig := input.Repo.MustGetUnit(ctx, unit_model.TypeActions).ActionsConfig()
|
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,
|
workflows, schedules, err := actions_module.DetectWorkflows(gitRepo, commit,
|
||||||
input.Event,
|
input.Event,
|
||||||
input.Payload,
|
input.Payload,
|
||||||
input.Event == webhook_module.HookEventPush && git.RefName(input.Ref).BranchName() == input.Repo.DefaultBranch,
|
shouldDetectSchedules,
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("DetectWorkflows: %w", err)
|
return fmt.Errorf("DetectWorkflows: %w", err)
|
||||||
|
@ -226,8 +227,10 @@ func notify(ctx context.Context, input *notifyInput) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := handleSchedules(ctx, schedules, commit, input, ref); err != nil {
|
if shouldDetectSchedules {
|
||||||
return err
|
if err := handleSchedules(ctx, schedules, commit, input, ref); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return handleWorkflows(ctx, detectedWorkflows, commit, input, ref)
|
return handleWorkflows(ctx, detectedWorkflows, commit, input, ref)
|
||||||
|
|
Loading…
Reference in a new issue