Add dockerci target which builds badge and uploads to github pages

This commit is contained in:
Toby Jaffey 2025-12-14 02:06:10 +00:00
parent cfc1286874
commit b2b7827e60
3 changed files with 25 additions and 18 deletions

View file

@ -16,21 +16,17 @@ jobs:
- name: Build - name: Build
run: make dockerbuild_cached && make docker run: make dockerbuild_cached && make docker
working-directory: uvm32 working-directory: uvm32
- name: Code Coverage Report - name: CI test
uses: irongut/CodeCoverageSummary@v1.3.0 run: make dockerci
working-directory: uvm32
- name: Setup Pages
if: github.ref == 'refs/heads/main'
uses: actions/configure-pages@v4
- name: Upload Artifact
if: github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
with: with:
filename: uvm32/test/coverage.xml path: uvm32/test/badge.svg
badge: true - name: Deploy to GitHub Pages
fail_below_min: false id: deployment
format: markdown uses: actions/deploy-pages@v4
hide_branch_rate: false
hide_complexity: true
indicators: true
output: both
thresholds: '60 80'
- name: Archive code coverage results
uses: actions/upload-artifact@v4
with:
name: code-coverage-report
path: code-coverage-results.md

View file

@ -10,6 +10,9 @@ clean:
(cd hosts && make clean) (cd hosts && make clean)
(cd apps && make clean) (cd apps && make clean)
ci:
(cd test && make ci)
test: test:
make -C test make -C test
@ -28,4 +31,7 @@ dockershell:
docker: docker:
docker run -v `pwd`:/data -w /data --rm uvm32 make docker run -v `pwd`:/data -w /data --rm uvm32 make
dockerci:
docker run -v `pwd`:/data -w /data --rm uvm32 make ci

View file

@ -14,13 +14,18 @@ CLEANCMD = $(foreach TEST,${TESTS},make -C ${TEST} clean &&)
ifeq (,$(shell which gcovr)) ifeq (,$(shell which gcovr))
GCOVRCMD=echo Install gcovr for code coverage reports GCOVRCMD=echo Install gcovr for code coverage reports
else else
GCOVRCMD=gcovr -r ../ --filter ".*uvm32.c" && gcovr -r ../ --filter ".*uvm32.c" --cobertura-pretty --cobertura coverage.xml GCOVRCMD=gcovr -r ../ --filter ".*uvm32.c"
PERC=$(shell gcovr -r ../ --filter ".*uvm32.c" | grep uvm | awk '{print $$4}')
endif endif
all: all:
${RUNCMD} true ${RUNCMD} true
@${GCOVRCMD} @${GCOVRCMD}
ci:
@${GCOVRCMD}
curl "https://img.shields.io/badge/Code%20Coverage-${PERC}25-success?style=flat" > badge.svg
clean: clean:
${CLEANCMD} true ${CLEANCMD} true
rm -f coverage.xml rm -f coverage.xml