Compare commits

...

2 Commits

Author SHA1 Message Date
didericis-codex c45423f7f3 ci: report integration coverage 2026-06-25 08:26:43 +00:00
didericis-codex 75a50987d3 ci: add coverage badge updates 2026-06-25 08:22:57 +00:00
3 changed files with 27 additions and 3 deletions
+7 -1
View File
@@ -68,5 +68,11 @@ jobs:
echo "docker not on PATH — integration tests will skip"
fi
- name: Install dev requirements
run: python3 -m pip install -r requirements-dev.txt
- name: Run integration tests
run: python3 -m unittest discover -t . -s tests/integration -v
run: python3 -m coverage run -m unittest discover -t . -s tests/integration -v
- name: Report integration coverage
run: python3 -m coverage report -m
+19 -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,15 @@ jobs:
echo "score=$SCORE" >> $GITHUB_OUTPUT
echo "Pylint score: $SCORE"
- name: Run tests and extract coverage
id: coverage
run: |
python -m coverage run -m unittest discover -t . -s tests/unit -v
python -m coverage run -a -m unittest discover -t . -s tests/integration -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 +62,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 +77,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 +90,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)