< prev index next >

bots/submit/src/main/java/org/openjdk/skara/bots/submit/SubmitBotWorkItem.java

Print this page

 67     }
 68 
 69     @Override
 70     public void run(Path scratchPath) {
 71         // Is the check already up to date?
 72         var checks = pr.checks(pr.headHash());
 73         if (checks.containsKey(executor.checkName())) {
 74             var check = checks.get(executor.checkName());
 75             if (check.startedAt().isBefore(ZonedDateTime.now().minus(executor.timeout())) && check.status() == CheckStatus.IN_PROGRESS) {
 76                 log.info("Check for hash " + pr.headHash() + " is too old - running again");
 77             } else {
 78                 log.fine("Hash " + pr.headHash() + " already has a check - skipping");
 79                 return;
 80             }
 81         }
 82 
 83         var prFolder = scratchPath.resolve("submit").resolve(pr.repository().name());
 84 
 85         // Materialize the PR's target ref
 86         try {
 87             var localRepo = Repository.materialize(prFolder, pr.repository().url(), pr.targetRef());

 88             var headHash = localRepo.fetch(pr.repository().url(), pr.headHash().hex());
 89 
 90             var checkBuilder = CheckBuilder.create(executor.checkName(), headHash);
 91             pr.createCheck(checkBuilder.build());
 92 
 93             var checkUpdater = new CheckUpdater(pr, checkBuilder);
 94             executor.run(prFolder, checkBuilder, checkUpdater);
 95             pr.updateCheck(checkBuilder.build());
 96         } catch (IOException e) {
 97             throw new UncheckedIOException(e);
 98         }
 99     }
100 }

 67     }
 68 
 69     @Override
 70     public void run(Path scratchPath) {
 71         // Is the check already up to date?
 72         var checks = pr.checks(pr.headHash());
 73         if (checks.containsKey(executor.checkName())) {
 74             var check = checks.get(executor.checkName());
 75             if (check.startedAt().isBefore(ZonedDateTime.now().minus(executor.timeout())) && check.status() == CheckStatus.IN_PROGRESS) {
 76                 log.info("Check for hash " + pr.headHash() + " is too old - running again");
 77             } else {
 78                 log.fine("Hash " + pr.headHash() + " already has a check - skipping");
 79                 return;
 80             }
 81         }
 82 
 83         var prFolder = scratchPath.resolve("submit").resolve(pr.repository().name());
 84 
 85         // Materialize the PR's target ref
 86         try {
 87             var localRepo = Repository.materialize(prFolder, pr.repository().url(),
 88                                                    "+" + pr.targetRef() + ":submit_" + pr.repository().name());
 89             var headHash = localRepo.fetch(pr.repository().url(), pr.headHash().hex());
 90 
 91             var checkBuilder = CheckBuilder.create(executor.checkName(), headHash);
 92             pr.createCheck(checkBuilder.build());
 93 
 94             var checkUpdater = new CheckUpdater(pr, checkBuilder);
 95             executor.run(prFolder, checkBuilder, checkUpdater);
 96             pr.updateCheck(checkBuilder.build());
 97         } catch (IOException e) {
 98             throw new UncheckedIOException(e);
 99         }
100     }
101 }
< prev index next >