持续集成¶
持续集成是我们开发过程的一部分,并确保对本科学计划做出贡献的每一段代码或文档都在工作,并且不会产生不可预见的影响。
注解
在提交或更新您的PR之前,请确保您在本地测试了您的更改。看见 提交请购单前的核对表 和 在本地运行SciPy测试 。
工作流程¶
我们运行20多个不同的工作流程,不同的依赖关系版本,不同的架构等。公关必须通过所有这些检查才能合并,以确保项目的可持续状态。
除了单元测试之外,还检查了文档字符串中的文档和示例。这些是常见的失败工作流,因为Sphinx和doctest有非常严格的规则。这些方面非常重要,因为文档和示例都是面向用户的元素。确保正确呈现这些元素。
日志可能会很长,但您始终会找出构建/测试没有通过检查的原因。只需单击 Details
才能访问日志。
以下是正在使用的所有不同工作流的列表。它们按配置项资源提供商分组。
GitHub操作¶
Linux Tests
:测试套件为Linux运行 (x86_64
)macOS Tests
:针对MacOS运行测试套件 (x86_64
)
在GitHub操作和其他平台上运行的测试套件涵盖了一系列测试/环境条件:Python和NumPy版本(支持的最低版本到夜间版本)、32位与64位、不同的编译器以及更多-有关详细信息,请参阅 .yml
配置文件。
蔚蓝¶
Lint
:PEP8和代码样式Windows Python
:针对Windows运行测试套件Linux_Python_37_32bit_full
wheel_optimized_gcc48
source_distribution
:通过以下方式安装sdist
,然后运行测试套件refguide_asv_check
:来自示例和基准的文档测试
CircleCI¶
build_docs
:构建文档build_docs artifact
:文档的实时预览build_scipy
run_benchmarks
:验证更改如何影响性能
编解码器¶
patch
:更改对代码覆盖率的影响project
:整个项目的覆盖面
正在跳过¶
作为一个开源项目,我们可以访问一定数量的CI资源。归根结底,资源是有限的,我们应该谨慎使用它们。这就是我们要求您在推送更改之前在本地验证它们的原因。
根据建议的更改,您可能希望跳过部分检查。在集成之前重新运行一些测试将由维护人员自行决定。
跳过配置项可以通过在提交消息中添加特殊文本来实现:
[skip azp]
:将跳过Azure[skip actions]
:将跳过GitHub操作[skip ci]
:将跳过 all CI
当然,您可以将它们组合在一起以跳过多个工作流。
此跳过信息应放在新行上。在此示例中,我们刚刚更新了一个 .rst
在文档中添加文件并要求跳过Azure和GitHub操作的工作流:
DOC: improve QMCEngine examples.
[skip azp] [skip actions]