docs: add VGI logo, Query.Farm authorship & normalize copyright #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} | |
| - name: Install dependencies | |
| run: uv sync --all-extras | |
| # Fixture parser tests, in-process scan-state round-trip, and the | |
| # mock-server E2E. The `live` tests (real Wikipedia) are excluded from the | |
| # gate so CI never depends on the network. | |
| - name: Run unit tests | |
| run: uv run --no-sync pytest -q -m "not live" | |
| e2e-sql: | |
| name: E2E SQL (DuckDB, mock-driven) | |
| 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 | |
| - name: Install dependencies | |
| run: uv sync --all-extras | |
| - name: Install haybarn-unittest (sqllogictest runner) | |
| run: uv tool install haybarn-unittest | |
| # Starts a local mock MediaWiki server, points the worker's | |
| # VGI_WIKIPEDIA_API_URL at it, and runs the worker as a real DuckDB | |
| # subprocess. No keys, no cost, no live Wikipedia. | |
| - name: Run SQL end-to-end tests | |
| run: | | |
| export PATH="$HOME/.local/bin:$PATH" | |
| make test-sql | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v3 | |
| - name: Install dependencies | |
| run: uv sync --all-extras | |
| - name: Check formatting | |
| run: uv run --no-sync ruff format --check . | |
| - name: Check linting | |
| run: uv run --no-sync ruff check . | |
| - name: Type check | |
| run: uv run --no-sync mypy vgi_wikipedia/ |