贡献¶
发现了一个错误或有改进 Ansible Molecule 的想法?想写一些文档或在论坛上分享您的专业知识?有很多方法可以参与并贡献,了解如何参与。
准则¶
- 我们对 Molecule 的各种不同类型的改进感兴趣;如果您想从事一些主要工作,请随时提出 问题,以确保高效协作并避免重复工作。
- 从您想要进行工作的基础创建一个主题分支。
- 确保您已为您的更改添加了测试。
- 虽然不是必需的,但最好使用
git commit --signoff
签署提交,并同意使用--signoff
构成对 DCO 1.1 条款的同意。 - 运行所有测试,以确保没有其他意外损坏。
- 按照下面的格式化部分重新格式化代码。
- 提交拉取请求。
与我们交流¶
与 Ansible 社区联系!
加入 Ansible 论坛提出问题、获得帮助并与社区互动。
- 获取帮助:获取帮助或帮助他人。如果您开始新的讨论,请添加适当的标签,例如使用
molecule
、molecule6
或devtools
标签。 - 社交空间:与同道中人见面并互动。
- 新闻与公告:跟踪项目范围内的公告,包括社交活动。
要获取社区的发布公告和重要更改,请参阅 Bullhorn 时事通讯。
您可以在 Ansible 通信指南中找到更多信息。
可能的安全漏洞应通过电子邮件报告给 security@ansible.com。
行为准则¶
请参阅我们的行为准则文档。
拉取请求和治理¶
- 如果您的 PR 卡住了,请 加入我们的 IRC 或添加到 工作组议程中。
- 代码样式是 CI 强制执行的,其他一切都与主题无关。
- 所有 PR 必须由另一个人审查。这是由 GitHub 强制执行的。较大的更改需要 +2。
测试¶
Molecule 拥有一套广泛的单元测试和功能测试。 Molecule 使用 Tox 因子来生成 python x Ansible x 单元/功能测试的矩阵。此时需要手动设置。
依赖项¶
当驱动程序的二进制文件不存在时,测试将被跳过。
安装测试框架 Tox。
运行测试套件¶
运行所有测试,包括 linting 和覆盖率报告。这应该在合并或提交拉取请求之前运行。
列出可用场景¶
列出所有可用场景。这对于针对功能和单元测试的特定 Python 和 Ansible 版本很有用。
单元¶
运行所有带有覆盖率的单元测试。
运行特定 Python 版本的所有单元测试。
Linting¶
Linting 由多个 linter 组合执行。
运行所有 linter(有些会进行更改以使代码符合样式规则)。
文档¶
使用 mkdocs 生成文档。
更新依赖项¶
需要手动更新依赖项,位置在:
.config/requirements.in
.pre-commit-config.yaml
(2 个位置)
鸣谢¶
基于 John Dewey (@retr0h) 和其他 贡献者的出色工作。活跃成员列表可以在 Molecule 工作组中查看。