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 Quarkus GitHub Bot as pull request comments and is mostly useful for forks.
This action is based on:
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:
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.