ci: add coverage badge updates

This commit is contained in:
2026-06-25 08:22:57 +00:00
parent d6b9d7af3e
commit 75a50987d3
2 changed files with 19 additions and 2 deletions
+18 -2
View File
@@ -7,7 +7,11 @@ on:
paths:
- '**.py'
- '.pylintrc'
- '.coveragerc'
- '.gitea/workflows/update-badges.yml'
- 'pyrightconfig.json'
- 'requirements-dev.txt'
- 'tests/**'
workflow_dispatch:
jobs:
@@ -37,6 +41,14 @@ jobs:
echo "score=$SCORE" >> $GITHUB_OUTPUT
echo "Pylint score: $SCORE"
- name: Run unit tests and extract coverage
id: coverage
run: |
python -m coverage run -m unittest discover -t . -s tests/unit -v
TOTAL=$(python -m coverage report --format=total)
echo "total=$TOTAL" >> $GITHUB_OUTPUT
echo "Coverage total: $TOTAL"
- name: Run pyright and check errors
id: pyright
run: |
@@ -49,9 +61,13 @@ jobs:
run: |
PYLINT_SCORE="${{ steps.pylint.outputs.score }}"
PYRIGHT_ERRORS="${{ steps.pyright.outputs.errors }}"
COVERAGE_TOTAL="${{ steps.coverage.outputs.total }}"
PYLINT_SCORE_ENCODED=$(echo "$PYLINT_SCORE" | sed 's|/|%2F|g')
if [ -n "$COVERAGE_TOTAL" ]; then
sed -i "s|/badge/coverage-[^)]*|/badge/coverage-${COVERAGE_TOTAL}%25-brightgreen|" README.md
fi
if [ -n "$PYLINT_SCORE_ENCODED" ]; then
sed -i "s|/badge/pylint-[^)]*|/badge/pylint-${PYLINT_SCORE_ENCODED}-brightgreen|" README.md
fi
@@ -60,7 +76,7 @@ jobs:
fi
echo "Updated badges:"
grep -E "pylint|pyright" README.md | head -2
grep -E "coverage|pylint|pyright" README.md | head -3
- name: Commit and push badge updates
run: |
@@ -73,7 +89,7 @@ jobs:
else
echo "Badge changes detected, committing..."
git add README.md
MSG="chore: update quality badges"$'\n\n'"- Pylint: ${{ steps.pylint.outputs.score }}"$'\n'"- Pyright: ${{ steps.pyright.outputs.errors }} errors"$'\n\n'"[skip ci]"
MSG="chore: update quality badges"$'\n\n'"- Coverage: ${{ steps.coverage.outputs.total }}"$'\n'"- Pylint: ${{ steps.pylint.outputs.score }}"$'\n'"- Pyright: ${{ steps.pyright.outputs.errors }} errors"$'\n\n'"[skip ci]"
git commit -m "$MSG"
git push
fi
+1
View File
@@ -5,6 +5,7 @@
# bot-bottle
[![test](https://gitea.dideric.is/didericis/bot-bottle/actions/workflows/test.yml/badge.svg?branch=main)](https://gitea.dideric.is/didericis/bot-bottle/actions?workflow=test.yml)
[![coverage](https://img.shields.io/badge/coverage-0%25-brightgreen)](https://coverage.readthedocs.io/)
[![pylint](https://img.shields.io/badge/pylint-9.93%2F10-brightgreen)](https://github.com/PyCQA/pylint)
[![pyright](https://img.shields.io/badge/pyright-0%20errors-brightgreen)](https://github.com/microsoft/pyright)