action-build-reporter

A GitHub action posting a build report in the job summary

APACHE-2.0 License

Stars
2
Committers
2

= action-build-reporter

A GitHub Action producing a build report of a workflow run and publishing it in the job summary.

This is the counterpart of the reports published by the https://github.com/quarkusio/quarkus-github-bot[Quarkus GitHub Bot] as pull request comments and is mostly useful for forks.

This action is based on:

== Setting up the action

When you have multiple jobs started in the same workflow, you usually want to have only one report for all the jobs.

The jobs may upload artifacts named build-reports-<job name> containing the build reports, an additional job depending on all these jobs will download the artifacts and analyze them. Artifacts are accessible to the GitHub REST API only after the workflow run is completed. Thus we use the GitHub download-artifact action which uses internal APIs to download the artifacts while the workflow run is still running.

The action has to be run in a separate job that depends on all the other build jobs.

For instance:

[source,yaml]

jobs: ... various other jobs ...

build-report:
runs-on: ubuntu-latest
name: Build report
needs: [build,jvm-green,jvm-initial,native-green,native-red]
if: always()
steps:
- uses: actions/download-artifact@v4
with:
path: build-reports-artifacts
pattern: build-reports-*
merge-multiple: true
- name: Produce report and add it as job summary
uses: quarkusio/action-build-reporter@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
build-reports-artifacts-path: build-reports-artifacts
forks-only: true

You can omit forks-only if you want to publish the job summary even for the upstream repository.

== Example

image::documentation/screenshots/build-report-summary.png[]

== Release

This action is automatically deployed to the Maven repository of this GitHub repository when main is pushed.