本页面为希望使用或贡献 Whisper 代码库的开发者提供基本信息。它涵盖了开发工作流、测试基础设施、版本管理和发布流程。有关代码库组织的详细信息,请参阅项目结构。
Whisper 项目遵循标准的 GitHub 开发工作流,并具备自动化测试和持续集成。
来源: .github/workflows/test.yml .github/workflows/python-publish.yml
Whisper 使用 GitHub Actions 进行持续集成测试。测试工作流定义在 test.yml 文件中,并在每次将更改推送到主分支或创建针对主分支的拉取请求时运行。
测试工作流中的第一个作业运行 pre-commit 钩子,以确保代码质量和一致性。
来源: .github/workflows/test.yml11-38
Whisper 与多个 Python 和 PyTorch 版本进行测试,以确保在不同环境下的兼容性。
| Python 版本 | PyTorch 版本 | NumPy 要求 |
|---|---|---|
| 3.8 | 1.10.1 | numpy<2 |
| 3.8 | 1.13.1 | numpy<2 |
| 3.8 | 2.0.1 | numpy<2 |
| 3.9 | 2.1.2 | numpy<2 |
| 3.10 | 2.2.2 | numpy<2 |
| 3.11 | 2.3.1 | numpy |
| 3.12 | 2.4.1 | numpy |
| 3.12 | 2.5.0 | numpy |
测试作业执行 pytest 套件,重点关注不需要 CUDA 的测试,因为 GitHub Actions 运行器不提供 GPU 支持。
来源: .github/workflows/test.yml39-75
Whisper 使用基于日期的版本命名方案,格式为 YYYYMMDD。这种方法允许版本号反映发布日期,便于跟踪特定功能或修复引入的时间。
版本存储在位于 whisper/version.py 的专用文件中。
此版本号由包设置脚本使用,并体现在已安装的包元数据中。
发布通过 Git 提交、GitHub release 和 GitHub Actions 工作流结合管理。
whisper/version.py 中的版本CHANGELOG.md,包含新功能、错误修复和其他更改。来源: .github/workflows/python-publish.yml whisper/version.py CHANGELOG.md
Whisper 维护一个 CHANGELOG.md 文件来记录发布之间的变更。变更日志按版本组织,每个版本都有自己的部分。
## <FileRef file-url="https://github.com/openai/whisper/blob/517a43ec/vYYYYMMDD" undefined file-path="vYYYYMMDD">Hii</FileRef>
* Feature description (<FileRef file-url="https://github.com/openai/whisper/blob/517a43ec/#PR" undefined file-path="#PR">Hii</FileRef>)
* Bug fix description (<FileRef file-url="https://github.com/openai/whisper/blob/517a43ec/#PR" undefined file-path="#PR">Hii</FileRef>)
变更日志条目提供简明的变更描述,并链接到相应的拉取请求以获取更详细的信息。
来源: CHANGELOG.md
贡献 Whisper 时,请遵循以下通用指南:
对于重要的更改,请在实施前考虑在 issue 中进行讨论,以确保其与项目方向一致。