Open binkley opened 3 months ago
As part of this card, I updated Earthfile
to save all "locally" build output for Gradle and Maven (build/
and target/
directories, respectively). This avoids needing to edit multiple files for a simple change. An example is adding more reporting artifacts to GitHub actions (such as Javadocs).
Without this change, you need to whitelist what files are copied from inside the Earthly build container, and also update GitHub actions to save these artifacts:
build/
and target/
directories just as would a local direct build with ./gradlew
or ./mvnw
.Internally, GitHub actions calling Earthly are a "container within a container". So you should trust GitHub actions that you selected, and avoid adding a 2nd layer of configuration between the two containers.
We do this by having Earthfile
call SAVE ARTIFACT
for the complete build/
and target/
directories, and only the CI Yaml files need to pick/choose what to save as artifacts, or to reuse in actions.
Previously, you'd have to configure each saved file twice: once in Earthfile
and a 2nd time in the GitHub action.
Latest GitHub artifacts for the Gradle build on branch gradle-coverage-report
:
This card broken out from #506. Related to #457.
Current plugins needing configuration, and YML build needs to save more artifacts and/or reports for Action runs:
build/reports/dependency-check-report.html
and for Maven astarget/dependency-check-report.html
build/reports/pitest
and in Maven undertarget/pit-reports
build/reports/checkstyle
: Maven needs to run "reporting" to generate HTML?build/reports/spotbugs
and for Maven astarget/spotbugs.html
build/reports/pmd
and for Maven undertarget/site/pmd.html
(production only)target/site/cpd.html
; the Gradle plugin does not supportThe general pattern for plugin reports:
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: