mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-25 19:26:09 +01:00
Update scheduled tasks even if changes are pushed by "ActionsUser" (#32246)
Fix #32219 --------- Co-authored-by: delvh <dev.lh@web.de> (cherry picked from commit 81aec6d621a3ea0dfb02d3b4d20b9be77c30c6ab)
This commit is contained in:
parent
89446e60a6
commit
e8700cee61
|
@ -119,11 +119,20 @@ func (input *notifyInput) Notify(ctx context.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func notify(ctx context.Context, input *notifyInput) error {
|
func notify(ctx context.Context, input *notifyInput) error {
|
||||||
|
shouldDetectSchedules := input.Event == webhook_module.HookEventPush && input.Ref.BranchName() == input.Repo.DefaultBranch
|
||||||
if input.Doer.IsActions() {
|
if input.Doer.IsActions() {
|
||||||
// avoiding triggering cyclically, for example:
|
// avoiding triggering cyclically, for example:
|
||||||
// a comment of an issue will trigger the runner to add a new comment as reply,
|
// a comment of an issue will trigger the runner to add a new comment as reply,
|
||||||
// and the new comment will trigger the runner again.
|
// and the new comment will trigger the runner again.
|
||||||
log.Debug("ignore executing %v for event %v whose doer is %v", getMethod(ctx), input.Event, input.Doer.Name)
|
log.Debug("ignore executing %v for event %v whose doer is %v", getMethod(ctx), input.Event, input.Doer.Name)
|
||||||
|
|
||||||
|
// we should update schedule tasks in this case, because
|
||||||
|
// 1. schedule tasks cannot be triggered by other events, so cyclic triggering will not occur
|
||||||
|
// 2. some schedule tasks may update the repo periodically, so the refs of schedule tasks need to be updated
|
||||||
|
if shouldDetectSchedules {
|
||||||
|
return DetectAndHandleSchedules(ctx, input.Repo)
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if input.Repo.IsEmpty || input.Repo.IsArchived {
|
if input.Repo.IsEmpty || input.Repo.IsArchived {
|
||||||
|
@ -182,7 +191,6 @@ 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 && 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,
|
||||||
|
|
Loading…
Reference in a new issue