This list presents a series of technical and non-technical guidelines for maintainers. The list is not exhaustive, it represents a baseline on things that should be ensured for contributions.
Notes:
The list of maintainers gives information on the current maintainers and the areas of RIOT they each maintain.
Before spending the time on an in-depth code review, it's important to assess the overall validity of the PR.
The following list is not exhaustive, it addresses the coding issues we have regularly seen in the past. In particular, check that the Best Practices are followed. These checks can be aided (but not replaced) by a tool such as Coccinelle, using the script found in dist/tools/coccinelle.
Run tests to verify the correct behavior (see 1.6), both on native
and on a
few selected boards, or present clearly and logically articulated reasons for
skipping some/all tests.
Check that the code follows the Coding Conventions. This can be aided (but not replaced) by Uncrustify, using the uncrustify-riot.cfg file found in the base directory. Note the difference between personal coding style, which is allowed subject to the other guidelines, and the coding conventions, which are absolute and must always be followed.
The aim of the documentation is to ensure that the code can be picked up as easily as possible in the future. Ideally, the documentation is sufficiently complete that no input from the original developer or maintainer is required.
You can review a PR partially. This would involve reviewing all points in one or more sections outlined in the technical guidelines. In that case, please do not "approve" the PR to prevent accidental merges. Rather, give your verbal ACK and describe what you reviewed. In addition, if you processed or reasonably stepped over a whole section, mark the PR with the according label from the "Reviewed:" category. If you set a label by stepping over a section, please articulate your reasoning for this clearly, as noted in the introduction. This will help other maintainers to better understand your line of thought. If you disagree with the assessment of a previous review, you may remove a certain "Reviewed:" label. Please state your reasoning in this case as well.
When all "Reviewed:" labels are set you may give your approval for the PR.
As for everything in this document this is a "CAN", not a "MUST": It might help other maintainers to track your work, but if the overhead isn't justified, a simple approving ACK might suffice.
It is good etiquette to describe what you reviewed, even if you gave the PR a full review and gave your approval. This way the contributor and other maintainers are able to follow your thought process.
Maintainers should only assign themselves to PRs and shouldn't assign other maintainers. You can however request reviews from other maintainers or contributors, either by mentioning them in a comment or selecting them in GitHub's review sidebar.
If there are multiple maintainers reviewing a PR, always give the other maintainers reasonable time to ACK before dismissing their review.
Before the official release of a new RIOT version, two feature freeze periods are announced on the RIOT maintainer forum: The soft feature freeze and the hard feature freeze. During the soft feature freeze only PRs with minor impact should be merged into master. The hard feature freeze begins when the release manager creates a new release branch. Therefore, the restriction on merging PRs into the master branch are lifted at that point.
Once the release branch is created, no backports of new features will be accepted. Instead, backports should consist only of bug fixes or of reverting features that were added during the last development period (and not part of any release), but didn't reach the required maturity or API stability yet. For bigger changes (which explicitly includes any revert), the PR has to be announced to the maintainer mailing list and should be merged no sooner than 48h after the announcement and needs at least two ACKs.
In case of security relevant backports (both bug fixes and reverts), the announcement can be skipped and the fix merged once at least two ACKs are there.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )