Skip to content

Merge pull request #195 from dseichter/dependabot/pip/src/uvicorn-0.48.0 #397

Merge pull request #195 from dseichter/dependabot/pip/src/uvicorn-0.48.0

Merge pull request #195 from dseichter/dependabot/pip/src/uvicorn-0.48.0 #397

Workflow file for this run

name: Tests & Coverage
on:
push:
branches:
- main
- dseichter/*
pull_request:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v6
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: '3.14'
- name: Install system dependencies for GUI
run: |
sudo apt-get update
sudo apt-get install -y xvfb libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libglvnd0 libgl1 libegl1 libdbus-1-3
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r src/requirements.txt
pip install -r test/requirements.txt
- name: Run tests with Xvfb
run: |
xvfb-run -a pytest test/ -v --html=test-report.html --self-contained-html --tb=short --color=yes --cov=src --cov-report=xml --cov-report=html 2>&1 | tee unittest_output.log
- name: Upload test report
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-report
path: test-report.html
- name: Upload GUI screenshots
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: gui-screenshots
path: test/screenshots/*.png
- name: Add test summary to workflow
if: always()
run: |
echo "### 🧪 Unit Test Results" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
tail -n 30 unittest_output.log >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "📊 [Download detailed HTML report](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})" >> $GITHUB_STEP_SUMMARY