Summer Qin | abf6698 | 2021-04-06 17:22:15 +0800 | [diff] [blame] | 1 | Contributing Process |
| 2 | ==================== |
Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 3 | |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 4 | Contributions to the TF-M project need to follow the process below. |
Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 5 | |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 6 | .. Note:: |
Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 7 | |
Anton Komlev | 3356ba3 | 2022-03-31 22:02:11 +0100 | [diff] [blame] | 8 | Please contact :doc:`maintainers </contributing/maintainers>` for any |
Galanakis, Minos | 0c1ad78 | 2019-11-08 11:28:40 +0000 | [diff] [blame] | 9 | questions. |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 10 | |
Anton Komlev | da5fb7c | 2022-04-27 19:04:23 +0100 | [diff] [blame] | 11 | - 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 Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 14 | - 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 Komlev | 3356ba3 | 2022-03-31 22:02:11 +0100 | [diff] [blame] | 22 | :doc:`Design Proposal Guideline </contributing/tfm_design_proposal_guideline>` |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 23 | 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 Galanakis | 0f39fa5 | 2020-06-08 16:53:53 +0100 | [diff] [blame] | 28 | <https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git>`_. |
Anton Komlev | 3356ba3 | 2022-03-31 22:02:11 +0100 | [diff] [blame] | 29 | - 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 Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 32 | - 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 Komlev | 3356ba3 | 2022-03-31 22:02:11 +0100 | [diff] [blame] | 37 | - The code is accepted under :doc:`DCO </contributing/dco>`, Developer |
Galanakis, Minos | 0c1ad78 | 2019-11-08 11:28:40 +0000 | [diff] [blame] | 38 | Certificate of Origin, so you must add following fields to your |
| 39 | commit description: |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 40 | |
| 41 | .. code-block:: text |
Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 42 | |
| 43 | Author: Full Name <email address> |
| 44 | Signed-off-by: Full Name <email address> |
Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 45 | |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 46 | .. Note:: |
| 47 | |
| 48 | Sign off authority needs to adhere to the [DCO](./dco.txt) rules. |
| 49 | |
Øyvind Rønningstad | 412d222 | 2020-06-09 12:34:32 +0200 | [diff] [blame] | 50 | - 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 Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 57 | - Submit your patch for review. |
| 58 | |
| 59 | .. code-block:: shell |
| 60 | |
Minos Galanakis | 0f39fa5 | 2020-06-08 16:53:53 +0100 | [diff] [blame] | 61 | git push ssh://review.trustedfirmware.org:29418/TF-M/trusted-firmware-m.git HEAD:refs/for/master |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 62 | |
Øyvind Rønningstad | 412d222 | 2020-06-09 12:34:32 +0200 | [diff] [blame] | 63 | 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 Komlev | 3356ba3 | 2022-03-31 22:02:11 +0100 | [diff] [blame] | 69 | - Add relevant :doc:`maintainers </contributing/maintainers>` for reviewing |
Galanakis, Minos | 0c1ad78 | 2019-11-08 11:28:40 +0000 | [diff] [blame] | 70 | the patch. |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 71 | - 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 Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 77 | |
| 78 | -------------- |
| 79 | |
David Hu | 633f1f2 | 2022-01-30 22:16:23 +0800 | [diff] [blame] | 80 | *Copyright (c) 2017-2022, Arm Limited. All rights reserved.* |