diff --git a/docs/process/contributing.rst b/docs/process/contributing.rst index d6f61d6c7..f80389dc1 100644 --- a/docs/process/contributing.rst +++ b/docs/process/contributing.rst @@ -1,8 +1,8 @@ Contributor's Guide -=================== +******************* Getting Started ---------------- +=============== - Make sure you have a Github account and you are logged on both `developer.trustedfirmware.org`_ and `review.trustedfirmware.org`_. @@ -24,7 +24,7 @@ Getting Started branch. Making Changes --------------- +============== - Ensure commits adhere to the the project's :ref:`Commit Style`. @@ -91,7 +91,7 @@ Making Changes block a patch, depending on how critical they are. Submitting Changes ------------------- +================== - Submit your changes for review at https://review.trustedfirmware.org targeting the ``integration`` branch. @@ -164,13 +164,17 @@ Submitting Changes revert your patches and ask you to resubmit a reworked version of them or they may ask you to provide a fix-up patch. -Add Build Configurations ------------------------- +Add CI Configurations +===================== - TF-A uses Jenkins tool for Continuous Integration and testing activities. Various CI Jobs are deployed which run tests on every patch before being merged. So each of your patches go through a series of checks before they - get merged on to the master branch. + get merged on to the master branch. Kindly ensure, that everytime you add + new files under your platform, they are covered under the following two sections: + +Coverity Scan +------------- - ``Coverity Scan analysis`` is one of the tests we perform on our source code at regular intervals. We maintain a build script ``tf-cov-make`` which contains the @@ -182,7 +186,7 @@ Add Build Configurations respective build configurations in the ``tf-cov-make`` build script. - In this section you find the details on how to append your new build - configurations for Coverity Scan analysis: + configurations for Coverity scan analysis illustrated with examples: #. We maintain a separate repository named `tf-a-ci-scripts repository`_ for placing all the test scripts which will be executed by the CI Jobs. @@ -223,8 +227,51 @@ Add Build Configurations of various other platforms listed in the ``tf-cov-make`` script. Kindly refer them and append your build configurations respectively. +Test Build Configuration (``tf-l1-build-plat``) +----------------------------------------------- + +- Coverity Scan analysis, runs on a daily basis and will not be triggered for + every individual trusted-firmware patch. + +- Considering this, we have other distinguished CI jobs which run a set of test + configurations on every patch, before they are being passed to ``Coverity scan analysis``. + +- ``tf-l1-build-plat`` is the test group, which holds the test configurations + to build all the platforms. So be kind enough to verify that your newly added + files are built as part of one of the existing platform configurations present + in ``tf-l1-build-plat`` test group. + +- In this section you find the details on how to add the appropriate files, + needed to build your newly introduced platform as part of ``tf-l1-build-plat`` + test group, illustrated with an example: + +- Lets consider ``Hikey`` platform: + In the `tf-a-ci-scripts repository`_ we need to add a build configuration file ``hikey-default`` + under tf_config folder, ``tf_config/hikey-default`` listing all the build parameters + relevant to it. + +.. code:: shell + + #Hikey Build Parameters + CROSS_COMPILE=aarch64-none-elf- + PLAT=hikey + +- Further a test-configuration file ``hikey-default:nil`` need to be added under the + test group, ``tf-l1-build-plat`` located at ``tf-a-ci-scripts/group/tf-l1-build-plat``, + to allow the platform to be built as part of this group. + +.. code:: shell + + # + # Copyright (c) 2019-2022 Arm Limited. All rights reserved. + # + # SPDX-License-Identifier: BSD-3-Clause + # + +- As illustrated above, you need to add the similar files supporting your platform. + Binary Components ------------------ +================= - Platforms may depend on binary components submitted to the `Trusted Firmware binary repository`_ if they require code that the contributor is unable or @@ -242,7 +289,7 @@ Binary Components -------------- -*Copyright (c) 2013-2021, Arm Limited and Contributors. All rights reserved.* +*Copyright (c) 2013-2022, Arm Limited and Contributors. All rights reserved.* .. _developer.trustedfirmware.org: https://developer.trustedfirmware.org .. _review.trustedfirmware.org: https://review.trustedfirmware.org