持续集成¶
支持的解释器¶
pip 支持多种 Python 解释器
CPython 3.8
CPython 3.9
CPython 3.10
CPython 3.11
CPython 3.12
最新 PyPy3
在不同的操作系统上
Linux
Windows
macOS
以及不同的架构上
x64
x86
所以有 42 个假设的解释器。
检查¶
pip
CI 运行不同类型的测试
lint(在
.pre-commit-config.yaml
中定义)文档
供应商(
src/_internal/_vendor
目录是否被干净地供应)单元测试(位于
tests/unit
)“集成”测试(主要位于
tests/functional
)包(测试打包步骤)
由于 lint、文档、供应商和包测试只需要在 pip 开发者/贡献者机器上运行,因此它们只需要在 3 种不同操作系统的 x64 变体上进行测试,当需要指定解释器时,要求使用最新的 CPython 解释器是可以的。
因此,只有单元测试和集成测试需要使用不同的解释器运行。
服务¶
pip 测试套件和检查在 GitHub Actions 上分发,GitHub Actions 为开源包提供免费的执行器。
当前运行测试¶
开发者任务¶
操作系统 |
文档 |
lint |
供应商 |
打包 |
---|---|---|---|---|
Linux |
GitHub |
GitHub |
GitHub |
GitHub |
Windows |
GitHub |
GitHub |
GitHub |
GitHub |
macOS |
GitHub |
GitHub |
GitHub |
GitHub |
实际测试¶
解释器 |
单元 |
集成 |
||
Windows |
x86 |
CP3.8 |
||
CP3.9 |
||||
CP3.10 |
||||
CP3.11 |
||||
CP3.12 |
||||
PyPy3 |
||||
x64 |
CP3.8 |
GitHub |
GitHub |
|
CP3.9 |
||||
CP3.10 |
||||
CP3.11 |
GitHub |
GitHub |
||
CP3.12 |
||||
PyPy3 |
||||
Linux |
x86 |
CP3.8 |
||
CP3.9 |
||||
CP3.10 |
||||
CP3.11 |
||||
CP3.12 |
||||
PyPy3 |
||||
x64 |
CP3.8 |
GitHub |
GitHub |
|
CP3.9 |
GitHub |
GitHub |
||
CP3.10 |
GitHub |
GitHub |
||
CP3.11 |
GitHub |
GitHub |
||
CP3.12 |
GitHub |
GitHub |
||
PyPy3 |
||||
macOS |
arm64 |
CP3.8 |
||
CP3.9 |
||||
CP3.10 |
||||
CP3.11 |
||||
CP3.12 |
||||
PyPy3 |
||||
x64 |
CP3.8 |
GitHub |
GitHub |
|
CP3.9 |
GitHub |
GitHub |
||
CP3.10 |
GitHub |
GitHub |
||
CP3.11 |
GitHub |
GitHub |
||
CP3.12 |
GitHub |
GitHub |
||
PyPy3 |