project/dev_env_and_tools.html · project/dev_env_and_tools.rst 공식 원문 ↗

Zephyr 3.7.0 · Project

Development Environment and Tools

Pull request가 적절한 owner review와 CI를 거쳐 merge되도록 역할·시간·label 규칙을 정의합니다.

Official pathproject/dev_env_and_tools.html
Source fileproject/dev_env_and_tools.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

공식 v3.7 review 등급, approval·assignee 책임, checkpatch 예외와 issue/PR label 전체를 보존합니다.

Review

4h · 2d · 3d · 1w

Approval

assignee · two reviews

Labels

9 · 8 · 14 rows

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 7B078B457AAB3C3E0ADF96E1799D4A8E00D1A41F2CF8E5C1CAB2712A40EBD827
.. _dev-environment-and-tools:

Development Environment and Tools
#################################

Code Review
************

GitHub is intended to provide a framework for reviewing every commit before it
is accepted into the code base. Changes, in the form of Pull Requests (PR) are
uploaded to GitHub but don't actually become a part of the project until they've
been reviewed, passed a series of checks (CI), and are approved by maintainers.
GitHub is used to support the standard open source practice of submitting
patches, which are then reviewed by the project members before being applied to
the code base.

Pull requests should be appropriately :ref:`labeled<gh_labels>`,
and linked to any relevant :ref:`bug or feature tracking issues<bug_reporting>`
.

The Zephyr project uses GitHub for code reviews and Git tree management. When
submitting a change or an enhancement to any Zephyr component, a developer
should use GitHub. GitHub Actions automatically assigns a responsible reviewer
on a component basis, as defined in the :zephyr_file:`MAINTAINERS.yml` file
stored with the code tree in the Zephyr project repository. A limited set of
release managers are allowed to merge a pull request into the main branch once
reviews are complete.

.. _review_time:

Give reviewers time to review before code merge
================================================

The Zephyr project is a global project that is not tied to a certain geography
or timezone. We have developers and contributors from across the globe. When
changes are proposed using pull request, we need to allow for a minimal review
time to give developers and contributors the opportunity to review and comment
on changes. There are different categories of changes and we know that some
changes do require reviews by subject matter experts and owners of the subsystem
being changed. Many changes fall under the "trivial" category that can be
addressed with general reviews and do not need to be queued for a maintainer or
code-owner review. Additionally, some changes might require further discussions
and a decision by the TSC or the Security working group. To summarize the above,
the diagram below proposes minimal review times for each category:


.. figure:: ../../../project/pull_request_classes.png
    :align: center
    :alt: Pull request classes
    :figclass: align-center

    Pull request classes

Workflow
---------

- An author of a change can suggest in his pull-request which category a change
  should belong to. A project maintainers or TSC member monitoring the inflow of
  changes can change the label of a pull request by adding a comment justifying
  why a change should belong to another category.
- The project will use the label system to categorize the pull requests.
- Changes should not be merged before the minimal time has expired.

Categories/Labels
-----------------

Hotfix
++++++

Any change that is a fix to an issue that blocks developers from doing their
daily work, for example CI breakage, Test breakage, Minor documentation fixes
that impact the user experience.

Such fixes can be merged at any time after they have passed CI checks. Depending
on the fix, severity, and availability of someone to review them (other than the
author) they can be merged with justification without review by one of the
project owners.

Trivial
+++++++

Trivial changes are those that appear obvious enough and do not require maintainer or code-owner
involvement. Such changes should not change the logic or the design of a
subsystem or component. For example a trivial change can be:

- Documentation changes
- Configuration changes
- Minor Build System tweaks
- Minor optimization to code logic without changing the logic
- Test changes and fixes
- Sample modifications to support additional configuration or boards etc.

Maintainer
+++++++++++

Any changes that touch the logic or the original design of a subsystem or
component will need to be reviewed by the code owner or the designated subsystem
maintainer. If the code changes is initiated by a contributor or developer other
than the owner the pull request needs to be assigned to the code owner who will
have to drive the pull request to a mergeable state by giving feedback to the
author and asking for more reviews from other developers.

Security
+++++++++++

Changes that appear to have an impact to the overall security of the system need
to be reviewed by a security expert from the security working group.

TSC and Working Groups
++++++++++++++++++++++

Changes that introduce new features or functionality or change the way the
overall system works need to be reviewed by the TSC or the responsible Working
Group. For example for :ref:`breaking API changes <breaking_api_changes>`, the
proposal needs to be presented in the Architecture meeting so that the relevant
stakeholders are made aware of the change.

A Pull-Request should have an Assignee
=======================================

- An assignee to a pull request should not be the same as the
  author of the pull-request
- An assignee to a pull request is responsible for driving the
  pull request to a mergeable state
- An assignee is responsible for dismissing stale reviews and seeking reviews
  from additional developers and contributors
- Pull requests should not be merged without an approval by the assignee.

Pull Request should not be merged by author without review
===========================================================

All pull requests need to be reviewed and should not be merged by the author
without a review. The following exceptions apply:

- Hot fixes: Fixing CI issues, reverts, and system breakage
- Release related changes: Changing version file, applying tags and release
  related activities without any code changes.

Developers and contributors should always seek review, however there are cases
when reviewers are not available and there is a need to get a code change into
the tree as soon as possible.

Reviewers shall not 'Request Changes' without comments or justification
=======================================================================

Any change requests (-1) on a pull request have to be justified. A reviewer
should avoid blocking a pull-request with no justification. If a reviewer feels
that a change should not be merged without their review, then: Request change
of the category: for example:

- Trivial -> Maintainer
- Assign Pull Request to yourself, this will mean that a pull request should
  not be merged without your approval.


Pull Requests should have at least 2 approvals before they are merged
======================================================================

A pull-request shall be merged only with two positive reviews (approval). Beside
the person merging the pull-request (merging != approval), two additional
approvals are required to be able to merge a pull request. The person merging
the request can merge without approving or approve and merge to get to the 2
approvals required.

Reviewers should keep track of pull requests they have provided feedback to
===========================================================================

If a reviewer has requested changes in a pull request, he or she should monitor
the state of the pull request and/or respond to mention requests to see if his
feedback has been addressed. Failing to do so, negative reviews shall be
dismissed by the assignee or an owner of the repository. Reviews will be
dismissed following the criteria below:

- The feedback or concerns were visibly addressed by the author
- The reviewer did not revisit the pull request after 2 week and multiple pings
  by the author
- The review is unrelated to the code change or asking for unjustified
  structural changes such as:

  - Split the PR
  - Can you fix this unrelated code that happens to appear in the diff
  - Can you fix unrelated issues
  - Etc.

Closing Stale Issues and Pull Requests
=======================================

- The Pull requests and issues sections on Github are NOT discussion forums.
  They are items that we need to execute and drive to closure.
  Use the mailing lists for discussions.
- In case of both issues and pull-requests the original poster needs to respond
  to questions and provide clarifications regarding the issue or the change.
  After one week without a response to a request, a second attempt to elicit
  a response from the contributor will be made. After one more week without a
  response the item may be closed (draft and DNM tagged pull requests are
  excluded).

Continuous Integration
***********************

All changes submitted to GitHub are subject to tests that are run on
emulated platforms and architectures to identify breakage and regressions that
can be immediately identified. Testing using Twister additionally performs build tests
of all boards and platforms. Documentation changes are also verified
through review and build testing to verify doc generation will be successful.

Any failures found during the CI test run will result in a negative review
assigned automatically by the CI system.
Developers are expected to fix issues and rework their patches and submit again.

The CI infrastructure currently runs the following tests:

- Run ``checkpatch`` for code style issues (can vote -1 on errors; see note)
- Gitlint: Git commit style based on project requirements
- License Check: Check for conflicting licenses
- Run ``twister`` script

  - Run kernel tests in QEMU (can vote -1 on errors)
  - Build various samples for different boards (can vote -1 on errors)

- Verify documentation builds correctly.

.. note::

   ``checkpatch`` is a Perl script that uses regular expressions to
   extract information that requires a C language parser to process
   accurately.  As such it sometimes issues false positives.  Known
   cases include constructs like:

    .. code-block:: c

      static uint8_t __aligned(PAGE_SIZE) page_pool[PAGE_SIZE * POOL_PAGES];
      IOPCTL_Type *base = config->base;

   Both lines produce a diagnostic regarding spaces around the ``*``
   operator: the first is misidentified as a pointer type declaration
   that would be correct as ``PAGE_SIZE *POOL_PAGES`` while the second
   is misidentified as a multiplication expression that would be correct
   as ``IOPCTL_Type * base``.

   Maintainers can override the -1 in cases where the CI infrastructure
   gets the wrong answer.


.. _gh_labels:

Labeling issues and pull requests in GitHub
*******************************************

The project uses GitHub issues and pull requests (PRs) to track and manage
daily and long-term work and contributions to the Zephyr project. We use
GitHub **labels** to classify and organize these issues and PRs by area, type,
priority, and more, making it easier to find and report on relevant items.

All GitHub issues or pull requests must be appropriately labeled.
Issues and PRs often have multiple labels assigned,
to help classify them in the different available categories.
When reviewing a PR, if it has missing or incorrect labels, maintainers shall
fix it.

This saves us all time when searching, reduces the chances of the PR or issue
being forgotten, speeds up reviewing, avoids duplicate issue reports, etc.

These are the labels we currently have, grouped by applicability:

Labels applicable to issues only
================================

.. list-table::
   :header-rows: 1

   * - Label
     - Description

   * - :guilabel:`priority: {high|medium|low}`
     - To classify the impact and importance of a bug or
       :ref:`feature <feature-tracking>`.

       Note: Issue priorities are generally set or changed during the bug-triage or TSC
       meetings.

   * - :guilabel:`Regression`
     - Something, which was working, but does not anymore (bug subtype).

   * - :guilabel:`Enhancement`
     - Changes/Updates/Additions to existing :ref:`features <feature-tracking>`.

   * - :guilabel:`Feature request`
     - A request for a new :ref:`feature <feature-tracking>`.

   * - :guilabel:`Feature`
     - A :ref:`planned feature<feature-tracking>` with a milestone.

   * - :guilabel:`Hardware Support`
     - Covers porting an existing feature (including Zephyr itself) to new hardware.

   * - :guilabel:`Duplicate`
     - This issue is a duplicate of another issue (please specify).

   * - :guilabel:`Good first issue`
     - Good for a first time contributor to take.

   * - :guilabel:`Release Notes`
     - Issues that need to be mentioned in release notes as known issues with
       additional information.

Any issue must be classified and labeled as either *Bug*, *Enhancement*, *RFC*,
*Feature*, *Feature Request* or *Hardware Support*. More information on how
feature requests are handled and become features can be found in :ref:`Feature
Tracking<feature-tracking>`.

Labels applicable to pull requests only
=======================================

The issue or PR describes a change to a stable API.

.. list-table::
   :header-rows: 1

   * - Label
     - Description

   * - :guilabel:`Hotfix`
     - Fix for an issue blocking development.

   * - :guilabel:`Trivial`
     - Simple changes that can have shorter review time and be reviewed by anyone, i.e. typos,
       straightforward one-liner bug fixes, etc.

   * - :guilabel:`Maintainer`
     - Maintainer review required.

   * - :guilabel:`Security Review`
     - To be reviewed by a security expert.

   * - :guilabel:`DNM`
     - This PR should not be merged (Do Not Merge). For work in progress, GitHub
       "draft" PRs are preferred.

   * - :guilabel:`Needs review`
     - The PR needs attention from the maintainers.

   * - :guilabel:`Backport`
     - The PR is a backport or should be backported.

   * - :guilabel:`Licensing`
     - The PR has licensing issues which require a licensing expert to review it.

.. note::
   For all labels applicable to PRs: Please note that the label, together with
   PR complexity, affects how long a merge should be held to ensure proper
   review. See :ref:`review process <review_time>` for details.


Labels applicable to both pull requests and issues
==================================================

.. list-table::
   :header-rows: 1

   * - Label
     - Description

   * - :guilabel:`area: {area-name}`
     - Indicates Zephyr subsystems (e.g, :guilabel:`area: Kernel`, :guilabel:`area: I2C`,
       :guilabel:`area: Memory Management`), project functions (e.g., :guilabel:`area: Debugging`,
       :guilabel:`area: Documentation`, :guilabel:`area: Process`), or other categories (e.g.,
       :guilabel:`area: Coding Style`, :guilabel:`area: MISRA-C`) affected by the bug or the pull request.

       An area maintainer should be able to filter by an area label and find all issues
       and PRs which relate to that area.

   * - :guilabel:`platform: {platform-name}`
     - An issue or PR which affects only a particular platform.

   * - :guilabel:`dev-review`
     - The issue is to be discussed in the following `dev-review`_ if time
       permits.

       .. _`dev-review`: https://github.com/zephyrproject-rtos/zephyr/wiki/Zephyr-Committee-and-Working-Group-Meetings#zephyr-dev-meeting

   * - :guilabel:`TSC`
     - TSC stands for Technical Steering Committee. The issue is to be discussed in the
       following `TSC meeting`_ if time permits.

       .. _`TSC meeting`: https://github.com/zephyrproject-rtos/zephyr/wiki/Zephyr-Committee-and-Working-Group-Meetings#technical-steering-committee-tsc

   * - :guilabel:`Breaking API Change`
     - The issue or PR describes a breaking change to a stable API. See additional information
       in :ref:`breaking_api_changes`.

   * - :guilabel:`bug`
     - The issue is a bug, or the PR is fixing a bug.

   * - :guilabel:`Coverity`
     - A Coverity detected issue or its fix.

   * - :guilabel:`Waiting for response`
     - The Zephyr developers are waiting for the submitter to respond to a question, or
       address an issue.

   * - :guilabel:`Blocked`
     - Blocked by another PR or issue.

   * - :guilabel:`Stale`
     - An issue or a PR which seems abandoned, and requires attention by the author.

   * - :guilabel:`In progress`
     - For PRs: is work in progress and should not be merged yet. For issues: Is being
       worked on.

   * - :guilabel:`RFC`
     - The author would like input from the community. For a PR it should be considered
       a draft.

   * - :guilabel:`LTS`
     - Long term release branch related.

   * - :guilabel:`EXT`
     - Related to an external component.

Part 3

한국어 전문 번역

Code Review

GitHub는 모든 commit이 code base에 받아들여지기 전에 review하는 framework를 제공합니다. Pull Request(PR) 형태의 change는 GitHub에 upload되지만 review를 받고 CI check를 통과하고 maintainer 승인을 받아야 project 일부가 됩니다. 이는 patch를 제출하고 project member가 review한 뒤 code base에 적용하는 standard open-source practice를 지원합니다.

PR에는 적절한 label을 붙이고 관련 bug 또는 feature-tracking issue를 연결해야 합니다.

Zephyr project는 code review와 Git tree management에 GitHub를 사용합니다. Component change나 enhancement를 제출할 때도 GitHub를 사용해야 합니다. GitHub Actions는 repository의 MAINTAINERS.yml에 정의된 component owner를 기준으로 responsible reviewer를 자동 지정합니다. Review가 끝나면 제한된 release manager만 PR을 main branch에 merge할 수 있습니다.

Code merge 전에 reviewer에게 시간을 주기

Zephyr는 특정 지역이나 time zone에 묶이지 않은 global project입니다. 전 세계 developer와 contributor가 change를 review하고 comment할 기회를 얻도록 PR에는 최소 review time을 보장해야 합니다. 일부 change는 subject-matter expert와 subsystem owner review가 필요하고, trivial change는 general review로 충분합니다. 더 큰 change는 TSC 또는 Security Working Group의 논의와 결정이 필요할 수 있습니다.

Pull request classes와 최소 review time
Hot Fix

CI 통과 뒤 언제든 merge 가능

Trivial

최소 4시간

Maintainer

최소 2일

Security

최소 3일

TSC

최소 1주

Zephyr 3.7.0 공식 Pull request classes 그림의 등급과 시간을 구조화했습니다.

Workflow

  • Author는 PR에서 change category를 제안할 수 있습니다. Inflow를 보는 project maintainer나 TSC member는 다른 category가 적합한 이유를 comment로 남기고 label을 바꿀 수 있습니다.
  • Project는 label system으로 PR을 분류합니다.
  • 정해진 최소 시간이 지나기 전에 merge하면 안 됩니다.

Categories/Labels

Hotfix

CI breakage, test breakage, user experience에 영향을 주는 작은 documentation fix처럼 developer의 일상 작업을 막는 issue의 fix입니다. CI check를 통과하면 언제든 merge할 수 있습니다. Fix와 severity, author 외 reviewer availability에 따라 justification을 남기고 project owner review 없이 merge할 수도 있습니다.

Trivial

명백해서 maintainer·code-owner involvement가 필요 없는 change입니다. Subsystem·component logic이나 design을 바꾸면 안 됩니다.

  • Documentation change
  • Configuration change
  • Minor build-system tweak
  • Logic을 바꾸지 않는 작은 code optimization
  • Test change와 fix
  • 추가 configuration·board를 지원하는 sample modification
Maintainer

Subsystem·component의 logic 또는 original design에 손대는 change는 code owner나 designated subsystem maintainer가 review해야 합니다. Owner가 아닌 contributor가 시작한 PR은 code owner에게 assign하고, owner가 author에게 feedback을 주고 다른 developer review를 요청해 mergeable state까지 이끌어야 합니다.

Security

System 전체 security에 영향을 줄 것으로 보이는 change는 Security Working Group의 security expert가 review해야 합니다.

TSC and Working Groups

새 feature·functionality를 도입하거나 system 전체 동작을 바꾸는 change는 TSC 또는 responsible Working Group이 review해야 합니다. Breaking API change proposal은 Architecture meeting에 제시해 relevant stakeholder가 change를 알게 해야 합니다.

Pull Request에는 Assignee가 있어야 함

  • PR assignee는 author와 같은 사람이면 안 됩니다.
  • Assignee는 PR을 mergeable state까지 이끌 책임이 있습니다.
  • Stale review를 dismiss하고 추가 developer·contributor review를 구해야 합니다.
  • Assignee approval 없이는 PR을 merge하면 안 됩니다.

Author는 review 없이 자기 PR을 merge하면 안 됨

모든 PR은 review가 필요하고 author가 review 없이 merge하면 안 됩니다. 예외는 CI issue·revert·system breakage를 고치는 hotfix와, code change 없이 version file·tag 등을 바꾸는 release activity입니다. Reviewer를 구할 수 없는데 change를 급히 tree에 넣어야 하는 상황이 있어도 developer와 contributor는 항상 review를 먼저 구해야 합니다.

Reviewer는 설명 없이 Request Changes를 하면 안 됨

PR의 change request(-1)는 모두 justification이 필요합니다. 설명 없이 PR을 block하면 안 됩니다. 자기 review 없이 merge해서는 안 된다고 판단하면 category를 Trivial에서 Maintainer로 올리거나 자신을 assignee로 지정해 approval이 필요함을 표시합니다.

Merge 전 최소 2개 approval

PR은 positive review 두 개를 받아야 merge할 수 있습니다. Merge하는 사람의 행위 자체는 approval이 아니므로 별도 approval 두 개가 필요합니다. Merger는 승인하지 않고 두 approval 뒤 merge하거나, 자신도 approve하고 merge해 두 개를 채울 수 있습니다.

Reviewer는 feedback을 남긴 PR을 추적해야 함

Change를 요청한 reviewer는 PR state를 확인하고 mention request에 응답해 feedback 반영 여부를 봐야 합니다. 그러지 않으면 assignee나 repository owner가 다음 기준으로 negative review를 dismiss할 수 있습니다.

  • Author가 feedback이나 concern을 명백히 해결했습니다.
  • Author가 여러 번 ping했는데도 reviewer가 2주 동안 다시 방문하지 않았습니다.
  • Review가 change와 무관하거나 PR 분할, diff에 우연히 보이는 unrelated code 수정, unrelated issue 수정처럼 근거 없는 structural change를 요구합니다.

Stale Issue와 Pull Request 닫기

  • GitHub PR·issue section은 discussion forum이 아니라 실행하고 종료해야 할 item입니다. Discussion에는 mailing list를 사용합니다.
  • Issue·PR original poster는 질문에 답하고 clarification을 제공해야 합니다. Request 뒤 1주 동안 응답이 없으면 한 번 더 요청하고, 다시 1주 동안 응답이 없으면 닫을 수 있습니다. Draft와 DNM PR은 제외합니다.

Continuous Integration

GitHub에 제출한 모든 change는 emulated platform·architecture test를 받아 즉시 breakage와 regression을 찾습니다. Twister는 모든 board·platform의 build test도 수행합니다. Documentation change도 review와 build test로 generation 성공 여부를 확인합니다.

CI failure가 있으면 CI system이 negative review를 자동 지정합니다. Developer는 issue를 고치고 patch를 다시 작성해 재제출해야 합니다.

현재 CI infrastructure는 다음 test를 실행합니다.

  • Code style용 checkpatch: error에 -1 vote 가능
  • Gitlint: project requirement 기반 Git commit style
  • License Check: 충돌하는 license 검사
  • twister
    • QEMU kernel test: error에 -1 vote 가능
    • 여러 board용 sample build: error에 -1 vote 가능
  • Documentation build 성공 여부 확인
static uint8_t __aligned(PAGE_SIZE) page_pool[PAGE_SIZE * POOL_PAGES];
IOPCTL_Type *base = config->base;

두 줄 모두 * 주변 space diagnostic을 냅니다. 첫 줄은 pointer declaration로 오인해 PAGE_SIZE *POOL_PAGES가 맞다고 하고, 둘째 줄은 multiplication으로 오인해 IOPCTL_Type * base가 맞다고 합니다. CI가 틀린 경우 maintainer가 -1을 override할 수 있습니다.

GitHub Issue와 Pull Request Labeling

Project는 GitHub issue와 PR로 daily·long-term work와 contribution을 추적합니다. Area, type, priority 등의 label로 분류해 관련 item을 쉽게 찾고 보고합니다. 모든 issue와 PR에 적절한 label을 붙여야 하며 여러 category를 나타내려고 label 여러 개를 사용할 수 있습니다. Review 중 label이 빠졌거나 잘못됐으면 maintainer가 고쳐야 합니다. 이는 search 시간을 줄이고 item 누락과 duplicate report를 줄이며 review를 빠르게 합니다.

Issue에만 적용되는 Label

Label설명
priority: {high|medium|low}Bug 또는 feature의 impact와 importance를 분류합니다. Priority는 보통 bug-triage 또는 TSC meeting에서 정하거나 변경합니다.
Regression이전에 동작하던 것이 더는 동작하지 않는 bug subtype입니다.
Enhancement기존 feature의 change·update·addition입니다.
Feature request새 feature 요청입니다.
FeatureMilestone이 지정된 planned feature입니다.
Hardware SupportZephyr 자체를 포함한 기존 feature를 새 hardware에 port하는 작업입니다.
Duplicate다른 issue와 중복입니다. 중복 대상을 명시해야 합니다.
Good first issue첫 contributor가 맡기 좋은 issue입니다.
Release NotesKnown issue로 release note에 추가 정보와 함께 언급해야 하는 issue입니다.

모든 issue는 Bug, Enhancement, RFC, Feature, Feature Request, Hardware Support 중 하나로 분류하고 label을 붙여야 합니다.

Pull Request에만 적용되는 Label

Issue 또는 PR은 stable API change를 설명할 수 있습니다.

Label설명
HotfixDevelopment를 막는 issue의 fix입니다.
TrivialTypo나 명백한 one-line bug fix처럼 review time이 짧고 누구나 review할 수 있는 단순 change입니다.
MaintainerMaintainer review가 필요합니다.
Security ReviewSecurity expert가 review해야 합니다.
DNMDo Not Merge. Merge하면 안 되는 PR입니다. Work in progress에는 GitHub draft PR을 권장합니다.
Needs reviewMaintainer의 주의와 review가 필요합니다.
BackportBackport PR이거나 backport해야 하는 PR입니다.
LicensingLicensing expert가 검토해야 할 license issue가 있습니다.

Pull Request와 Issue 모두에 적용되는 Label

Label설명
area: {area-name}Bug·PR이 영향을 주는 Zephyr subsystem(Kernel, I2C, Memory Management), project function(Debugging, Documentation, Process), 또는 category(Coding Style, MISRA-C)를 표시합니다. Area maintainer가 이 label로 관련 issue와 PR을 모두 찾을 수 있어야 합니다.
platform: {platform-name}특정 platform에만 영향을 주는 issue 또는 PR입니다.
dev-review시간이 허용되면 다음 dev-review meeting에서 논의할 issue입니다.
TSCTechnical Steering Committee를 뜻하며 시간이 허용되면 다음 TSC meeting에서 논의할 issue입니다.
Breaking API ChangeStable API를 깨뜨리는 change입니다.
bugIssue가 bug이거나 PR이 bug를 고칩니다.
CoverityCoverity가 찾은 issue 또는 그 fix입니다.
Waiting for responseZephyr developer가 submitter의 질문 답변이나 문제 해결을 기다립니다.
Blocked다른 PR 또는 issue에 의해 막혔습니다.
Stale방치된 것으로 보여 author의 attention이 필요한 issue 또는 PR입니다.
In progressPR은 작업 중이라 아직 merge하면 안 되고, issue는 현재 작업 중입니다.
RFCAuthor가 community input을 원합니다. PR이라면 draft로 봐야 합니다.
LTSLong-term release branch 관련입니다.
EXTExternal component 관련입니다.

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.