]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
docs: add docs for dev contributions
authorAndrew Schoen <aschoen@redhat.com>
Thu, 17 Aug 2017 16:25:56 +0000 (11:25 -0500)
committerAndrew Schoen <aschoen@redhat.com>
Thu, 17 Aug 2017 21:03:04 +0000 (16:03 -0500)
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
docs/source/dev/index.rst [new file with mode: 0644]
docs/source/index.rst

diff --git a/docs/source/dev/index.rst b/docs/source/dev/index.rst
new file mode 100644 (file)
index 0000000..dfaf94f
--- /dev/null
@@ -0,0 +1,85 @@
+Contribution Guidelines
+=======================
+
+The repository centralises all the Ansible roles. The roles are all part of the Galaxy.
+We love contribution and we love giving visibility to our contributors, this is why all the **commits must be signed-off**.
+
+Mailing list
+------------
+Please register the mailing list at http://lists.ceph.com/listinfo.cgi/ceph-ansible-ceph.com
+
+IRC
+---
+Feel free to join us in the channel #ceph-ansible of the OFTC servers
+
+Github
+------
+The main github account for the project is at https://github.com/ceph/ceph-ansible/
+
+Submit a patch
+--------------
+
+To start contributing just do::
+
+    $ git checkout -b my-working-branch
+    $ # do your changes #
+    $ git add -p
+
+If your change impacts a variable file in a role such as ``roles/ceph-common/defaults/main.yml``, you need to generate a ``group_vars`` file::
+
+    $ ./generate_group_vars_sample.sh
+
+You are finally ready to push your changes on Github::
+
+    $ git commit -s
+    $ git push origin my-working-branch
+
+Worked on a change and you don't want to resend a commit for a syntax fix?
+
+::
+
+    $ # do your syntax change #
+    $ git commit --amend
+    $ git push -f origin my-working-branch
+
+PR Testing
+----------
+Pull Request testing is handled by jenkins. All test must pass before your PR will be merged.
+
+All of tests that are running are listed in the github UI and will list their current status.
+
+If a test fails and you'd like to rerun it, comment on your PR in the following format::
+
+    jenkins test $scenario_name
+
+For example::
+
+    jenkins test luminous-ansible2.3-journal_collocation
+
+Backporting changes
+-------------------
+
+If a change should be backported to a ``stable-*`` Git branch:
+
+- Mark your PR with the GitHub label "Backport" so we don't lose track of it.
+- Fetch the latest updates into your clone: ``git fetch``
+- Determine the latest available stable branch:
+  ``git branch -r --list "origin/stable-[0-9].[0-9]" | sort -r | sed 1q``
+- Create a new local branch for your PR, based on the stable branch:
+  ``git checkout --no-track -b my-backported-change origin/stable-2.2``
+- Cherry-pick your change: ``git cherry-pick -x (your-sha1)``
+- Create a new pull request against the ``stable-2.2`` branch.
+- Ensure that your PR's title has the prefix "backport:", so it's clear
+  to reviewers what this is about.
+- Add a comment in your backport PR linking to the original (master) PR.
+
+All changes to the stable branches should land in master first, so we avoid
+regressions.
+
+Once this is done, one of the project maintainers will tag the tip of the
+stable branch with your change. For example::
+
+   git checkout stable-2.2
+   git pull --ff-only
+   git tag v2.2.5
+   git push origin v2.2.5
index d059810c2461cec159be5526ce9f3808d8768c14..998827efdead619b65d5000fc48d714b55b428d8 100644 (file)
@@ -167,6 +167,16 @@ by setting the ``osd_scenario`` configuration option.
 
    osds/scenarios
     
+Contribution
+============
+
+See the following section for guidelines on how to contribute to ``ceph-ansible``.
+
+.. toctree::
+   :maxdepth: 1
+
+   dev/index
+
 Testing
 =======