Contributing docs: local test runs silently skip SpatiaLite and ext.c tests, and the setup steps assume SSH and uv

Offen Anfängerfreundlich
#928 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 3 Tagen

@imsurya26 arbeitet bereits daran.

Seit 06.11.2026.

  • #929 von @imsurya26 — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
84/100
Issue-Typ
Dokumentation
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python, sqlite

Rechercherichtung

Lies docs/contributing.rst zusammen mit .github/workflows/test.yml, um die Einrichtung für Mitwirkende auf die CI-Umgebung abzustimmen. Aktualisiere die Anweisungen zum Klonen für HTTPS-Klone von Forks, verlinke die Installationsanweisungen für uv und dokumentiere die lokale Einrichtung der Tests für SpatiaLite und ext.c mit den Befehlen aus dem Issue. Fertig ist die Arbeit, wenn die Seite diese Voraussetzungen erklärt und Mitwirkende erkennen können, warum diese Tests andernfalls lokal übersprungen werden könnten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Following docs/contributing.rst on a fresh macOS machine, I hit three gaps:

  1. The clone command uses SSH (git clone [email protected]:simonw/sqlite-utils). It worked for me because I already have an SSH key on GitHub, but it fails with Permission denied (publickey) for anyone without one, and contributors usually need to clone their fork rather than the main repository.

  2. Every command uses uv run, but the page does not say uv must be installed or link to its install instructions.

  3. uv run pytest passes locally while skipping tests that CI runs. On my machine: 1,494 passed, 19 skipped. pytest -rs shows 12 skips in tests/test_gis.py ("Could not find SpatiaLite extension") and 3 in tests/test_cli.py ("Requires compiled ext.c"). CI installs libsqlite3-mod-spatialite and compiles ext.c in .github/workflows/test.yml, but the contributing page mentions neither, so a contributor changing GIS code can get a green local run and a red CI run.

Environment: macOS 26.2, Python 3.11.5, uv 0.13.7, sqlite-utils main at 9c66baf.

Proposed fix, in docs/contributing.rst: clone your fork over HTTPS, link https://docs.astral.sh/uv/getting-started/installation/, and add a "Tests that skip locally" section with brew install spatialite-tools (macOS) or apt-get install libsqlite3-mod-spatialite (Ubuntu) and cd tests && gcc ext.c -fPIC -shared -o ext.so.

Related: #900 (docs build command) and #872 (CI legs that never run a pandas test). Happy to open a PR for this.

Vorherrschende Sprache
Python
Sterne
2.2k
Forks
215
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus simonw/sqlite-utils

Alle Issues in simonw/sqlite-utils

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.