@@ -37,6 +37,7 @@ func (worker *Worker) shouldSkipMerge(
37
37
worker .shouldSkipBecauseOfHistory (& cfg .Merge ),
38
38
worker .shouldSkipBecauseOfReviews (& cfg .Merge ),
39
39
worker .shouldSkipBecauseOfChecks (& cfg .Merge ),
40
+ worker .shouldSkipBecauseIsNotMergeable (& cfg .Merge ),
40
41
}
41
42
42
43
for i := range conditions {
@@ -264,7 +265,7 @@ func (worker *Worker) shouldSkipBecauseOfChecks(cfg *MergeConfigV1) shouldSkipFu
264
265
}, nil
265
266
}
266
267
267
- if diff := time .Until (details .LastCommitTime .Add (worker .DurationToWaitAfterUpdateBranch )); diff > 0 {
268
+ if diff := time .Until (details .LastCommitTime .Add (worker .DurationBeforeMergeAfterCheck )); diff > 0 {
268
269
// it's a bit too early. block merging, push back onto the queue
269
270
logger .Debug ().Msg ("delaying merge, because commit was too recent" )
270
271
return shouldSkipResult {SkipAction : false }, pushBackError {delay : diff }
@@ -321,3 +322,23 @@ func (worker *Worker) shouldSkipBecauseOfReviews(cfg *MergeConfigV1) shouldSkipF
321
322
return shouldSkipResult {SkipAction : false }, nil
322
323
}
323
324
}
325
+
326
+ func (worker * Worker ) shouldSkipBecauseIsNotMergeable (* MergeConfigV1 ) shouldSkipFunc {
327
+ return func (_ context.Context , logger * zerolog.Logger , details * github.PullRequestDetails ) (shouldSkipResult , error ) {
328
+ if details .IsMergeable {
329
+ return shouldSkipResult {SkipAction : false }, nil
330
+ }
331
+
332
+ if diff := time .Until (details .LastCommitTime .Add (worker .DurationBeforeMergeAfterCheck )); diff > 0 {
333
+ // it's a bit too early. block merging, push back onto the queue
334
+ logger .Debug ().Msg ("pull request not mergeable, but the the last commit is too recent, retrying" )
335
+ return shouldSkipResult {SkipAction : false }, pushBackError {delay : diff }
336
+ }
337
+ logger .Debug ().Msg ("pull request not mergeable" )
338
+ return shouldSkipResult {
339
+ SkipAction : true ,
340
+ Title : "not merging" ,
341
+ Summary : "pull request is not mergeable" ,
342
+ }, nil
343
+ }
344
+ }
0 commit comments