60 lines
1.2 KiB
YAML
60 lines
1.2 KiB
YAML
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
|