팀 유지 관리
Rust 팀의 구성원 명단은 항상 유동적입니다. 때때로 새로운 사람이 추가되기도 하지만, 사람들이 스스로 “전임 구성원 상태“를 선택하는 경우도 있는데, 이는 그들이 현재 의사 결정 과정에 적극적으로 참여하지 않음을 의미합니다. 안타깝게도 새로운 사람이 추가되거나 누군가 전임 구성원 상태가 될 때마다 갱신해야 할 여러 개별적인 곳들이 존재합니다.
팀 저장소
팀 구성원 자격은 주로 rust-lang/team repo의 설정 파일에 의해 관리됩니다. 해당 저장소와 통합된 시스템에 대해서는 그 저장소의 README를 참고하십시오.
팀 저장소 변경 규칙
이 저장소에 대한 풀 리퀘스트는 team-repo-admins가 병합하며, 이들은 다음 규칙을 사용하여 PR을 병합합니다.
people 및 teams 디렉터리
변경 사항이 개인과 관련이 있고 권한을 확장하지 않는 경우, 해당 개인의 승인만 필요합니다. 변경 사항이 이미 팀 저장소 외부에서 이루어진 경우(예: GitHub 사용자 이름 변경)에는 암묵적으로 승인된 것으로 간주됩니다. 다음은 예시일 뿐이며 전부를 포함하지는 않습니다.
- 팀 구성원 상태를 전임 구성원으로 변경하거나 완전히 제거하기
- 이메일 주소 변경
- zulip-id 추가하기
변경 사항이 추가 권한을 부여하는 경우, 팀 리드가 해당 변경을 승인해야 합니다. “상위 팀” 체인에 속한 어떤 팀 리드든 승인할 수 있습니다. 여기에는 다음이 포함됩니다.
- 기존 팀 아래에 새로운 하위 팀 추가
- 기타 메타데이터(웹사이트 설명, Zulip 그룹 등) 변경하기
repo 디렉터리
repo 디렉터리는 저장소에 대한 접근을 관리하는 데만 쓰이는 것이 아니라 저장소를 구성하고 그 자동화를 관리하기도 한다는 점에서 다른 디렉터리와 약간 다릅니다.
다음 변경 사항은 team-repo-admin이 승인하고 병합해야 합니다.
- 자신의 팀이 소유한 저장소에 대한 접근 권한 변경
- 저장소의 소유권은 현재 공식적으로 추적되지 않습니다. 이것이 추가될 때까지, team-repo-admins는 어느 팀이 해당 저장소를 소유하는지에 대한 자신들의 이해를 바탕으로 판단하고, 의심스러운 경우에는 확인을 요청하며 해당 저장소의 코멘트에 이를 명문화할 것으로 기대됩니다.
bors.rust.review권한 변경perf권한 변경crater권한 변경
반면, 저장소의 구성이나 자동화에 대한 변경은 infra-admins가 승인하고 병합할 수 있습니다.
- 일반 저장소 설정 변경
- 이는 봇에게 리포지토리 접근 권한을 부여하는 것을 포함합니다.
- 리포지토리 규칙셋을 변경하는 것
- GitHub Actions를 통해 배포되는 크레이트에 대한 신뢰할 수 있는 배포(trusted publishing) 설정을 변경하는 것
소스 코드 변경
팀 리포지토리에는 추가로 TOML 사용자 편집 파일을 변환하고 검증하는 코드가 포함되어 있습니다. 이는 인프라 팀이 소유하며, 변경 시 승인을 구해야 합니다.
team-repo-admins에는 누가 속합니까?
이 그룹의 사람들은 리더십 위원회에 의해 지명 및 승인되지만, 어떠한 공식적인 기준을 통해 선정되지는 않습니다. 궁극적으로는 위 정책들을 강제하는 추가 자동화가 도입됨에 따라 이 그룹이 존재해야 할 필요성이 줄어들기를 바랍니다.
또한 infra-admins 팀은 인프라를 계속 운영 가능한 상태로 유지하기 위해 필요한 경우 변경을 수행할 수 있도록, team repo를 포함한 Rust 인프라에 대한 “root” 자격 증명을 관리하고 있음을 유의하십시오. 다만 그러한 권한은 필요한 경우에만 행사되어야 하며, 변경에 대한 첫 번째 연락 지점은 team-repo-admins입니다. (두 팀 사이에 겹치는 부분이 있을 수 있습니다.)
변경을 위한 추가 단계
정식 팀 멤버십
정식 팀 구성원으로 만들려면 다음 장소들을 수정해야 합니다:
- [팀 저장소]에서
- 만약 해당 멤버가 리뷰 로테이션에 합류할 예정이라면, 리뷰를 담당할 리포지토리들의
triagebot.toml의[assign.owners]섹션에 추가되어야 합니다
팀 구성원 탈퇴
다음의 모든 장소에서 해당 팀 구성원을 제거하십시오:
- [팀 리포지토리]
- 해당 멤버가 관여했던 모든 리포지토리의
triagebot.toml파일 - 1password