mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-29 14:54:06 +01:00
Use action user as the trigger user of schedules (#30581)
Follow https://github.com/go-gitea/gitea/pull/30357 When user push to default branch, the schedule trigger user will be the user. When disable then enable action units in settings, the schedule trigger user will be action user. When repo is a mirror, the schedule trigger user will be action user. ( before it will return error, fixed by #30357) As scheduled job is a cron, the trigger user should be action user from Gitea, not a real user. --------- Co-authored-by: Giteabot <teabot@gitea.io> (cherry picked from commit cb6814adad4dc81a683b50826a211ce7bce731d7) Conflicts: - services/actions/notifier_helper.go Conflict resolved by keeping Forgejo's version of the line.
This commit is contained in:
parent
27434acef6
commit
829c3c6838
1 changed files with 6 additions and 1 deletions
|
@ -80,6 +80,11 @@ func newNotifyInput(repo *repo_model.Repository, doer *user_model.User, event we
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func newNotifyInputForSchedules(repo *repo_model.Repository) *notifyInput {
|
||||||
|
// the doer here will be ignored as we force using action user when handling schedules
|
||||||
|
return newNotifyInput(repo, user_model.NewActionsUser(), webhook_module.HookEventSchedule)
|
||||||
|
}
|
||||||
|
|
||||||
func (input *notifyInput) WithDoer(doer *user_model.User) *notifyInput {
|
func (input *notifyInput) WithDoer(doer *user_model.User) *notifyInput {
|
||||||
input.Doer = doer
|
input.Doer = doer
|
||||||
return input
|
return input
|
||||||
|
@ -562,7 +567,7 @@ func DetectAndHandleSchedules(ctx context.Context, repo *repo_model.Repository)
|
||||||
// We need a notifyInput to call handleSchedules
|
// We need a notifyInput to call handleSchedules
|
||||||
// if repo is a mirror, commit author maybe an external user,
|
// if repo is a mirror, commit author maybe an external user,
|
||||||
// so we use action user as the Doer of the notifyInput
|
// so we use action user as the Doer of the notifyInput
|
||||||
notifyInput := newNotifyInput(repo, user_model.NewActionsUser(), webhook_module.HookEventSchedule)
|
notifyInput := newNotifyInputForSchedules(repo)
|
||||||
|
|
||||||
return handleSchedules(ctx, scheduleWorkflows, commit, notifyInput, repo.DefaultBranch)
|
return handleSchedules(ctx, scheduleWorkflows, commit, notifyInput, repo.DefaultBranch)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue