ceph-ansible/docs/source/dev/index.rst

86 lines
2.6 KiB
ReStructuredText

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-3.0``
- Cherry-pick your change: ``git cherry-pick -x (your-sha1)``
- Create a new pull request against the ``stable-3.0`` 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-3.0
git pull --ff-only
git tag v3.0.12
git push origin v3.0.12