貢獻?

和我們談談?

加入我們的行列 #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 .