Skip to content

[ci/cd] PR 머지 후 head 브랜치 자동 삭제 워크플로 추가 - #293

Merged
s2yeons merged 1 commit into
developfrom
chore/auto-delete-merged-branch
Nov 9, 2026
Merged

s2yeons merged 1 commit into
developfrom
chore/auto-delete-merged-branch

Conversation

@s2yeons

@s2yeons s2yeons commented Nov 9, 2026

Copy link
Copy Markdown
Member

개요 💡

저장소 설정 deleteBranchOnMerge가 꺼져 있어 머지된 브랜치를 직접 지워야 했고, 원격에 머지된 브랜치가 계속 쌓이고 있었습니다. PR이 머지되면 head 브랜치를 자동으로 삭제하는 GitHub Actions 워크플로를 추가하였습니다.

저장소 설정을 켜는 방법은 develop → main 머지 때 develop이 삭제 대상이 되고, 제외 규칙을 둘 수 없어 워크플로로 처리하였습니다.

작업내용 ⌨️

.github/workflows/delete-merged-branch.yml을 추가하였습니다.

  • pull_request의 closed 이벤트에서 머지된 PR이면서 같은 저장소에서 올라온 브랜치일 때만 실행되도록 하였습니다. fork 브랜치는 삭제 권한이 없어 제외하였습니다.
  • main, develop과, main·develop 양쪽에 머지해야 하는 release/*, hotfix/*는 삭제하지 않도록 하였습니다.
  • 해당 브랜치를 head나 base로 쓰는 열린 PR이 있으면 삭제하지 않도록 하였습니다. API로 base 브랜치를 지우면 그 위에 쌓인 PR이 자동으로 닫히기 때문입니다.
  • 열린 PR 목록 조회가 실패하면 삭제하지 않고 job을 실패로 처리하였습니다. 기본 셸(bash -e)에는 pipefail이 없어 조회 결과를 파이프로 넘기면 실패가 묻히므로, 조회와 필터링을 나누었습니다.
  • 이미 수동으로 삭제된 브랜치(Reference does not exist)는 성공으로 처리하고, 그 외 삭제 실패는 job을 실패로 처리하였습니다.
  • 권한은 contents: write, pull-requests: read만 부여하였습니다.

gh를 가짜 스크립트로 바꿔 bash -e 환경에서 제외 브랜치, 일반 브랜치, 쌓인 PR, 같은 head의 다른 PR, 이미 삭제됨, 권한 오류, 목록 조회 실패 경우를 확인하였습니다. 실제 GitHub Actions 환경에서는 아직 실행해 보지 않았습니다.

관련 이슈 🚨

리뷰 요청사항 👀

  • 이 PR이 머지되면 머지 커밋에 워크플로가 포함되어 있어, 이 브랜치(chore/auto-delete-merged-branch)가 첫 실행 대상이 될 것으로 예상합니다. 머지 후 Actions 실행 결과와 브랜치 삭제 여부를 확인해 주세요.
  • 조직 설정에서 워크플로 토큰 권한이 읽기 전용으로 강제되어 있다면 삭제가 실패합니다. 이 경우 job이 실패로 표시됩니다.
  • 삭제 제외 대상(main, develop, release/*, hotfix/*)에 더 추가할 브랜치가 있는지 확인해 주세요.

@vercel

vercel Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
datagsm-front-admin Ready Ready Preview Nov 9, 2026 8:23am UTC
datagsm-front-client Ready Ready Preview Nov 9, 2026 8:23am UTC
datagsm-front-docs Ready Ready Preview Nov 9, 2026 8:23am UTC
datagsm-front-oauth Ready Ready Preview Nov 9, 2026 8:23am UTC
datagsm-front-projects Ready Ready Preview Nov 9, 2026 8:23am UTC
datagsm-front-status Ready Ready Preview Nov 9, 2026 8:23am UTC

Request Review

@pr-agent-demo

pr-agent-demo Bot commented Nov 9, 2026

Copy link
Copy Markdown

⚠️ Auto-review failed: Summary generation failed: summary generation failed: Connection error.. Inline review failed: review agent stream failed: Connection error.. Retry with /review.

@s2yeons
s2yeons merged commit ac7b323 into develop Nov 9, 2026
8 checks passed
@github-actions
github-actions Bot deleted the chore/auto-delete-merged-branch branch November 9, 2026 11:53

This branch was successfully deployed

5 active deployments
Preview – datagsm-front-docs — 581c40fa Deployed Nov 9, 2026 by vercel[bot]
Preview – datagsm-front-admin — 581c40fa Deployed Nov 9, 2026 by vercel[bot]
Preview – datagsm-front-oauth — 581c40fa Deployed Nov 9, 2026 by vercel[bot]
Preview – datagsm-front-client — 581c40fa Deployed Nov 9, 2026 by vercel[bot]
Preview – datagsm-front-status — 581c40fa Deployed Nov 9, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants