name: Tests on: [push, pull_request] jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9', '3.10', '3.11'] steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y libgl1-mesa-glx xvfb libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 - name: Install Python dependencies run: | python -m pip install --upgrade pip pip install -e ".[dev]" - name: Run tests with coverage run: | xvfb-run -a pytest --cov=pyPhotoAlbum --cov-report=xml --cov-report=term-missing env: QT_QPA_PLATFORM: offscreen - name: Upload coverage reports if: matrix.python-version == '3.11' uses: codecov/codecov-action@v3 with: file: ./coverage.xml fail_ci_if_error: false