A Gradle plugin that detects failures in CircleCI jobs and converts them into JUnit test reports, which are then displayed in the CircleCI user interface for a more streamlined view of the build status and error details.
Currently, the plugin renders failure reports for Java projects, specifically targeting compilation tasks, verifyLocks tasks, and checkstyle tasks. Support for additional task types is under development and will be available in the near future.
A library that exposes an ExceptionWithSuggestion that provides additional context or guidance when errors occur.
To apply this plugin, build.gradle should look something like:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.palantir.gradle.failure-reports:gradle-failure-reports:<version>'
}
}
apply plugin: 'com.palantir.failure-reports'
The plugin generates a build/failure-reports/build-TEST.xml file which encapsulates the errors during the CircleCI job into a JUnit format.
In situations where reporting from certain failed tasks should be ignored — such as for custom pytest tasks that already generate their own junit.xml files - Gradle plugin consumers can configure the plugin as follows:
project.getPluginManager().withPlugin("com.palantir.failure-reports", _plugin -> {
FailureReportsExtension extension =
project.getExtensions().getByType(FailureReportsExtension.class);
extension.getIgnoredTasks().add(SomeTestTask.class);
});