blob: 3eb6cdfa5c7b467470295f0e0b68c9b67675ab99 [file] [log] [blame]
Contributing Process
====================
Contributions to the TF-M project need to follow the process below.
.. Note::
Please contact `TF-M mailing list <mailing_list_>`_ for any question.
- It is recommended to subscribe to `TF-M mailing list <mailing_list_>`_
via `this page <https://lists.trustedfirmware.org/mailman3/lists/tf-m.lists.trustedfirmware.org>`_.
- Refer to the `Roadmap
<https://developer.trustedfirmware.org/w/tf_m/planning>`_ or send a mail to
the `TF-M mailing list <mailing_list_>`_ to get the latest status and plan of
TF-M.
- Follow :doc:`Design Proposal Guideline </contributing/tfm_design_proposal_guideline>`
to propose your design.
- Follow guidelines below to prepare the patch:
- Clone the TF-M code on your own machine from `TF-M git repository
<https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git>`_.
- Follow the :doc:`TF-M getting started </getting_started/tfm_getting_started>`,
:doc:`Build Instructions </technical_references/instructions/tfm_build_instruction>` and
:doc:`Coding Guide </contributing/coding_guide>` for the TF-M project.
- Make your changes in logical chunks to help reviewers. Each commit should
be a separate review and either work properly or be squashed after the
review and before merging.
- Follow :doc:`Documentation Contribution Guidelines </contributing/doc_guidelines>`
to update documentation in ``docs`` folder if needed.
- Test your changes and add details to the commit description.
- The code is accepted under :doc:`Developer Certificate of Origin (DCO) </contributing/dco>`.
Use ``git commit -s`` to add a ``Signed-off-by`` trailer at the end of the
commit log message.
See `git-commit <https://git-scm.com/docs/git-commit>`_ for details.
- Add a `Change-Id <https://review.trustedfirmware.org/Documentation/user-changeid.html>`_
to the commit message, which can be generated any way you like (e.g. from
the SHA of the commit).
It is suggested to clone repositories with commit-msg hook. The commit-msg
hook attaches Change-Id automatically.
Take `trusted-firmware-m <https://review.trustedfirmware.org/admin/repos/TF-M/trusted-firmware-m>`_
as an example.
- Submit your patch for review.
Refer to `Uploading Changes <https://review.trustedfirmware.org/Documentation/user-upload.html>`_
for details of uploading patch.
- Add relevant :doc:`code owner(s) </contributing/maintainers>` for reviewing
the patch.
- You may be asked to provide further details or make additional changes.
- You can discuss further with code owner(s) and maintainer(s) directly via
`TF-M mailing list <mailing_list_>`_ if necessary.
- Click ``Allow-CI +1`` button on Gerrit page to run CI to validate your patch.
Your patch shall pass CI successfully before being merged. Code owner(s) and
maintainer(s) may ask for additional test.
- Once the change is approved by code owners, the patch will be merged by the
maintainer.
.. _mailing_list: tf-m@lists.trustedfirmware.org
--------------
*Copyright (c) 2017-2022, Arm Limited. All rights reserved.*