in aws-codebuild-agent/src/main/java/jetbrains/buildServer/aws/codebuild/CodeBuildRunner.java [328:353]
private void reportPhases(@NotNull Build codeBuildBuild, @NotNull CodeBuildBuildContext c, @NotNull AgentRunningBuild build) {
if (codeBuildBuild.getPhases() == null || codeBuildBuild.getPhases().size() <= c.prevPhases.size()) return;
for (BuildPhase phase : codeBuildBuild.getPhases()) {
final String phaseName = phase.getPhaseType();
if (isPhaseReported(phaseName, c)) continue;
final String format = getFormat(phase, phaseName);
final String status = phase.getPhaseStatus();
if (status == null || isInProgress(status)) {
if (c.prevPhases.get(phaseName) == null) { // not yet reported
log(build, forContext(c, createProgressMessage(String.format(format, "in progress")).updateTags(DefaultMessagesInfo.TAG_INTERNAL)));
}
c.prevPhases.put(phaseName, status);
} else {
c.prevPhases.put(phaseName, status);
if (isSucceeded(status)) {
log(build, forContext(c, createTextMessage(String.format(format, "succeeded"))));
} else {
log(build, forContext(c, createTextMessage(String.format(format, isFailed(status) ? "failed" : "finished with status " + status), Status.ERROR)));
log(build, forContext(c, createBuildProblemMessage(createBuildProblem(phase, c.params, build.getCheckoutDirectory().getAbsolutePath()))));
}
}
}
}