modern-java-practices
modern-java-practices copied to clipboard
Add dashboard and reports
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 astarget/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 undertarget/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 astarget/spotbugs.html
- [ ] PMD (bugs) -- available for Gradle under
build/reports/pmd
and for Maven undertarget/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:
- Are reports HTML? This this the key goal.
- Are reports available as SARIF or XML (or other formats such as JSON)? Add these for flexibility with integration to other tools and dashboards.
- Does the tool generate a directory? Then save the directory during CI build to create a ZIP artifact.
- 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:
We have some reports being saved already as CI build artifacts: