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

未关闭 适合新手
#928 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 3 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
84/100
Issue 类型
文档
描述清晰度
描述清楚
活跃度
活跃
技术栈
python, sqlite

调研方向

阅读 docs/contributing.rst 和 .github/workflows/test.yml,使贡献者的环境设置与 CI 环境保持一致。更新通过 HTTPS 克隆 fork 的说明,添加 uv 安装说明的链接,并使用 issue 中的命令记录 SpatiaLite 和 ext.c 测试的本地设置方法。完成标准是页面解释了这些前置条件,并且贡献者能够判断为什么这些测试在本地可能会被跳过。

由索引模型根据 Issue 内容生成。

描述

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.

主要语言
Python
星标
2.2k
派生
215
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

simonw/sqlite-utils 的其他 Issue

查看 simonw/sqlite-utils 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。