持續整合¶
支援的詮譯器¶
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 執行不同類型的測試
linter (定義於
.pre-commit-config.yaml
中)文件
打包 (是否整潔打包
src/_internal/_vendor
目錄)單元測試 (出現在
tests/unit
中)「整合」測試 (大多出現在
tests/functional
中)套件 (測試封裝步驟)
由於 linter、文件、打包和套件測試只需在 pip 開發人員/貢獻者的電腦中執行,因此它們只需要在 3 個不同作業系統的 x64 版本中進行測試,而且當需要指定詮譯器時,要求採用最新的 CPython 詮譯器即可。
因此,只有單元測試和整合測試需要使用不同的詮譯器執行。
服務¶
pip 測試套件和檢查分佈在 GitHub Actions 上,它為開放原始碼套件提供免費執行器。
目前執行的測試¶
開發人員任務¶
OS |
文件 |
linter |
打包 |
封裝 |
---|---|---|---|---|
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 |