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 | |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 8 | Please contact `TF-M mailing list <mailing_list_>`_ for any question. |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 9 | |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 10 | - It is recommended to subscribe to `TF-M mailing list <mailing_list_>`_ |
| 11 | via `this page <https://lists.trustedfirmware.org/mailman3/lists/tf-m.lists.trustedfirmware.org>`_. |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 12 | - Refer to the `Roadmap |
| 13 | <https://developer.trustedfirmware.org/w/tf_m/planning>`_ or send a mail to |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 14 | the `TF-M mailing list <mailing_list_>`_ to get the latest status and plan of |
| 15 | TF-M. |
| 16 | - Follow :doc:`Design Proposal Guideline </contributing/tfm_design_proposal_guideline>` |
| 17 | to propose your design. |
| 18 | - Follow guidelines below to prepare the patch: |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 19 | |
| 20 | - 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] | 21 | <https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git>`_. |
Anton Komlev | 3356ba3 | 2022-03-31 22:02:11 +0100 | [diff] [blame] | 22 | - Follow the :doc:`TF-M getting started </getting_started/tfm_getting_started>`, |
Anton Komlev | 0dbe8f1 | 2022-06-17 16:48:12 +0100 | [diff] [blame] | 23 | :doc:`Build Instructions </building/tfm_build_instruction>` |
Anton Komlev | 3356ba3 | 2022-03-31 22:02:11 +0100 | [diff] [blame] | 24 | :doc:`Coding Guide </contributing/coding_guide>` for the TF-M project. |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 25 | - Make your changes in logical chunks to help reviewers. Each commit should |
| 26 | be a separate review and either work properly or be squashed after the |
| 27 | review and before merging. |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 28 | - Follow :doc:`Documentation Contribution Guidelines </contributing/doc_guidelines>` |
| 29 | to update documentation in ``docs`` folder if needed. |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 30 | - Test your changes and add details to the commit description. |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 31 | - The code is accepted under :doc:`Developer Certificate of Origin (DCO) </contributing/dco>`. |
| 32 | Use ``git commit -s`` to add a ``Signed-off-by`` trailer at the end of the |
| 33 | commit log message. |
| 34 | See `git-commit <https://git-scm.com/docs/git-commit>`_ for details. |
Anton Komlev | a36614c | 2023-02-27 12:18:19 +0000 | [diff] [blame] | 35 | - Ensure that each changed file has the correct copyright and license |
| 36 | information. Files that entirely consist of contributions to this project |
| 37 | should have a copyright notice and BSD-3-Clause SPDX license identifier of |
| 38 | the form as shown in :doc:`lic`. Files that contain changes to imported |
| 39 | Third Party IP files should retain their original copyright and license |
| 40 | notices. |
| 41 | |
| 42 | Contributors can add the following copyright note, (whilst) it is suggested |
| 43 | to update copyright note only for *major*, non-trivial changes. |
| 44 | |
| 45 | :: |
| 46 | |
| 47 | Copyright (c) XXXX[-YYYY], <OWNER>. All rights reserved. |
| 48 | |
| 49 | where XXXX is the year of first contribution and YYYY is the optional year |
| 50 | of most recent contribution. <OWNER> is your or your company name. |
| 51 | |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 52 | - Add a `Change-Id <https://review.trustedfirmware.org/Documentation/user-changeid.html>`_ |
| 53 | to the commit message, which can be generated any way you like (e.g. from |
| 54 | the SHA of the commit). |
| 55 | It is suggested to clone repositories with commit-msg hook. The commit-msg |
| 56 | hook attaches Change-Id automatically. |
| 57 | Take `trusted-firmware-m <https://review.trustedfirmware.org/admin/repos/TF-M/trusted-firmware-m>`_ |
| 58 | as an example. |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 59 | |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 60 | - Submit your patch for review. |
| 61 | Refer to `Uploading Changes <https://review.trustedfirmware.org/Documentation/user-upload.html>`_ |
| 62 | for details of uploading patch. |
| 63 | - Add relevant :doc:`code owner(s) </contributing/maintainers>` for reviewing |
Galanakis, Minos | 0c1ad78 | 2019-11-08 11:28:40 +0000 | [diff] [blame] | 64 | the patch. |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 65 | - You may be asked to provide further details or make additional changes. |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 66 | - You can discuss further with code owner(s) and maintainer(s) directly via |
| 67 | `TF-M mailing list <mailing_list_>`_ if necessary. |
Anton Komlev | f6da329 | 2023-05-17 17:42:40 +0100 | [diff] [blame] | 68 | - If multiple patches are linked in a chain then code owners and maintainers |
| 69 | should review and merge individual patches when they are ready, rather than |
| 70 | waiting for the entire chain to be reviewed. If multiple patches are intended |
| 71 | to be merged together then authors shall use topics or explicitly mention |
| 72 | that in the commit message. |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 73 | - Click ``Allow-CI +1`` button on Gerrit page to run CI to validate your patch. |
| 74 | Your patch shall pass CI successfully before being merged. Code owner(s) and |
| 75 | maintainer(s) may ask for additional test. |
| 76 | - Once the change is approved by code owners, the patch will be merged by the |
Ashutosh Singh | 429ceec | 2019-05-01 16:14:10 +0100 | [diff] [blame] | 77 | maintainer. |
David Hu | e0dbac0 | 2022-06-09 16:00:18 +0800 | [diff] [blame] | 78 | |
| 79 | .. _mailing_list: tf-m@lists.trustedfirmware.org |
Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 80 | |
| 81 | -------------- |
| 82 | |
David Hu | 633f1f2 | 2022-01-30 22:16:23 +0800 | [diff] [blame] | 83 | *Copyright (c) 2017-2022, Arm Limited. All rights reserved.* |