贡献

和我们谈谈

加入我们的行列 #ansible-molecule 在……上面 libera.chat IRC,或 molecule-users Forum

有关Ansible电子邮件列表和IRC频道的完整列表,请参见 communication page .

指南

  • 我们对Molecule的各种不同的改进很感兴趣,请随时提出建议 Issue 如果你想在一些重要的工作,以确保高效率的合作,避免重复的努力。

  • 创建一个主题分支,从中创建您的工作基础。

  • 确保已为更改添加测试。

  • 虽然不是必需的,但是使用 git commit --signoff ,并同意 --signoff 构成协议条款 DCO 1.1 .

  • 运行所有测试以确保没有其他意外损坏。

  • 按照下面的格式化部分重新格式化代码。

  • 提交请求。

行为准则

请看我们的 Code of Conduct 文件。

请求生命周期和治理

  • 如果你的PRs卡住了 join us on IRC 或添加到 working group agenda .

  • 代码样式是CI强制执行的,其他的都是离题的。

  • 所有PRs必须由另一人审核。这是由GitHub强制执行的。更大的变化需要+2。

测试

Molecule有一套广泛的单元和功能测试。Molecule用途 Tox 生成python x Ansible x单元/功能测试矩阵的因素。此时需要手动设置。

依赖关系

当驱动程序的二进制文件不存在时,将跳过测试。

安装测试框架 Tox .

$ python3 -m pip install tox

完整

运行所有测试,包括linting和coverage报告。这应该在合并或提交请求之前运行。

$ tox

列出可用方案

列出所有可用方案。这对于针对特定的Python和Ansible版本进行功能测试和单元测试非常有用。

$ tox -av

单位

使用覆盖率运行所有单元测试。

$ tox -e 'py{27,35,36,37,38}-unit'

为特定版本的Python运行所有单元测试。

$ tox -e py37-unit

掉毛

绒布是由绒布组合而成的。

运行所有linter(有些执行更改以使代码符合样式规则)。

$ tox -e lint

文档

生成文档,使用 sphinx .

$ tox -e docs

文档

使用InterSphinx

conf.py ,我们定义 intersphinx_mapping 它为方便地链接到其他Sphinx文档项目提供了基本url。为了找到正确的链接语法和可以链接到的文本,可以从命令行快速检查引用。

例如,如果要链接到Ansible文档的特定部分,可以首先运行以下命令:

python -m sphinx.ext.intersphinx https://docs.ansible.com/ansible/latest/objects.inv

然后看整个狮身人面像列表。我们看到的条目如下所示:

py:attribute
    AnsibleModule._debug  api/index.html#AnsibleModule._debug

我们可以使用以下语法链接到:

:py:attribute:`AnsibleModule._debug`

信用

基于约翰·杜威的好作品 (@retr0h) 等 contributors. 活动成员列表见 Molecule working group .