You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(ci): 열린 PR 을 대표 이슈에 라벨로 드러내 base≠develop PR 의 미구현 오인을 없앤다 #1532
남는 것은 타임라인의 «mentioned this issue in #1511» 한 줄뿐이고, 다른 참조들 사이에 묻힌다. 최근 PR 400건 중 43건(11%) 이 base≠develop 이고 지금 열린 것만 3건이다.
이 저장소는 이미 같은 공백의 머지 시점을 auto-close-issue.yml 로 메워 뒀다(#294). base 무관하게 키워드를 파싱해 이슈를 닫는다. 비어 있는 것은 PR 이 열려 있는 동안 이다.
#686 에서 확정한 정본 스택 순서(상위를 develop 에 먼저 머지 → 하위 base 를 develop 로 리타겟 → 머지)를 따르면 머지 시점의 base 는 항상 develop 이다. 즉 안 보이는 구간은 정확히 «PR 이 열려 있는 동안» 이고, 그래서 머지 시점 우회만으로는 닫히지 않는다.
완료 조건
열린 PR 이 있는 이슈에 라벨이 붙는다 — base 와 무관하게. 이슈 목록에서 «PR 없음» 과 구별된다
PR 이 닫히거나 머지되면 라벨이 떨어진다. 사람이 손으로 붙이거나 뗀 것도 다음 실행에서 정본으로 되돌아간다
base≠develop 이라 GitHub 이 아무것도 보여 주지 않는 PR 은 이슈에 링크 코멘트를 남긴다. 실행할 때마다 새로 달지 않고 같은 코멘트를 갱신한다
대표 이슈 판정은 validate-pr-issue-link.mjs 의 extractTitleIssueNumber 를 재사용한다 — Repository Quality 가 이미 모든 PR 제목에 (#N) 하나를 강제하므로 새 파서를 만들지 않는다
판정 로직에 단위 테스트를 붙인다
참고
새 워크플로를 세우지 않고 이미 도는 conflict-label.yml(PR Label Reconcile) 에 스크립트로 합류한다. 이유 둘.
이벤트 기반(pull_request)으로 만들면 dependabot 이 연 PR 은 토큰이 read-only 라 라벨을 못 붙인다. 리컨사일러는 develop push·주기 실행이라 이 제약이 없다.
Activity
Merge pull request #1533 from Afternote/ci/1532-issue-pr-open-label