From 5f39b3ec86adaffac1d9890de900712fdd04416e Mon Sep 17 00:00:00 2001 From: ahaufox <29910027+ahaufox@users.noreply.github.com> Date: Sun, 8 Feb 2026 05:04:06 +0000 Subject: [PATCH] feat: Add simplified CI workflow using uv This commit adds a new GitHub Actions workflow `.github/workflows/ci.yml` that: - Uses `uv` for fast dependency management. - Sets up Python 3.11. - Installs system dependencies `xvfb` and `scrot` for GUI tests. - Runs linting with `flake8`. - Runs tests using `pytest` inside `xvfb-run`. --- .github/workflows/ci.yml | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1c79e8a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,42 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + test: + name: Run Tests + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.11"] + + steps: + - uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v5 + with: + enable-cache: true + + - name: Set up Python ${{ matrix.python-version }} + run: uv python install ${{ matrix.python-version }} + + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install -y xvfb scrot + + - name: Install dependencies + run: uv sync --all-extras --dev + + - name: Run linting + run: uv run --with flake8 flake8 . + + - name: Run tests + run: xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" uv run pytest