From 093b23bde707d7cdde514d2e3d8c5e64fb03749f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=BC=ED=98=81?= Date: Fri, 5 Jun 2026 12:23:50 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20auto-merge=20=EC=9B=8C=ED=81=AC?= =?UTF-8?q?=ED=94=8C=EB=A1=9C=EC=97=90=20=EC=97=B0=EA=B2=B0=EB=90=9C=20?= =?UTF-8?q?=EC=9D=B4=EC=8A=88=20=EC=9E=90=EB=8F=99=20=EC=A2=85=EB=A3=8C=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - GITHUB_TOKEN을 사용한 머지 시 `pull_request:closed` 이벤트가 발생해도 다른 워크플로가 트리거되지 않는 제약을 해결하기 위해 직접 이슈 종료 로직 추가 - 워크플로 권한에 `issues: write` 추가 - PR 머지 성공 후 연결된 이슈(`closingIssuesReferences`)를 조회하여 `gh issue close`를 호출하도록 수정 --- .github/workflows/auto-merge.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml index 1656203..417981d 100644 --- a/.github/workflows/auto-merge.yml +++ b/.github/workflows/auto-merge.yml @@ -14,6 +14,7 @@ on: permissions: contents: write + issues: write pull-requests: write jobs: @@ -37,7 +38,20 @@ jobs: # 모두 green 일 때만 머지. if gh pr checks "$num" --repo "$REPO"; then echo "PR #$num 모든 체크 통과 → 머지" - gh pr merge "$num" --repo "$REPO" --merge --delete-branch || echo "이미 머지됨/머지 실패" + # GITHUB_TOKEN 머지는 pull_request:closed 로 다른 워크플로(auto-close-issue)를 + # 트리거하지 못한다(재귀 실행 방지) → linked 이슈를 이 job 에서 직접 close 한다. + issues=$(gh pr view "$num" --repo "$REPO" --json closingIssuesReferences \ + --jq '.closingIssuesReferences[].number') + if gh pr merge "$num" --repo "$REPO" --merge --delete-branch; then + echo "머지 완료 → linked 이슈 close: ${issues:-(none)}" + for i in $issues; do + gh issue close "$i" --repo "$REPO" \ + --comment "Auto-closed by merge of #$num (auto-merge)." \ + && echo " closed #$i" || echo " #$i close 실패(이미 닫힘 등)" + done + else + echo "이미 머지됨/머지 실패" + fi else echo "PR #$num 체크 아직 미통과 — 다음 CI 완료 시 재시도" fi