Phriction Trusted Firmware Trusted Firmware-A (TF-A) Getting started: Contributing TF-A patches on www.trustedfirmware.org History Version 10 vs 17
Version 10 vs 17
Version 10 vs 17
Edits
Edits
- Delete by sandrine-bailleux-arm, Version 17
- Feb 2 2024 8:45 AM
- Edit by sandrine-bailleux-arm, Version 10
- Apr 2 2019 1:56 PM
- ·Add a note about dashboards using PolyGerrit UI
Edit Older Version 10... |
Content Changes
Content Changes
This page provides some information to help contributors using the new Gerrit review system for TF-A patches submission. It is not meant to be an exhaustive user guide but instead just illustrates the new TF-A Contribution Guidelines.
On Github, contributions used to be submitted using pull requests. On www.trustedfirmware.org, we are using the Gerrit review tool. When you are ready to post a patch (or a series of patches) for review, you should use a git command similar to the following one:
```
$ git push origin HEAD:refs/for/integration/my-topic-name
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 559 bytes | 0 bytes/s, done.
Total 5 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3)
remote: Processing changes: refs: 1, new: 1, done
remote:
remote: SUCCESS
remote:
remote: New Changes:
remote: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/800 Fix a comment in SP_MIN Makefile
To ssh://sandrine-bailleux-arm@review.trustedfirmware.org:29418/TF-A/trusted-firmware-a
* [new branch] HEAD -> refs/for/integration/my-topic-name
```
The `refs/for/integration/my-topic-name` is a "magic" refspec recognized by Gerrit. It means that the patch should target the `integration` branch and belongs to the `my-topic-name` set of changes.
This command should make your patch(es) appear on the [[https://review.trustedfirmware.org/#/projects/TF-A/trusted-firmware-a,dashboards/site:main | TF-A Gerrit review dashboard]] in the `Open Published Patches` section:
{F29817, size=full}
**Note**: If the link to the [[https://review.trustedfirmware.org/#/projects/TF-A/trusted-firmware-a,dashboards/site:main | TF-A Gerrit review dashboard]] does not work for you (HTTP 404 error code), see the //Troubleshooting// section below.
Your patch(es) will need to go through code review, IP review and automated testing. If it does not have all approvals, it cannot be merged. The status of the patch is indicated at the top, near the change number. In this example, `Needs IP-Review label`.
{F29819, size=full}
Once your patch has received all necessary approvals, its status will change to `Ready to submit`:
{F29821, size=full}
It is then ready to be merged into the integration branch by a maintainer.
= Troubleshooting =
Gerrit supports 2 user interfaces: the classic one and the new [[https://www.gerritcodereview.com/dev-polygerrit.html | PolyGerrit ]] one. The latter is a beta feature at the moment and does not support everything yet. One of the missing features seems to be dashboards. Therefore, to follow the instructions on this page, we recommend switching to the classic UI.
How do you know whether you're using the classic or PolyGerrit UI? If the website interface looks like the following screenshot then you're using the PolyGerrit UI. You can switch to the classic one by clicking on the `Switch to Old UI` link at the bottom of the page:
{F29823, size=full}
This page provides some information to help contributors using the new Gerrit review system for TF-A patches submission. It is not meant to be an exhaustive user guide but instead just illustrates the new TF-A Contribution Guidelines.
On Github, contributions used to be submitted using pull requests. On www.trustedfirmware.org, we are using the Gerrit review tool. When you are ready to post a patch (or a series of patches) for review, you should use a git command similar to the following one:
```
$ git push origin HEAD:refs/for/integration/my-topic-name
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 559 bytes | 0 bytes/s, done.
Total 5 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3)
remote: Processing changes: refs: 1, new: 1, done
remote:
remote: SUCCESS
remote:
remote: New Changes:
remote: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/800 Fix a comment in SP_MIN Makefile
To ssh://sandrine-bailleux-arm@review.trustedfirmware.org:29418/TF-A/trusted-firmware-a
* [new branch] HEAD -> refs/for/integration/my-topic-name
```
The `refs/for/integration/my-topic-name` is a "magic" refspec recognized by Gerrit. It means that the patch should target the `integration` branch and belongs to the `my-topic-name` set of changes.
This command should make your patch(es) appear on the [[https://review.trustedfirmware.org/#/projects/TF-A/trusted-firmware-a,dashboards/site:main | TF-A Gerrit review dashboard]] in the `Open Published Patches` section:
{F29817, size=full}
**Note**: If the link to the [[https://review.trustedfirmware.org/#/projects/TF-A/trusted-firmware-a,dashboards/site:main | TF-A Gerrit review dashboard]] does not work for you (HTTP 404 error code), see the //Troubleshooting// section below.
Your patch(es) will need to go through code review, IP review and automated testing. If it does not have all approvals, it cannot be merged. The status of the patch is indicated at the top, near the change number. In this example, `Needs IP-Review label`.
{F29819, size=full}
Once your patch has received all necessary approvals, its status will change to `Ready to submit`:
{F29821, size=full}
It is then ready to be merged into the integration branch by a maintainer.
= Troubleshooting =
Gerrit supports 2 user interfaces: the classic one and the new [[https://www.gerritcodereview.com/dev-polygerrit.html | PolyGerrit ]] one. The latter is a beta feature at the moment and does not support everything yet. One of the missing features seems to be dashboards. Therefore, to follow the instructions on this page, we recommend switching to the classic UI.
How do you know whether you're using the classic or PolyGerrit UI? If the website interface looks like the following screenshot then you're using the PolyGerrit UI. You can switch to the classic one by clicking on the `Switch to Old UI` link at the bottom of the page:
{F29823, size=full}