Contributing Process

Contributions to the TF-M project need to follow the process below.


Please contact TF-M mailing list for any question.

  • It is recommended to subscribe to TF-M mailing list via this page.

  • Refer to the Roadmap or send a mail to the TF-M mailing list to get the latest status and plan of TF-M.

  • Follow 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.

    • Follow the TF-M getting started, Build Instructions 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 Documentation Contribution Guidelines to update documentation in docs folder if needed.

    • Test your changes and add details to the commit description.

    • The code is accepted under Developer Certificate of Origin (DCO). Use git commit -s to add a Signed-off-by trailer at the end of the commit log message. See git-commit for details.

    • Add a Change-Id 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 as an example.

  • Submit your patch for review. Refer to Uploading Changes for details of uploading patch.

  • Add relevant code owner(s) 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 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.

Copyright (c) 2017-2022, Arm Limited. All rights reserved.