GitHub 레이블

트리아지 담당자, 코어 개발자, 봇은 이슈와 풀 리퀘스트를 분류하기 위해 GitHub에 레이블을 추가할 수 있습니다. 많은 레이블이 두 사용 사례에 공통으로 사용되지만, 일부는 한쪽에만 사용됩니다. 아래 목록은 모든 항목을 망라하지 않을 수 있지만, 시작하는 데 도움이 될 것입니다. 전체 목록은 here를 참조하십시오.

유형 레이블

다음 레이블은 이슈의 유형을 지정하는 데 사용합니다.

  • type-bug: 예기치 않은 동작, 버그 또는 예외(치명적인 충돌 제외)에 사용합니다.

  • type-crash: 코어 덤프를 동반할 수도 있는 인터프리터의 치명적인 충돌에 사용합니다.

  • type-feature: 기능 요청 또는 개선 사항에 사용합니다. 기능 요청에는 version labels이 필요하지 않습니다. 기능은 main 브랜치에만 추가된다는 것이 암묵적인 원칙입니다. 이슈를 제출하기 전에 개선 사항을 논의하려면 Ideas Discourse category를 사용할 수 있습니다.

  • type-refactor: 사용자에게 보이는 동작을 변경하지 않는 일반적인 코드 리팩터링에 사용합니다.

  • type-security: 보안 이슈에 사용합니다. Reporting security issues in Python도 참조하십시오.

구성 요소 레이블

다음 레이블은 주로 이슈/PR의 영향을 받는 part of the codebase을 지정하는 데 사용합니다.

  • stdlib: Lib 디렉터리의 표준 라이브러리 모듈(Python으로 작성됨)에 사용합니다.

  • extension-modules: Modules 디렉터리의 표준 라이브러리 모듈(C로 작성됨)에 사용합니다.

  • interpreter-core: Objects, Python, Grammar, Parser 디렉터리에 있는 인터프리터 코어와 관련된 변경 사항(대부분 C로 작성됨)에 사용합니다.

  • docs: Doc 디렉터리의 문서(reStructuredText로 작성됨), 독스트링 및 코드 주석에 사용합니다.

  • tests: Lib/test 디렉터리의 테스트(Python으로 작성됨)와 테스트, unittest 또는 doctest와 관련된 기타 변경 사항에 사용합니다.

OS 레이블

다음 레이블은 영향을 받는 운영 체제를 지정하는 데 사용합니다. 대부분의 이슈는 모든 시스템에 영향을 미치거나 Unix에만 해당하므로, 별도의 Unix 레이블은 없습니다.

관련 PEP 11에 정의된 지원 계층에 속하지 않는 플랫폼의 이슈에는 OS-unsupported 레이블을 사용하십시오. 이 레이블을 적용하면 이슈가 GitHub 프로젝트에 추가되어 더 세부적으로 분류될 수 있습니다. 관련 플랫폼 전문가 목록도 참조하십시오.

주제 레이블

이 레이블은 이슈/PR의 특정 주제 영역이 있는 경우 이를 나타내는 데 사용합니다. 여기에는 특정 모듈/패키지와 일반적인 관심 분야가 모두 포함됩니다.

관련 전문가에게 이 레이블을 구독하도록 권장하므로, 이 레이블을 추가하는 것은 해당 전문가에게 알리는 방법이기도 합니다. 레이블에 따라 이슈가 GitHub 프로젝트에 자동으로 추가될 수도 있습니다.

GitHub의 전체 주제 레이블 목록을 확인할 수 있습니다.

버전 레이블

이 레이블은 영향을 받는 Python 버전을 나타내는 데 사용합니다. 사용 가능한 버전 레이블(3.N 형식)은 새로운 기능 릴리스가 생성되거나 지원 종료될 때마다 업데이트됩니다.

활성 브랜치 목록은 브랜치 상태 페이지도 참조하십시오.

기타 레이블

  • build/performance: 각각 빌드 프로세스 또는 성능과 관련된 이슈에 사용합니다.

  • easy: 쉽다고 간주되는 이슈에 사용합니다.

  • infra: 프로젝트의 인프라(예: GitHub Actions, dependabot, 빌드봇)와 관련된 이슈에 사용합니다.

  • invalid: 스팸 이슈/PR을 표시하는 데 사용합니다.

  • pending: 추가 피드백이 제공되지 않으면 종료될 이슈/PR에 사용합니다.

  • release-blocker/deferred-blocker: 수정되지 않으면 각각 현재 릴리스 또는 다음 릴리스를 지연시킬 이슈/PR에 사용합니다. 트리아지 담당자는 릴리스 전에 반드시 수정해야 하는 이슈에 이 레이블을 설정할 수 있으며, 브랜치의 릴리스 관리자가 이를 검토하여 실제로 해당하는지 판단하고 적절하게 레이블을 제거하거나 유지합니다.

  • sprint: 공식 스프린트 중에 작업 중인 이슈/PR을 더 쉽게 필터링하는 데 사용합니다.

  • stale: 한동안 활동이 없었던 이슈/PR에 사용합니다.

  • triaged: 트리아지 담당자가 유효하다고 승인한 이슈에 사용합니다.

PR 전용 레이블

다음 레이블은 풀 리퀘스트에만 적용됩니다. 이 레이블은 봇이 자동으로 설정하거나, 특정 봇 동작을 실행하기 위해 사람이 추가합니다.

  • DO-NOT-MERGE: 현재 상태로 병합해서는 안 되는 PR에 사용합니다. 또한 miss-islington이 PR을 자동으로 병합하지 못하게 합니다.

  • needs backport to X.Y: PR을 백포트해야 하는 브랜치를 나타내는 데 사용합니다. PR이 병합되면 miss-islington은 이 레이블로 지정된 버전의 백포트 PR 생성을 자동으로 시도합니다. 브랜치 목록과 각 브랜치에 백포트할 수 있는 PR 유형은 Python 브랜치 상태도 참조하십시오.

  • skip issue: 대응하는 이슈가 필요하지 않은 사소한 변경(오타 수정, 주석 변경, 섹션 표현 변경 등)에 사용합니다.

  • skip news: NEWS 항목이 필요하지 않은 PR에 사용합니다. 관련 NEWS와 Python의 새로운 기능 업데이트 섹션에서는 NEWS 항목을 생략할 수 있는 경우를 자세히 설명합니다.

  • 🔨 test-with-buildbots: 병합 전에 추가 테스트가 필요할 때마다 빌드봇 플릿으로 최신 커밋을 테스트하는 데 사용합니다. 완료하는 데 몇 시간이 걸릴 수 있습니다.

  • 🔨 test-with-refleak-buildbots: 최신 커밋에서 참조 누수 빌드봇을 실행하십시오. 코드에서 누수가 발생할 가능성이 있을 때 유용합니다.

  • awaiting action: 이 레이블들은 PR의 단계를 나타내기 위해 bedevere가 적용하고 사용하므로 수동으로 적용해서는 안 됩니다.