modern-java-practices icon indicating copy to clipboard operation
modern-java-practices copied to clipboard

Add dashboard and reports

Open binkley opened this issue 6 months ago • 2 comments

This card broken out from #506. Related to #457.

  • Saving reports as artifacts for each CI run
  • Add aggregate dashboard across reports

Current plugins needing configuration, and YML build needs to save more artifacts and/or reports for Action runs:

  • [ ] DependencyCheck -- available in Gradle as build/reports/dependency-check-report.html and for Maven as target/dependency-check-report.html
  • [ ] Snyk security -- external web site, not part of the build: should we fetch a Snyk report?
  • [x] Unit test/coverage -- already on the CI build run pages for Gradle and Maven
  • [ ] Pit Test -- available in Gradle under build/reports/pitest and in Maven under target/pit-reports
  • [ ] Checkstyle -- available in Gradle under build/reports/checkstyle: Maven needs to run "reporting" to generate HTML?
  • [ ] Spotbugs -- availabe in Gradle under build/reports/spotbugs and for Maven as target/spotbugs.html
  • [ ] PMD (bugs) -- available for Gradle under build/reports/pmd and for Maven under target/site/pmd.html (production only)
  • [ ] CPD (copy/paste detector -- part of PMD) -- available for Maven under target/site/cpd.html; the Gradle plugin does not support
  • [x] Javadocs -- already saving artifacts for CI build runs for Gradle and Maven

The general pattern for plugin reports:

  1. Are reports HTML? This this the key goal.
  2. Are reports available as SARIF or XML (or other formats such as JSON)? Add these for flexibility with integration to other tools and dashboards.
  3. Does the tool generate a directory? Then save the directory during CI build to create a ZIP artifact.
  4. Does the tool generate just files? Then save the files directly during CI builds as artifacts.

Existing reports as artifacts

We are getting a JaCoCo coverage summary for free on Action runs from the coverage badge generator: image

We have some reports being saved already as CI build artifacts: image

binkley avatar Aug 08 '24 12:08 binkley