aboutsummaryrefslogtreecommitdiff
path: root/contributing.rst
diff options
context:
space:
mode:
Diffstat (limited to 'contributing.rst')
-rw-r--r--contributing.rst96
1 files changed, 96 insertions, 0 deletions
diff --git a/contributing.rst b/contributing.rst
new file mode 100644
index 000000000..e2c701918
--- /dev/null
+++ b/contributing.rst
@@ -0,0 +1,96 @@
+Contributing to Trusted Firmware-A Tests
+========================================
+
+Getting Started
+---------------
+
+- Make sure you have a Github account and you are logged on
+ `developer.trustedfirmware.org`_.
+
+ For any non-trivial piece of work, we advise you to create a `task`_ if one
+ does not already exist. This gives everyone visibility of whether others are
+ working on something similar.
+
+ Please select the `Trusted Firmware-A Tests` tag in the task creation form.
+
+- Clone the repository from the Gerrit server. The project details may be found
+ on the `tf-a-tests project page`_. We recommend the "`Clone with commit-msg
+ hook`" clone method, which will setup the git commit hook that automatically
+ generates and inserts appropriate `Change-Id:` lines in your commit messages.
+
+- Base you work on the latest ``master`` branch.
+
+Making Changes
+--------------
+
+- Make commits of logical units. See these general `Git guidelines`_ for
+ contributing to a project.
+
+- Follow the `Linux coding style`_; this style is enforced for the TF-A Tests
+ project (style errors only, not warnings).
+
+ Use the ``checkpatch.pl`` script provided with the Linux source tree. A
+ Makefile target is provided for convenience (see section `Checking source
+ code style`_ in the User Guide).
+
+- Keep the commits on topic. If you need to fix another bug or make another
+ enhancement, please address it on a separate patch series.
+
+- Avoid long commit series. If you do have a long series, consider whether
+ some commits should be squashed together or addressed in a separate series.
+
+- Where appropriate, please update the documentation.
+
+- Ensure that each changed file has the correct copyright and license
+ information.
+
+- Please test your changes. As a minimum, ensure that all standard tests pass
+ on the Foundation FVP. See `Running the TF-A Tests`_ for more information.
+
+Submitting Changes
+------------------
+
+- Ensure that each commit in the series has at least one ``Signed-off-by:``
+ line, using your real name and email address. If anyone else contributes to
+ the commit, they must also add their own ``Signed-off-by:`` line.
+
+ By adding this line the contributor certifies the contribution is made under
+ the terms of the `Developer Certificate of Origin (DCO)`_.
+
+ More details may be found in the `Gerrit Signed-off-by Lines guidelines`_.
+
+- Ensure that each commit also has a unique ``Change-Id:`` line. If you have
+ cloned the repository with the "`Clone with commit-msg hook`" clone method
+ (as advised in section `Getting started`_), this should already be the case.
+
+ More details may be found in the `Gerrit Change-Ids documentation`_.
+
+- Submit your patches to the Gerrit review server. Please choose a Gerrit topic
+ for your patch series - that is, a short tag associated with all of the
+ changes in the same group, such as the local topic branch name.
+
+ Refer to the `Gerrit documentation`_ for more details.
+
+- Once the patch has had sufficient peer review and has passed the checks run
+ by the continuous integration system, the `maintainers`_ will merge your
+ patch.
+
+--------------
+
+*Copyright (c) 2018, Arm Limited. All rights reserved.*
+
+.. _maintainers: maintainers.rst
+.. _license.rst: license.rst
+.. _Developer Certificate of Origin (DCO): dco.txt
+.. _Checking source code style: ../docs/user-guide.rst#checking-source-code-style
+.. _Running the TF-A Tests: ../docs/user-guide.rst#running-the-tf-a-tests
+
+.. _Git guidelines: http://git-scm.com/book/ch5-2.html
+.. _Linux coding style: https://www.kernel.org/doc/html/latest/process/coding-style.html
+
+.. _developer.trustedfirmware.org: https://developer.trustedfirmware.org
+.. _task: https://developer.trustedfirmware.org/maniphest/query/open/
+.. _tf-a-tests project page: https://review.trustedfirmware.org/#/admin/projects/tf-a-tests
+.. _Gerrit documentation: https://review.trustedfirmware.org/Documentation/user-upload.html
+.. _Gerrit Signed-off-by Lines guidelines: https://review.trustedfirmware.org/Documentation/user-signedoffby.html
+.. _Gerrit Change-Ids documentation: https://review.trustedfirmware.org/Documentation/user-changeid.html