blob: 8cc9e40a76e16f3c6a0af0dcb8f01fd533e76a62 [file] [log] [blame]
Galanakis, Minos41f85972019-09-30 15:56:40 +01001Contributing
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
Ashutosh Singh429ceec2019-05-01 16:14:10 +01008 Please contact :doc:`maintainers </docs/maintainers>` for any questions.
9
10- Subscribe to `TF-M development
11 <https://lists.trustedfirmware.org/mailman/listinfo/tf-m>`_ if not subscribed
12 already.
13- Refer to the `Roadmap
14 <https://developer.trustedfirmware.org/w/tf_m/planning>`_ or send a mail to
15 the tf-m@lists.trustedfirmware.org to check if this work is already
16 planned/progresses elsewhere.
17- Create a task in `Phabricator
18 <https://developer.trustedfirmware.org/maniphest>`_, put as many details as
19 possible in the description. Add 'Trusted Firmware M' in the 'Tags' field.
20- For non-trivial changes, need to follow the design proposal process
21 :doc:`Design Proposal Process </docs/processes/tfm_design_proposal_process>`
22 for the TF-M project.
23- After the design has been accepted by the maintainer(s), a corresponding
24 patch should be posted; follow guidelines below:
25
26 - Clone the TF-M code on your own machine from `TF-M git repository
27 <http://git.trustedfirmware.org/trusted-firmware-m.git>`_.
28 - Follow the :doc:`SW Requirements </docs/user_guides/tfm_sw_requirement>`,
29 :doc:`Build Instructions </docs/user_guides/tfm_build_instruction>` and
30 :doc:`Coding Guide </docs/coding_guide>` for the TF-M project.
31 - Make your changes in logical chunks to help reviewers. Each commit should
32 be a separate review and either work properly or be squashed after the
33 review and before merging.
34 - Update documentation in docs/ folder if needed.
35 - Test your changes and add details to the commit description.
36 - The code is accepted under :doc:`DCO </docs/dco>`, Developer Certificate of
37 Origin, so you must add following fields to your commit description:
38
39 .. code-block:: text
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020040
41 Author: Full Name <email address>
42 Signed-off-by: Full Name <email address>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020043
Ashutosh Singh429ceec2019-05-01 16:14:10 +010044 .. Note::
45
46 Sign off authority needs to adhere to the [DCO](./dco.txt) rules.
47
48 - You may add other fields in the commit message. Need to add the Task ID link
49 in the comment for the commit.
50 - Submit your patch for review.
51
52 .. code-block:: shell
53
54 git push ssh://review.trustedfirmware.org:29418/trusted-firmware-m.git HEAD:refs/for/master
55
56- Add relevant :doc:`maintainers </docs/maintainers>` for reviewing the patch.
57- You may be asked to provide further details or make additional changes.
58- You can discuss further with maintainer(s) by directly over email if
59 necessary.
60- Once the change is approved by maintainers, the patch will be merged by the
61 maintainer.
62- Mark the task as 'resolved' after patch is merged.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020063
64--------------
65
66*Copyright (c) 2017-2019, Arm Limited. All rights reserved.*