name: Linux on: push: branches: - main - release pull_request: branches: - main - release jobs: testLinux: strategy: matrix: python-version: - "3.11" - "3.12" - "3.13" - "3.14" fail-fast: false runs-on: ubuntu-latest permissions: contents: read steps: - name: Checkout Source uses: actions/checkout@v5 - name: Install System Packages run: | sudo apt update sudo apt install qttools5-dev-tools - name: Install UV and Python uses: astral-sh/setup-uv@v6 with: python-version: ${{ matrix.python-version }} - name: Sync UV run: | uv sync --no-dev --group test - name: Build Assets run: | uv run --no-sync pkgutils.py qtlrelease uv run --no-sync pkgutils.py sample - name: Run Tests run: | export QT_QPA_PLATFORM=offscreen uv run --no-sync coverage run -m pytest -v --timeout=60 uv run --no-sync coverage xml - name: Upload to Codecov uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true