기여; 기여; 기여; 기부; 기부 (이 단어는 여러 의미를 가지며, 구체적인 번역은 문맥에 따라 결정되어야 합니다)
Starlette에 기여하는 데 관심을 가져주셔서 감사합니다. 여러 가지 방법으로 프로젝트에 기여할 수 있습니다.
- Starlette를 시도하고 찾은 버그/문제를 보고하십시오.
- 새로운 기능 구현
- 다른 사람의 꺼내기 요청을 검토합니다.
- 문서 작성
- 토론에 참여
버그 또는 기타 문제 보고
Starlette가 지원해야 할 것을 찾았습니까? 우연히 예상치 못한 행동을 만났습니까?
기여는 일반적으로 토론으로 시작해야 합니다. 가능한 버그는 "잠재적 문제" 토론으로 제기될 수 있으며 기능 요청은 "아이디어" 토론으로 제기될 수 있습니다. 그런 다음 해당 토론을 "문제"로 확대해야 하는지, 아니면 당김 요청을 고려할 것인지 결정할 수 있습니다.
가능한 한 많은 세부 사항을 설명하고 버그 보고서의 경우 다음과 같은 정보를 최대한 많이 제공하십시오.
- 운영 체제 플랫폼
- 파이썬 버전
- 설치 종속성 및 버전(
python -m pip freeze) - 코드 조각
- 역추적 오류
항상 문제를 설명하는 가장 간단한 상황으로 예를 줄이려고 노력해야 합니다.
개발; 개발
Starlette 개발을 시작하려면 GitHub에서 Starlette 저장소용 포크를 만드십시오.
그런 다음 다음 다음 명령으로 분기를 복제하고 YOUR-USERNAME 를 GitHub 사용자 이름으로 바꿉니다.
$Git 클론https://github.com/YOUR-USERNAME/starlette
이제 다음 명령을 사용하여 프로젝트 및 종속성을 설치할 수 있습니다.
$CD 스타렛
$스크립트/설치
테스트 및 코드 검사
사용자 지정 셸 스크립트를 사용하여 테스트, 코드 검사 및 문서 작성 워크플로우를 자동화합니다.
이러한 테스트를 실행하려면 다음을 사용하십시오.
$스크립트/테스트
다른 모든 인수는 pytest 로 전달됩니다. 자세한 내용은 pyest 문서를 참조하십시오.
예를 들어 단일 테스트 스크립트 실행:
$스크립트/테스트 테스트/test_application.py
자동으로 포맷된 코드를 실행하려면:
$스크립트/보풀
마지막으로 코드 검사를 별도로 실행하려면(scripts/test 의 일부로도 실행됨) 다음을 실행합니다.
$스크립트/수표
기록; 문서 준비
설명서 페이지는 docs/ 폴더 아래에 있습니다.
문서 사이트를 로컬로 실행하려면(변경 내용을 미리 보는 데 유용) 다음을 사용하십시오.
$스크립트/문서
빌드/지속적인 통합 실패 해결
꺼내기 요청을 제출하면 테스트 제품군이 자동으로 실행되고 결과가 GitHub에 표시됩니다. 테스트 제품군이 실패하면 "세부 정보" 링크를 클릭하고 테스트 제품군이 실패한 이유를 확인해야 합니다.

테스트 제품군이 실패할 수 있는 몇 가지 일반적인 방법은 다음과 같습니다.
작업 확인 실패

이 작업 실패는 코드 형식 문제 또는 유형 주석 문제를 의미합니다. 작업 출력을 보고 실패한 이유를 파악하거나 셸에서 실행할 수 있습니다.
$스크립트/수표
$ scripts/lint 를 실행하여 코드를 자동으로 포맷하고 작업이 성공하면 변경 사항을 커밋하는 것이 좋습니다.
문서 작업 실패
이 작업 실패는 문서 빌드가 실패했음을 의미합니다. 이는 잘못된 Markdown 또는 mkdocs.yml 내의 구성 누락과 같은 다양한 이유로 발생할 수 있습니다.
파이썬 3. X 작업 실패

이 작업 실패는 단위 테스트가 실패했거나 단위 테스트에 의해 모든 코드 경로가 덮어쓰기되지 않았음을 의미합니다.
테스트가 실패하면 적용 범위 보고서 아래에 이 메시지가 표시됩니다.
=== 1 failed, 435 passed, 1 skipped, 1 xfailed in 11.09s ===
테스트가 성공했지만 적용 범위가 현재 임계값에 도달하지 않으면 적용 범위 보고서 아래에 이 메시지가 표시됩니다.
FAIL Required test coverage of 100% not reached. Total coverage: 99.00%
게시; 릴리스; 릴리스
이 섹션은 Starlette 유지관리자를 대상으로 합니다.
새 버전을 출시하기 전에 다음 내용으로 꺼내기 요청을 만드십시오.
- 변경 로그에 대한 업데이트:
- 우리는 achangelog 형식을 따릅니다.
- 는
master를 최신 버전의 태그와 비교하고 사용자에게 관심 있는 모든 항목을 나열합니다.- 변경 로그에 문서화해야 하는 기능: 추가, 변경, 더 이상 사용되지 않거나 제거된 기능 및 버그 수정.
- 변경 로그에 기록해서는 안 되는 사항: 문서, 테스트 또는 도구의 변경 사항.
- 영향/중요도 내림차순으로 항목을 정렬하려고 합니다.
- 간결하고 요점을 유지하십시오.🎯
- 의 버전 업그레이드:
__version__.py를 참조하십시오.
예를 들어 #1600을 참조하십시오.
릴리스 PR이 병합되면 다음과 같은 새 릴리스가 생성됩니다.
0.13.3 와 같은* 레이블 버전.
* 릴리스 제목 Version 0.13.3
* 변경 로그에서 복사하는 방법을 설명합니다.
이 버전이 생성되면 자동으로 PyPI에 업로드됩니다.
PyPI 작업에 문제가 있는 경우 scripts/publish 스크립트를 사용하여 버전을 릴리스할 수 있습니다.