@@ -51,6 +51,71 @@ The Zephyr release model was loosely based on the Linux kernel model:
5151 `Official GitHub Wiki <https://github.com/zephyrproject-rtos/zephyr/wiki/Release-Management >`_.
5252 Information on previous releases can be found :ref: `here <zephyr_release_notes >`.
5353
54+
55+ .. _merge_criteria :
56+
57+ Merge Criteria
58+ **************
59+
60+ .. figure :: img/img_release_activity.png
61+ :width: 663px
62+ :align: center
63+ :alt: Release Activity
64+
65+ * All :ref: `pr_requirements ` must be met.
66+ * Minimal of 2 approvals, including an approval by the designated assignee.
67+ * Pull requests should be reviewed by at least a maintainer or collaborator of
68+ each affected area; Unless the changes to a given area are considered trivial
69+ enough, in which case approvals by other affected subsystems
70+ maintainers/collaborators would suffice.
71+ * Four eye principle on the organisation level. We already require at least 2
72+ approvals (basic four eye principle), however, such reviews and approvals
73+ might be unintentionally biased in the case where the submitter is from the
74+ same organisation as the approvers. To allow for project wide review and
75+ approvals, the merge criteria is extended with the guidelines below:
76+
77+ * Changes or additions to common and shared code shall have approvals from
78+ different organisations (at least one approval from an
79+ organisation different than the submitters').
80+ Common and shared code is defined as anything that does not fall under
81+ :file: `soc `, :file: `boards ` and :file: `drivers/*/* `.
82+ * Changes or additions to hardware support (driver, SoC, boards) shall at
83+ least have the merger be from a different organisation. This applies only
84+ to implementation of an API supporting vendor specific hardware and not the
85+ APIs.
86+ * Release engineers may make exceptions for areas with contributions primarily
87+ coming from one organisation and where reviews from other organisations are
88+ not possible, however, merges shall be completed by a person from a different
89+ organisation. In such cases, the minimum review period of at least 2 days
90+ shall be strictly followed to allow for additional reviews.
91+ * Release engineers shall not merge code changes originating and reviewed
92+ only by their own organisation. To be able to merge such changes, at least
93+ one review shall be from a different organisation.
94+
95+ * A minimum review period of 2 business days, 4 hours for trivial changes (see
96+ :ref: `review_time `).
97+ * Hotfixes can be merged at any time after CI has passed and are excluded from
98+ most of the conditions listed above.
99+ * All required checks are passing:
100+
101+ * Device Tree
102+ * Documentation
103+ * Code linters (Gitlint, Pylint, Ruff, Sphinx, etc.)
104+ * Identity/Emails
105+ * Kconfig
106+ * License checks
107+ * Checkpatch (Coding Style)
108+ * Integration Tests (Via twister) on emulation/simulation platforms
109+ * Simulated Bluetooth Tests
110+
111+ * Planned
112+
113+ * Footprint
114+ * Code coverage
115+ * Coding Guidelines
116+ * Static Analysis (Coverity)
117+ * Documentation coverage (APIs)
118+
54119Development Phase
55120*****************
56121
0 commit comments