Skip to content

docs: add VGI logo, Query.Farm authorship & normalize copyright #1

docs: add VGI logo, Query.Farm authorship & normalize copyright

docs: add VGI logo, Query.Farm authorship & normalize copyright #1

Workflow file for this run

name: CI
on:
push:
branches: [main]
paths-ignore: ['README.md']
pull_request:
branches: [main]
paths-ignore: ['README.md']
workflow_dispatch:
permissions:
contents: read
jobs:
test:
name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.13"]
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
# Install from PyPI rather than the local ../vgi-python path used for
# `uv run` during development, so CI is self-contained.
- name: Install dependencies
run: |
uv venv
uv pip install vgi-python "onnxruntime>=1.17" "pillow>=10" "numpy>=1.26" "huggingface-hub>=0.23" pytest
uv pip install -e . --no-deps
- name: Fetch model + labels (cache on first use)
run: uv run --no-sync python -c "from vgi_vision import model; model.model_path(); model.labels_path(); print(len(model.labels()), 'labels')"
- name: Run tests
run: uv run --no-sync pytest -q
e2e:
name: SQL end-to-end (haybarn)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
- name: Set up Python 3.13
run: uv python install 3.13
# Self-contained: install the worker's runtime deps into a venv from PyPI
# (not the local ../vgi-python dev path), so the worker can be launched as
# `.venv/bin/python vision_worker.py` (plain python ignores the PEP-723
# header that pins the dev path).
- name: Install worker dependencies
run: |
uv venv
uv pip install vgi-python "onnxruntime>=1.17" "pillow>=10" "numpy>=1.26" "huggingface-hub>=0.23"
uv pip install -e . --no-deps
- name: Fetch model + labels
run: uv run --no-sync python -c "from vgi_vision import model; model.model_path(); model.labels_path()"
- name: Install haybarn-unittest
run: |
uv tool install haybarn-unittest
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Run SQL end-to-end tests
run: make test-sql WORKER_STDIO=".venv/bin/python vision_worker.py"
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
- name: Install tooling
run: |
uv venv
uv pip install vgi-python "onnxruntime>=1.17" "pillow>=10" "numpy>=1.26" "huggingface-hub>=0.23" ruff mypy
uv pip install -e . --no-deps
- name: Check linting
run: uv run --no-sync ruff check .
- name: Type check (mypy)
run: uv run --no-sync mypy vgi_vision