Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

chaotic-ground-rules

chaotic-ground가 포크 네트워크에서 챔피언과 메인테이너를 기계적으로 정하는 규칙입니다. 사람이 판단하지 않으므로 언제 무엇이 바뀔지 모릅니다. 본인 책임하에 쓰세요.

chaotic-ground 조직의 모든 저장소가 관리 대상입니다. 저장소별 설정은 chaotic.yaml에서 덮어쓸 수 있습니다.

용어

  • 포크 네트워크: GitHub에서 하나의 원본과 그 포크, 포크의 포크를 모두 합친 저장소 묶음입니다. 원본도 네트워크 안의 저장소 하나로 취급하며 특별 대우하지 않습니다.
  • 챔피언: 포크 네트워크에서 지금 가장 믿고 따를 만하다고 규칙이 고른 저장소입니다.
  • org 저장소: chaotic-ground 조직의 저장소입니다. org 저장소 하나가 프로젝트 하나이며, 그 저장소가 속한 포크 네트워크에서 챔피언을 뽑습니다.
  • N: 활동 기간입니다. 기본값은 3개월입니다.
  • K: 메인테이너가 되는 데 필요한 최소 커밋 수입니다. 기본값은 3입니다.

1. 후보

포크 네트워크 안의 저장소 가운데 다음을 모두 만족하는 저장소가 후보입니다.

  • archived 상태가 아닙니다.
  • 기본 브랜치에 최근 N 안의 커밋이 있습니다.

라이선스가 원본과 달라도 후보가 될 수 있습니다.

2. 선출

후보 가운데 별이 가장 많은 저장소가 챔피언입니다. 별 수가 같으면 기본 브랜치의 마지막 커밋이 더 최근인 저장소가 챔피언입니다.

3. 교체

현재 챔피언이 후보 자격을 잃으면, 즉 archived되거나 기본 브랜치에 N 동안 커밋이 없으면 2번에 따라 다시 뽑습니다. 자격을 유지하는 동안에는 별 순위가 바뀌어도 교체하지 않습니다.

4. org 저장소

org 저장소의 기본 브랜치는 챔피언의 기본 브랜치를 따라갑니다. 기본 브랜치를 그대로 따라가므로 README 대신 org 저장소 설명(description)과 이 저장소의 champions.json에 현재 챔피언과 선출 시각을 적습니다.

org 저장소도 포크 네트워크 안의 저장소이므로, 메인테이너들이 org 저장소에서 직접 작업하면 org 저장소 자신이 챔피언이 됩니다.

5. 메인테이너

다음에 해당하는 사람 전원이 org 저장소의 Maintain 권한을 받습니다.

  • 챔피언 저장소 기본 브랜치에 최근 N 동안 커밋을 K개 이상 한 사람
  • 챔피언 저장소 소유자가 개인 계정이면 그 소유자 (커밋 수와 상관없음)

커밋은 GitHub 계정과 연결된 것만 셉니다.

이 규칙은 검사할 때마다 다시 적용합니다. 더 이상 해당하지 않는 메인테이너는 Write 권한으로 내려갑니다. 7일 안에 초대를 수락하지 않으면 그 초대는 만료되고, 다음 검사 때 다시 판단합니다.

6. 설정

N과 K의 기본값은 chaotic.yaml의 defaults에 있습니다. 저장소마다 다르게 하려면 overrides에 저장소 이름으로 적습니다. 목록에 없는 저장소도 모두 기본값으로 관리됩니다.

7. 이 저장소

이 저장소도 조직의 저장소이므로 관리 대상이며, 5번 메인테이너 규칙이 똑같이 적용됩니다. 이 저장소에서 활발히 커밋하는 사람이 메인테이너가 되고, 이 규칙을 고칠 수 있습니다.

8. 자동화

.github/workflows/chaotic.yml이 매일 chaotic.py를 돌려 위 규칙을 적용합니다. 조직 저장소에 푸시하고 권한을 바꿔야 하므로 조직 소유자가 만든 토큰을 CHAOTIC_TOKEN 시크릿에 넣어야 동작합니다. Actions 탭에서 수동으로 돌리면 기본값은 바꾸지 않고 할 일만 출력하는 시험 실행입니다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages