< prev index next >

bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/ArchiveWorkItem.java

Print this page

210             for (var readyComment : bot.readyComments().entrySet()) {
211                 var commentFound = false;
212                 for (var comment : comments) {
213                     if (comment.author().userName().equals(readyComment.getKey())) {
214                         var matcher = readyComment.getValue().matcher(comment.body());
215                         if (matcher.find()) {
216                             commentFound = true;
217                             break;
218                         }
219                     }
220                 }
221                 if (!commentFound) {
222                     log.fine("PR is not yet ready - missing ready comment from '" + readyComment.getKey() +
223                                      "containing '" + readyComment.getValue().pattern() + "'");
224                     return;
225                 }
226             }
227         }
228 
229         var census = CensusInstance.create(bot.censusRepo(), bot.censusRef(), scratchPath.resolve("census"), pr);
230         var prInstance = new PullRequestInstance(scratchPath.resolve("mlbridge-mergebase"), pr);





231         var reviewArchive = new ReviewArchive(bot.emailAddress(), prInstance, census, sentMails);
232         var webrevPath = scratchPath.resolve("mlbridge-webrevs");
233         var listServer = MailingListServerFactory.createMailmanServer(bot.listArchive(), bot.smtpServer());
234         var list = listServer.getList(bot.listAddress().address());
235 
236         // First post
237         if (sentMails.isEmpty()) {
238             log.fine("Creating new PR review archive");
239             var webrev = bot.webrevStorage().createAndArchive(prInstance, webrevPath, prInstance.baseHash(),
240                                                               prInstance.headHash(), "00");
241             reviewArchive.create(webrev);
242             updateWebrevComment(comments, 0, webrev, null);
243         } else {
244             var latestHead = reviewArchive.latestHead();
245 
246             // Check if the head has changed
247             if (!pr.getHeadHash().equals(latestHead)) {
248                 log.fine("Head hash change detected: current: " + pr.getHeadHash() + " - last: " + latestHead);
249 
250                 var latestBase = reviewArchive.latestBase();

210             for (var readyComment : bot.readyComments().entrySet()) {
211                 var commentFound = false;
212                 for (var comment : comments) {
213                     if (comment.author().userName().equals(readyComment.getKey())) {
214                         var matcher = readyComment.getValue().matcher(comment.body());
215                         if (matcher.find()) {
216                             commentFound = true;
217                             break;
218                         }
219                     }
220                 }
221                 if (!commentFound) {
222                     log.fine("PR is not yet ready - missing ready comment from '" + readyComment.getKey() +
223                                      "containing '" + readyComment.getValue().pattern() + "'");
224                     return;
225                 }
226             }
227         }
228 
229         var census = CensusInstance.create(bot.censusRepo(), bot.censusRef(), scratchPath.resolve("census"), pr);
230         var jbs = census.configuration().general().jbs();
231         if (jbs == null) {
232             jbs = census.configuration().general().project();
233         }
234         var prInstance = new PullRequestInstance(scratchPath.resolve("mlbridge-mergebase"), pr, bot.issueTracker(),
235                                                  jbs.toUpperCase());
236         var reviewArchive = new ReviewArchive(bot.emailAddress(), prInstance, census, sentMails);
237         var webrevPath = scratchPath.resolve("mlbridge-webrevs");
238         var listServer = MailingListServerFactory.createMailmanServer(bot.listArchive(), bot.smtpServer());
239         var list = listServer.getList(bot.listAddress().address());
240 
241         // First post
242         if (sentMails.isEmpty()) {
243             log.fine("Creating new PR review archive");
244             var webrev = bot.webrevStorage().createAndArchive(prInstance, webrevPath, prInstance.baseHash(),
245                                                               prInstance.headHash(), "00");
246             reviewArchive.create(webrev);
247             updateWebrevComment(comments, 0, webrev, null);
248         } else {
249             var latestHead = reviewArchive.latestHead();
250 
251             // Check if the head has changed
252             if (!pr.getHeadHash().equals(latestHead)) {
253                 log.fine("Head hash change detected: current: " + pr.getHeadHash() + " - last: " + latestHead);
254 
255                 var latestBase = reviewArchive.latestBase();
< prev index next >