持续集成

持续集成是我们开发过程的一部分,并确保对本科学计划做出贡献的每一段代码或文档都在工作,并且不会产生不可预见的影响。

注解

在提交或更新您的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]