티스토리 뷰

공부

Github Actions ) Pull Request

Zedd0202 2020. 6. 22. 21:14
반응형

 

안녕하세요 :) Zedd입니다.

제목을 뭐라지어야 할지 모르겠어서 ㅎ~~!!!!! PR시에 Action을 돌리게 해보려고 합니다.

동영상을 캡쳐해서..화질구지이긴 한데..

이렇게 PR에 커맨드를 입력하면

Actions가 돌면서.,.

actions가 코멘트까지~~!~!!~~

 

오늘은 이걸 해보려고 합니당

그럼 시작! 새로운 workflow 파일을 만들어봅시다.

 

이렇게 되어있을텐데요, 저 push: branches: [master]를 지워주고, pull_reqeust: 만 남기겠습니다.

 

이게 최종이에요.

일단 여기서 더 안고치고 만들어줄게요. 

코드를 굳이 설명해보자면..위 코드는

pull_request가 일어났을 때 workflow를 실행시키겠다는 것을 의미합니다.

 

 

처음에는 이렇게 되어있었잖아요?

pull_request밑에 branches를 지정해주면,

해당 브랜치를 base로 한 PR이 생성되게 되면 workflow가 실행됩니다.

 

암튼 저희는

딱 이렇게만 해줬기 때문에 Base브랜치가 어디든!!

PR이 생성되면 무조건 workflow가 실행되게 됩니다.

자 이제 PR을 만들어줍시다.

참고로 actions가 안돌아간다면,,지금 내 PR브랜치에 workflow파일이 있는지 확인해보세요.

내 브랜치에 workflow 파일..(.yml파일)이 있어야 돌아갑니다. 

아무튼 PR하는 순간 이렇게 workflow가 실행되게 되고, 

성공적으로 actions가 끝나게 되면

All checks have passed라고 뜨게 됩니다. 

만약 실패한다면?

 

failed라고 뜨게 됩니다. (저는 실패하는 테스트를 넣고, workflow파일에서 테스트를 실행하도록 했어요)

 

그럼 PR시 actions가 돌아가게 하는 방법을 알았으니...여러가지 것들을 해봅시다.

테스트가 실패한 김에...

 

1. Actions를 성공적으로 통과하지 못하면 merge를 막는다.

지금은 보면  밑에 초록색 체크표시로 되어있죠?! 이것도 뭔가 위험하다는 표시를 해주고 싶습니다..!!

이건 따로 막 코드를 수정할 필요는 없고, 

Setting > branch에 가셔서

Add rule을 해주신 뒤

Require status checks to pass before merging을 선택해주시면 됩니다. 

다시 우리의 PR로 와보면

뭔가 빨강빨강하게 변했죠

제가 admin이라 여전히 merge를 할 수 있지만...admin이 아니라면 merge를 못하겠죠!?

뭐 다들 이미 요 Rule이 적용되어있을 확률이 높은데...ㅎㅎㅎㅎ..암튼 이렇게 할 수 있다..!!

 

2. 내가 명령(?);;을 하면 해당 workflow가 돌아간다.

화질구지

제가 처음에 언급했던 이 기능,,,,

해봅시다.

 

이 기능은 

대충 이렇게 하면 되는데요.

핵심은

저 부분이 핵심입니다. PR도 하나의 issue로 취급되는데요.

issue에 코멘트가 create되면!!! 이 workflow를 실행시키겠다는 것을 의미합니다.

그리고 뭐 아무 코멘트를 남겨도 workflow가 실행되게 하면 좋겠지만..

ㅋㅋ가오가 있지;;ㅋㅋ

 

일단 무조건 간지가 나야하므로

뭐 이런st... 로 코멘트 남겨주겠습니다.

그래서 검사를 합니다.

만약에 comment.body에 "run tests"가 포함이 되면!!!! 실행하겠다 입니다.

만약 "테스트 실행"이라고 코멘트를 남기면

아예 실행이 안되는건 아니고..

workflow가 trigger는 당연히 되는데 (on에 trigger되도록 해줬으니까:;;)

 

 

이렇게 skip이 되게 됩니다.

 

이런식으로 나옴.

run tests로 코멘트를 남기면?

이렇게 잘 돌아가는 것을 볼 수 있습니다.

 

제가 하고싶은거는 이제 workflow가 성공적으로 실행되면

이런식으로 check status?를 보내주고싶었는데..이걸 끝끝내 못하게 됐네요..

**

zzz이 글만 10일째 쓰고 있었네요...걍 발행합니다....

아 근데 맘에 안드는게 이렇게 뭐 한꺼번에 하니까 별로인것 같아요.

그냥 딱 하나 주제 정해놓고 그것만 적어야겠음. 

반응형