Files
ansible-docs/docs/docsite/rst/dev_guide/developing_collections_contributing.rst
林博仁 Buo-ren Lin dce75072fa many: Fix title case of Git references (#1938)
* many: Fix title case of Git references

Currently many references of the Git software don't use title case, this
patch fixes them while leaving those that should remain lowercase
intact:

* `git` command call in code blocks.
* Git references in changelog entries should stay consistent with the revision title.

Fixes #1935.

Signed-off-by: 林博仁(Buo-ren Lin) <buo.ren.lin@gmail.com>

* Update docs/docsite/rst/dev_guide/testing_integration.rst

Fix command markup.

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update hacking/README.md

Also fix title case of Python.

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Signed-off-by: 林博仁(Buo-ren Lin) <buo.ren.lin@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2024-09-25 07:32:34 +02:00

65 lines
3.2 KiB
ReStructuredText

.. _hacking_collections:
***************************
Contributing to collections
***************************
If you want to add functionality to an existing collection, modify a collection you are using to fix a bug, or change the behavior of a module in a collection, clone the Git repository for that collection and make changes on a branch. You can combine changes to a collection with a local checkout of Ansible (``source hacking/env-setup``).
You should first check the collection repository to see if it has specific contribution guidelines. These are typically listed in the README.md or CONTRIBUTING.md files within the repository.
See :ref:`collection_quickstart` for more general guidelines and :ref:`testing_running_locally` for testing guidelines.
Contributing to a collection: community.general
===============================================
These instructions apply to collections hosted in the `ansible_collections GitHub organization <https://github.com/ansible-collections>`_. For other collections, especially for collections not hosted on GitHub, check the ``README.md`` of the collection for information on contributing to it.
This example uses the `community.general collection <https://github.com/ansible-collections/community.general/>`_. To contribute to other collections in the same GitHub org, replace the folder names ``community`` and ``general`` with the namespace and collection name of a different collection.
Prerequisites
-------------
* Include ``~/dev/ansible/collections/`` in :ref:`COLLECTIONS_PATHS`
* If that path mentions multiple directories, make sure that no other directory earlier in the search path contains a copy of ``community.general``.
Creating a PR
-------------
* Create the directory ``~/dev/ansible/collections/ansible_collections/community``:
.. code-block:: shell
mkdir -p ~/dev/ansible/collections/ansible_collections/community
* Clone `the community.general Git repository <https://github.com/ansible-collections/community.general/>`_ or a fork of it into the directory ``general``:
.. code-block:: shell
cd ~/dev/ansible/collections/ansible_collections/community
git clone git@github.com:ansible-collections/community.general.git general
* If you clone from a fork, add the original repository as a remote ``upstream``:
.. code-block:: shell
cd ~/dev/ansible/collections/ansible_collections/community/general
git remote add upstream git@github.com:ansible-collections/community.general.git
* Create a branch and commit your changes on the branch.
* Remember to add tests for your changes, see :ref:`testing_collections`.
* Push your changes to your fork of the collection and create a Pull Request.
You can test your changes by using this checkout of ``community.general`` in playbooks and roles with whichever version of Ansible you have installed locally, including a local checkout of ``ansible/ansible``'s ``devel`` branch.
.. seealso::
:ref:`collections`
Learn how to install and use collections.
:ref:`contributing_maintained_collections`
Guidelines for contributing to selected collections
:ref:`Communication<communication>`
Got questions? Need help? Want to share your ideas? Visit the Ansible communication guide