From 76d2ad050fa3aa32199ff6100ae0aad56fcf63ec Mon Sep 17 00:00:00 2001 From: Ulli Hafner Date: Thu, 30 Nov 2023 09:41:59 +0100 Subject: [PATCH] Create badges after autograding. --- .github/workflows/reporting.yml | 57 ++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reporting.yml b/.github/workflows/reporting.yml index 50bfc1d42..667bb0f57 100644 --- a/.github/workflows/reporting.yml +++ b/.github/workflows/reporting.yml @@ -34,7 +34,7 @@ jobs: - name: Mutation Coverage run: mvn -V --color always -ntp org.pitest:pitest-maven:mutationCoverage - name: Autograding - uses: uhafner/autograding-github-action@v2.0.0 + uses: uhafner/autograding-github-action@v2.1.0 with: TOKEN: ${{ secrets.GITHUB_TOKEN }} HEAD_SHA: ${{github.event.pull_request.head.sha}} @@ -57,6 +57,7 @@ jobs: "analysis": [ { "name": "Style", + "id": "style", "tools": [ { "id": "checkstyle", @@ -77,6 +78,7 @@ jobs: }, { "name": "Bugs", + "id": "bugs", "tools": [ { "id": "spotbugs", @@ -126,3 +128,56 @@ jobs: } ] } + - name: Write metrics to GitHub output + id: metrics + run: | + cat metrics.env >> "${GITHUB_OUTPUT}" + mkdir -p badges + - name: Generate the badge SVG image for the line coverage + uses: emibcn/badge-action@v2.0.2 + with: + label: 'Line coverage' + status: ${{ steps.metrics.outputs.line }}% + color: 'green' + path: badges/line-coverage.svg + - name: Generate the badge SVG image for the branch coverage + uses: emibcn/badge-action@v2.0.2 + with: + label: 'Branch coverage' + status: ${{ steps.metrics.outputs.branch }}% + color: 'green' + path: badges/branch-coverage.svg + - name: Generate the badge SVG image for the mutation coverage + uses: emibcn/badge-action@v2.0.2 + with: + label: 'Mutation coverage' + status: ${{ steps.metrics.outputs.mutation }}% + color: 'green' + path: badges/mutation-coverage.svg + - name: Generate the badge SVG image for the style warnings + uses: emibcn/badge-action@v2.0.2 + with: + label: 'Style warnings' + status: ${{ steps.metrics.outputs.style }} + color: 'orange' + path: badges/style-warnings.svg + - name: Generate the badge SVG image for the potential bugs + uses: emibcn/badge-action@v2.0.2 + with: + label: 'Potential Bugs' + status: ${{ steps.metrics.outputs.bugs }} + color: 'red' + path: badges/bugs.svg + - name: Commit badge + continue-on-error: true + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add badges/*.svg + git commit -m "Update badges with results from latest autograding" + - name: Push badge commit + uses: ad-m/github-push-action@master + if: ${{ success() }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: main