개발/기타

Draft PR의 git-action 실행 막기

JonghwanWon 2022. 7. 21. 01:14

github의 pull request는 draft 상태로 올릴 수 있는 기능이 존재합니다.

 * private 리포지토리는 유료 플랜이 필요

 

Draft pull request

Draft 상태의 PR은 작업중인 상태로 Merge를 막을 수 있습니다.

언제, 어떻게 사용할 수 있을까요?

 

현재 회사에서는 Draft PR을 다음과 같은 규칙을 만들어 활용하고 있습니다.

1. topic으로 다른 개발자와의 의견 조율 및 소통이 필요할 때 

2. 변경사항이 많아 리뷰가 힘들어짐을 방지하기 위해 PR을 나누어 올릴 때 순차적으로 Merge하기 위해

 

즉, PR을 올리는 행위는 테스크가 완료되어 코드리뷰를 하고 Merge하기 위한 것으로 정리할 수 있었기에

git-action은 그 시점에서 필요한 것이고, Draft PR에서도 git-action이 동작하는 것은 어쩌면 낭비가 될 수도 있습니다.

git-actions

위의 이유로 Draft PR에서는 git-actions가 실행되지 않도록 설정해봅시다.

 

yml setting

git-action이 동작하는 조건을 설정하고 각 job에도 조건을 달아 실행여부를 결정지어 주었습니다.

구분 설명
opened PR이 생성되었을 때  *draft 포함
reopened PR이 close 되었다가 open 되었을 때
synchronize pr이 open되어 있는 상태에서 update branch 등 코드의 변경사항으로 update 되었을 때
ready_for_review Draft PR에서 [Ready for review] 버튼을 눌렀을 때

 

draft pr

설정한대로 Draft PR의 경우에는 action이 동작하지 않고 Skipped 상태로 뜨게 됩니다.

이후 [Ready for review] 버튼을 눌러준다면 PR은 synchronize의 상태가 되어 actions가 동작하게 됩니다.

 

여기까지 Draft PR에 대해 간단히 알아보고, git-action이 동작하지 않도록 막는 방법을 알아보았습니다.

* pull request의 여러 상태에 대해 더 궁금하시다면 이 문서를 확인해보세요.