blob: fb2379b037bc23a1e89ce5046f9b2d91546bec74 [file] [log] [blame]
Summer Qinabf66982021-04-06 17:22:15 +08001Contributing Process
2====================
Gyorgy Szingdb9783c2019-04-17 21:08:48 +02003
Ashutosh Singh429ceec2019-05-01 16:14:10 +01004Contributions to the TF-M project need to follow the process below.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +02005
Ashutosh Singh429ceec2019-05-01 16:14:10 +01006.. Note::
Gyorgy Szingdb9783c2019-04-17 21:08:48 +02007
Anton Komlev3356ba32022-03-31 22:02:11 +01008 Please contact :doc:`maintainers </contributing/maintainers>` for any
Galanakis, Minos0c1ad782019-11-08 11:28:40 +00009 questions.
Ashutosh Singh429ceec2019-05-01 16:14:10 +010010
Anton Komlevda5fb7c2022-04-27 19:04:23 +010011- Subscribe to `TF-M development mailing list
12 <https://lists.trustedfirmware.org/mailman3/lists/tf-m.lists.trustedfirmware.org>`_
13 if not subscribed already.
Ashutosh Singh429ceec2019-05-01 16:14:10 +010014- Refer to the `Roadmap
15 <https://developer.trustedfirmware.org/w/tf_m/planning>`_ or send a mail to
16 the tf-m@lists.trustedfirmware.org to check if this work is already
17 planned/progresses elsewhere.
18- Create a task in `Phabricator
19 <https://developer.trustedfirmware.org/maniphest>`_, put as many details as
20 possible in the description. Add 'Trusted Firmware M' in the 'Tags' field.
21- For non-trivial changes, need to follow the design proposal process
Anton Komlev3356ba32022-03-31 22:02:11 +010022 :doc:`Design Proposal Guideline </contributing/tfm_design_proposal_guideline>`
Ashutosh Singh429ceec2019-05-01 16:14:10 +010023 for the TF-M project.
24- After the design has been accepted by the maintainer(s), a corresponding
25 patch should be posted; follow guidelines below:
26
27 - Clone the TF-M code on your own machine from `TF-M git repository
Minos Galanakis0f39fa52020-06-08 16:53:53 +010028 <https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git>`_.
Anton Komlev3356ba32022-03-31 22:02:11 +010029 - Follow the :doc:`TF-M getting started </getting_started/tfm_getting_started>`,
30 :doc:`Build Instructions </technical_references/instructions/tfm_build_instruction>` and
31 :doc:`Coding Guide </contributing/coding_guide>` for the TF-M project.
Ashutosh Singh429ceec2019-05-01 16:14:10 +010032 - Make your changes in logical chunks to help reviewers. Each commit should
33 be a separate review and either work properly or be squashed after the
34 review and before merging.
35 - Update documentation in docs/ folder if needed.
36 - Test your changes and add details to the commit description.
Anton Komlev3356ba32022-03-31 22:02:11 +010037 - The code is accepted under :doc:`DCO </contributing/dco>`, Developer
Galanakis, Minos0c1ad782019-11-08 11:28:40 +000038 Certificate of Origin, so you must add following fields to your
39 commit description:
Ashutosh Singh429ceec2019-05-01 16:14:10 +010040
41 .. code-block:: text
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020042
43 Author: Full Name <email address>
44 Signed-off-by: Full Name <email address>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020045
Ashutosh Singh429ceec2019-05-01 16:14:10 +010046 .. Note::
47
48 Sign off authority needs to adhere to the [DCO](./dco.txt) rules.
49
Øyvind Rønningstad412d2222020-06-09 12:34:32 +020050 - You must add a `Change-Id
51 <https://review.trustedfirmware.org/Documentation/user-changeid.html>` to
52 the commit message, which can be generated any way you like (e.g. from the
53 SHA of the commit), or use the commit hook.
54 - Create a user in the `TF-M Gerrit <https://review.trustedfirmware.org>`,
55 then add `SSH keys or HTTP credentials
56 <https://review.trustedfirmware.org/settings/>`.
Ashutosh Singh429ceec2019-05-01 16:14:10 +010057 - Submit your patch for review.
58
59 .. code-block:: shell
60
Minos Galanakis0f39fa52020-06-08 16:53:53 +010061 git push ssh://review.trustedfirmware.org:29418/TF-M/trusted-firmware-m.git HEAD:refs/for/master
Ashutosh Singh429ceec2019-05-01 16:14:10 +010062
Øyvind Rønningstad412d2222020-06-09 12:34:32 +020063 or
64
65 .. code-block:: shell
66
67 git push https://review.trustedfirmware.org/TF-M/trusted-firmware-m.git HEAD:refs/for/master
68
Anton Komlev3356ba32022-03-31 22:02:11 +010069- Add relevant :doc:`maintainers </contributing/maintainers>` for reviewing
Galanakis, Minos0c1ad782019-11-08 11:28:40 +000070 the patch.
Ashutosh Singh429ceec2019-05-01 16:14:10 +010071- You may be asked to provide further details or make additional changes.
72- You can discuss further with maintainer(s) by directly over email if
73 necessary.
74- Once the change is approved by maintainers, the patch will be merged by the
75 maintainer.
76- Mark the task as 'resolved' after patch is merged.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020077
78--------------
79
David Hu633f1f22022-01-30 22:16:23 +080080*Copyright (c) 2017-2022, Arm Limited. All rights reserved.*