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.