Skip to content

Commit 6e07b5b

Browse files
6543lunny
authored andcommitted
wip yES i Know theres is a cycle
1 parent d4ec6b3 commit 6e07b5b

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

services/automerge/automerge.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ func RemoveScheduledAutoMerge(ctx context.Context, doer *user_model.User, pull *
9595
})
9696
}
9797

98-
// MergeScheduledPullRequest merges a previously scheduled pull request when all checks succeeded
99-
func MergeScheduledPullRequest(ctx context.Context, sha string, repo *repo_model.Repository) error {
98+
// MergeScheduledPullRequestsBySha merges a previously scheduled pull request(s) when all checks succeeded
99+
func MergeScheduledPullRequestsBySha(ctx context.Context, sha string, repo *repo_model.Repository) error {
100100
pulls, err := getPullRequestsByHeadSHA(ctx, sha, repo, func(pr *issues_model.PullRequest) bool {
101101
return !pr.HasMerged && pr.CanAutoMerge()
102102
})
@@ -111,6 +111,15 @@ func MergeScheduledPullRequest(ctx context.Context, sha string, repo *repo_model
111111
return nil
112112
}
113113

114+
// MergeScheduledPullRequest merges a previously scheduled pull request when all checks succeeded
115+
func MergeScheduledPullRequest(pull *issues_model.PullRequest) {
116+
if pull == nil || pull.HasMerged || !pull.CanAutoMerge() {
117+
return
118+
}
119+
120+
addToQueue(pull, pull.HeadCommitID)
121+
}
122+
114123
func getPullRequestsByHeadSHA(ctx context.Context, sha string, repo *repo_model.Repository, filter func(*issues_model.PullRequest) bool) (map[int64]*issues_model.PullRequest, error) {
115124
gitRepo, err := gitrepo.OpenRepository(ctx, repo)
116125
if err != nil {

services/repository/commitstatus/commitstatus.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ func CreateCommitStatus(ctx context.Context, repo *repo_model.Repository, creato
117117
}
118118

119119
if status.State.IsSuccess() {
120-
if err := automerge.MergeScheduledPullRequest(ctx, sha, repo); err != nil {
120+
if err := automerge.MergeScheduledPullRequestsBySha(ctx, sha, repo); err != nil {
121121
return fmt.Errorf("MergeScheduledPullRequest[repo_id: %d, user_id: %d, sha: %s]: %w", repo.ID, creator.ID, sha, err)
122122
}
123123
}

0 commit comments

Comments
 (0)