Skip to content

Test RodTracker

Test RodTracker #67

name: Test RodTracker
on:
push:
branches:
- main
- develop
paths:
- 'RodTracker/**'
pull_request:
branches:
- main
- develop
paths:
- 'RodTracker/**'
schedule:
- cron: '0 16 * * 5'
workflow_dispatch:
jobs:
tests:
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
python_version: ['3.8', '3.9', '3.10', '3.11', '3.12']
env:
DISPLAY: ':99.0'
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python_version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python_version }}
- uses: tlambert03/setup-qt-libs@v1
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ./RodTracker[test]
sudo apt install xvfb herbstluftwm libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 x11-utils
- name: Run Xvfb & window manager
run: |
sudo /sbin/start-stop-daemon --start --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1024x768x24 -ac +extension GLX +render -noreset
sleep 3
sudo /sbin/start-stop-daemon --start --pidfile /tmp/custom_herbstluftwm_99.pid --make-pidfile --background --exec /usr/bin/herbstluftwm
sleep 1
- name: Run tests
run: |
cd ./RodTracker
pytest