Fix schedule not trigger bug because matching full ref name with short ref name (#28874) (#28888)

Backport #28874 by @lunny

Fix #28533

Caused by #28691

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
Giteabot 2024-01-22 13:33:14 +08:00 committed by GitHub
parent 7f0ce2dfc7
commit 633996db8e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -152,24 +152,28 @@ func notify(ctx context.Context, input *notifyInput) error {
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 && input.Ref == input.Repo.DefaultBranch, input.Event == webhook_module.HookEventPush && git.RefName(input.Ref).BranchName() == input.Repo.DefaultBranch,
) )
if err != nil { if err != nil {
return fmt.Errorf("DetectWorkflows: %w", err) return fmt.Errorf("DetectWorkflows: %w", err)
} }
if len(workflows) == 0 { log.Trace("repo %s with commit %s event %s find %d workflows and %d schedules",
log.Trace("repo %s with commit %s couldn't find workflows", input.Repo.RepoPath(), commit.ID) input.Repo.RepoPath(),
} else { commit.ID,
for _, wf := range workflows { input.Event,
if actionsConfig.IsWorkflowDisabled(wf.EntryName) { len(workflows),
log.Trace("repo %s has disable workflows %s", input.Repo.RepoPath(), wf.EntryName) len(schedules),
continue )
}
if wf.TriggerEvent.Name != actions_module.GithubEventPullRequestTarget { for _, wf := range workflows {
detectedWorkflows = append(detectedWorkflows, wf) if actionsConfig.IsWorkflowDisabled(wf.EntryName) {
} log.Trace("repo %s has disable workflows %s", input.Repo.RepoPath(), wf.EntryName)
continue
}
if wf.TriggerEvent.Name != actions_module.GithubEventPullRequestTarget {
detectedWorkflows = append(detectedWorkflows, wf)
} }
} }