Skip to content

Commit

Permalink
Create separate core vs collection contributor guides (ansible#76764)
Browse files Browse the repository at this point in the history
* updated core guides
* ansible package docs guides
* add core guide to Ansible docs
* Update docs/docsite/rst/community/maintainers.rst
  • Loading branch information
samccann authored and konstruktoid committed Feb 2, 2022
1 parent fb10567 commit 1eb0689
Show file tree
Hide file tree
Showing 17 changed files with 454 additions and 108 deletions.
4 changes: 4 additions & 0 deletions docs/docsite/rst/ansible_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ Ansible releases a new major release approximately twice a year. The core applic
:caption: Contributing to Ansible

community/index
community/contributions_collections
community/contributions
community/advanced_index
dev_guide/style_guide/index

.. toctree::
:maxdepth: 2
Expand Down
14 changes: 14 additions & 0 deletions docs/docsite/rst/community/advanced_index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. _advanced_community_guide:

**********************************************
Advanced Contributor Guide
**********************************************

This guide focuses on contributors who are committers, GitHub admins, or release managers.

.. toctree::
:maxdepth: 1

committer_guidelines
release_managers
github_admins
288 changes: 288 additions & 0 deletions docs/docsite/rst/community/collection_development_process.rst

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions docs/docsite/rst/community/communication.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. _communication:

*************
Communicating
*************
*****************************************
Communicating with the Ansible community
*****************************************

.. contents::
:local:
Expand Down Expand Up @@ -44,7 +44,7 @@ To join the community using Matrix, you need two things:
* a Matrix account (from `Matrix.org <https://app.element.io/#/register>`_ or any other Matrix homeserver)
* a `Matrix client <https://matrix.org/clients/>`_ (we recommend `Element Webchat <https://app.element.io>`_)

The Ansible community maintains its own Matrix homeserver at ``ansible.im``, however public registration is currently unavailable.
The Ansible community maintains its own Matrix homeserver at ``ansible.im``, however public registration is currently unavailable.

Matrix chat supports:

Expand Down
6 changes: 0 additions & 6 deletions docs/docsite/rst/community/community.rst

This file was deleted.

29 changes: 29 additions & 0 deletions docs/docsite/rst/community/contributions.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.. _community_contributions:

********************************
ansible-core Contributors Guide
********************************

.. toctree::
:maxdepth: 2

reporting_bugs_and_features
documentation_contributions
development_process
other_tools_and_programs


If you have a specific Ansible interest or expertise (for example, VMware, Linode, and so on, consider joining a :ref:`working group <working_group_list>`.

Working with the Ansible repo
=============================

* I want to make my first code changes to a collection or to ``ansible-core``. How do I :ref:`set up my Python development environment <environment_setup>`?
* I would like to get more efficient as a developer. How can I find :ref:`editors, linters, and other tools <other_tools_and_programs>` that will support my Ansible development efforts?
* I want my code to meet Ansible's guidelines. Where can I find guidance on :ref:`coding in Ansible <developer_guide>`?
* I would like to connect Ansible to a new API or other resource. How do I :ref:`create a collection <developing_modules_in_groups>`?
* My pull request is marked ``needs_rebase``. How do I :ref:`rebase my PR <rebase_guide>`?
* I am using an older version of Ansible and want a bug fixed in my version that has already been fixed on the ``devel`` branch. How do I :ref:`backport a bugfix PR <backport_process>`?
* I have an open pull request with a failing test. How do I learn about Ansible's :ref:`testing (CI) process <developing_testing>`?
* I am ready to step up as a collection maintainer. What are the :ref:`guidelines for maintainers <maintainers>`?
* A module in a collection I maintain is obsolete. How do I :ref:`deprecate a module <deprecating_modules>`?
29 changes: 29 additions & 0 deletions docs/docsite/rst/community/contributions_collections.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.. _colllections_contributions:

*************************************
Ansible Collections Contributor Guide
*************************************

.. toctree::
:maxdepth: 2

collection_development_process
reporting_collections
documentation_contributions
maintainers
contributing_maintained_collections
other_tools_and_programs



If you have a specific Ansible interest or expertise (for example, VMware, Linode, and so on, consider joining a :ref:`working group <working_group_list>`.

Working with the Ansible collection repositories
=================================================

* How can I find :ref:`editors, linters, and other tools <other_tools_and_programs>` that will support my Ansible development efforts?
* Where can I find guidance on :ref:`coding in Ansible <developer_guide>`?
* How do I :ref:`create a collection <developing_modules_in_groups>`?
* How do I :ref:`rebase my PR <rebase_guide>`?
* How do I learn about Ansible's :ref:`testing (CI) process <developing_testing>`?
* How do I :ref:`deprecate a module <deprecating_modules>`?
1 change: 1 addition & 0 deletions docs/docsite/rst/community/development_process.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ If you want to follow the conversation about what features will be added to ``an

.. _community_pull_requests:


Micro development: the lifecycle of a PR
========================================

Expand Down
33 changes: 33 additions & 0 deletions docs/docsite/rst/community/getting_started.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
.. _community_getting_started:

****************
Getting started
****************

Welcome and thank you for getting more involved with the Ansible community. Here are some ways you can get started.

.. toctree::
:maxdepth: 2

code_of_conduct
contributor_license_agreement
communication
how_can_I_help



Other ways to get involved
==========================

Here are some other ways to connect with the Ansible community:

* Find an `Ansible Meetup near me <https://www.meetup.com/topics/ansible/>`_
communication
* Learn more about Ansible:

* `Read books <https://www.ansible.com/resources/ebooks>`_.
* `Get certified <https://www.ansible.com/products/training-certification>`_.
* `Attend events <https://www.ansible.com/community/events>`_.
* `Review getting started guides <https://www.ansible.com/resources/get-started>`_.
* `Watch videos <https://www.ansible.com/resources/videos>`_ - includes Ansible Automates, AnsibleFest & webinar recordings.
* See where `new releases are announced <https://groups.google.com/forum/#!forum/ansible-announce>`_
74 changes: 1 addition & 73 deletions docs/docsite/rst/community/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,82 +14,10 @@ Welcome to the Ansible Community Guide!

The purpose of this guide is to teach you everything you need to know about being a contributing member of the Ansible community. All types of contributions are welcome and necessary to Ansible's continued success.

This page outlines the most common situations and questions that bring readers to this section. If you prefer a :ref:`traditional table of contents <community_toc>`, you can find one at the bottom of the page.


Getting started
===============

* I am new to the community. Where can I find the Ansible :ref:`code_of_conduct`?
* I would like to know what I am agreeing to when I contribute to Ansible. Does Ansible have a :ref:`contributor_license_agreement`?
* I would like to contribute but I am not sure how. Are there :ref:`easy ways to contribute <how_can_i_help>`?
* I want to talk to other Ansible users. How do I find an `Ansible Meetup near me <https://www.meetup.com/topics/ansible/>`_?
* I have a question. Which :ref:`Ansible email lists and chat channels <communication>` will help me find answers?
* I want to learn more about Ansible. What can I do?

* `Read books <https://www.ansible.com/resources/ebooks>`_.
* `Get certified <https://www.ansible.com/products/training-certification>`_.
* `Attend events <https://www.ansible.com/community/events>`_.
* `Review getting started guides <https://www.ansible.com/resources/get-started>`_.
* `Watch videos <https://www.ansible.com/resources/videos>`_ - includes Ansible Automates, AnsibleFest & webinar recordings.

* I would like updates about new Ansible versions. How are `new releases announced <https://groups.google.com/forum/#!forum/ansible-announce>`_?
* I want to use the current release. How do I know which :ref:`releases are current <release_schedule>`?

Going deeper
============

* I think Ansible is broken. How do I :ref:`report a bug <reporting_bugs>`?
* I need functionality that Ansible does not offer. How do I :ref:`request a feature <request_features>`?
* How do I :ref:`contribute to an Ansible-maintained collection <contributing_maintained_collections>`?
* I am waiting for a particular feature. How do I see what is :ref:`planned for future Ansible Releases <roadmaps>`?
* I have a specific Ansible interest or expertise (for example, VMware, Linode, and so on). How do I get involved in a :ref:`working group <working_group_list>`?
* I would like to participate in conversations about features and fixes. How do I review GitHub issues and pull requests?
* I found a typo or another problem on docs.ansible.com. How can I :ref:`improve the documentation <community_documentation_contributions>`?
* Is there a :ref:`mailing list <communication>` I can sign up for to stay informed about Ansible?


Working with the Ansible repo
=============================

* I want to make my first code changes to a collection or to ``ansible-core``. How do I :ref:`set up my Python development environment <environment_setup>`?
* I would like to get more efficient as a developer. How can I find :ref:`editors, linters, and other tools <other_tools_and_programs>` that will support my Ansible development efforts?
* I want my code to meet Ansible's guidelines. Where can I find guidance on :ref:`coding in Ansible <developer_guide>`?
* I want to learn more about Ansible roadmaps, releases, and projects. How do I find information on :ref:`the development cycle <community_development_process>`?
* I would like to connect Ansible to a new API or other resource. How do I :ref:`create a collection <developing_modules_in_groups>`?
* My pull request is marked ``needs_rebase``. How do I :ref:`rebase my PR <rebase_guide>`?
* I am using an older version of Ansible and want a bug fixed in my version that has already been fixed on the ``devel`` branch. How do I :ref:`backport a bugfix PR <backport_process>`?
* I have an open pull request with a failing test. How do I learn about Ansible's :ref:`testing (CI) process <developing_testing>`?
* I am ready to step up as a collection maintainer. What are the :ref:`guidelines for maintainers <maintainers>`?
* A module in a collection I maintain is obsolete. How do I :ref:`deprecate a module <deprecating_modules>`?

.. _community_toc:

Traditional Table of Contents
=============================

If you prefer to read the entire Community Guide, here is a list of the pages in order:

.. toctree::
:maxdepth: 2

code_of_conduct
how_can_I_help
reporting_bugs_and_features
documentation_contributions
communication
development_process
contributing_maintained_collections
contributor_license_agreement
triage_process
other_tools_and_programs
../dev_guide/style_guide/index

.. toctree::
:caption: Guidelines for specific types of contributors
:maxdepth: 1

committer_guidelines
maintainers
release_managers
github_admins
getting_started
6 changes: 3 additions & 3 deletions docs/docsite/rst/community/maintainers.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. _maintainers:

********************************
Collection maintainer guidelines
********************************
***************************************
Guidelines for collection maintainers
***************************************

Thank you for being a community collection maintainer. This guide offers an overview of your responsibilities as a maintainer along with resources for additional information. The Ansible community hopes that you will find that maintaining a collection is as rewarding for you as having the collection content is for the wider community.

Expand Down
12 changes: 1 addition & 11 deletions docs/docsite/rst/community/reporting_bugs_and_features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,24 +37,14 @@ If you find a bug, open the issue yourself to ensure we have a record of it. Do
* Include output where possible
* For multiple-file content, use gist.github.com, which is more durable than pastebin content

.. _reporting_bugs_in_collections:

Bugs in collections
-------------------

Many bugs only affect a single module or plugin. If you find a bug that affects a module or plugin hosted in a collection, file the bug in the repository of the :ref:`collection <collections>`:

#. Find the collection on `Galaxy <https://galaxy.ansible.com>`_.
#. Click on the Issue Tracker link for that collection.
#. Follow the contributor guidelines or instructions in the collection repo.

If you are not sure whether a bug is in ansible-core or in a collection, you can report the behavior on the :ref:`mailing list or community chat channel first <communication>`.

.. _request_features:

Requesting a feature
====================

Before you request a feature, check what is :ref:`planned for future Ansible Releases <roadmaps>`.
The best way to get a feature into Ansible is to :ref:`submit a pull request <community_pull_requests>`, either against ansible-core or against a collection. See also :ref:`ansible_collection_merge_requirements`.

You can also submit a feature request through opening an issue in the `ansible/ansible <https://github.com/ansible/ansible/issues>`_ for ``ansible-core`` or in a corresponding collection repository (refer to the :ref:`Bugs in collections<reporting_bugs_in_collections>` section to learn how to find a proper issue tracker).
36 changes: 36 additions & 0 deletions docs/docsite/rst/community/reporting_collections.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
.. _reporting_bugs_in_collections:

***********************************
Requesting changes to a collection
***********************************

.. contents::
:local:

Reporting a bug
===============

Security bugs
-------------

Ansible practices responsible disclosure - if this is a security-related bug, email `security@ansible.com <mailto:security@ansible.com>`_ instead of filing a ticket or posting to any public groups, and you will receive a prompt response.


Bugs in collections
-------------------

Many bugs only affect a single module or plugin. If you find a bug that affects a module or plugin hosted in a collection, file the bug in the repository of the :ref:`collection <collections>`:

#. Find the collection on `Galaxy <https://galaxy.ansible.com>`_.
#. Click on the Issue Tracker link for that collection.
#. Follow the contributor guidelines or instructions in the collection repo.

If you are not sure whether a bug is in ansible-core or in a collection, you can report the behavior on the :ref:`mailing list or community chat channel first <communication>`.

Requesting a feature
====================

Before you request a feature, check what is :ref:`planned for future Ansible Releases <roadmaps>`.
The best way to get a feature into an Ansible collection is to :ref:`submit a pull request <community_pull_requests>`, either against ansible-core or against a collection. See also :ref:`ansible_collection_merge_requirements`.

You can also submit a feature request through opening an issue in the collection repository.
8 changes: 0 additions & 8 deletions docs/docsite/rst/community/triage_process.rst

This file was deleted.

3 changes: 3 additions & 0 deletions docs/docsite/rst/core_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ This documentation covers the version of ``ansible-core`` noted in the upper lef
:caption: Contributing to Ansible Core

community/index
community/contributions
community/advanced_index
dev_guide/style_guide/index

.. toctree::
:maxdepth: 2
Expand Down
6 changes: 3 additions & 3 deletions docs/docsite/rst/dev_guide/style_guide/index.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. _style_guide:

*******************
Ansible style guide
*******************
**********************************
Ansible documentation style guide
**********************************

Welcome to the Ansible style guide!
To create clear, concise, consistent, useful materials on docs.ansible.com, follow these guidelines:
Expand Down
5 changes: 5 additions & 0 deletions docs/docsite/sphinx_conf/core_conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,11 @@
'galaxy',
'network',
'scenario_guides',
'community/contributions_collections.rst',
'community/reporting_collections.rst',
'community/contributing_maintained_collections.rst',
'community/collection_development_process.rst',
'community/maintainers.rst',
'porting_guides/porting_guides.rst',
'porting_guides/porting_guide_[1-9]*',
'roadmap/index.rst',
Expand Down

0 comments on commit 1eb0689

Please sign in to comment.