Pull Request Labeler 적용
이번에는 Pull Request Labeler plugins을 사용하여, 변경된 파일 또는 디렉터리를 확인하고 자동으로 label 이 추가되도록 할 것이다.
- .github/workflows/labeler.yml : Pull Request Labeler 가 실행될 조건에 대한 workflows를 작성
- .github/labeler.yml : 지난번에 사용한 설정 파일에 이어서 작성해도 무방
실행 조건 정의
.github/workflows/labeler.yml
pull request 가 opened 또는 reopened 되었을 때, 그리고 PR에 새로운 Commit 이 Push 되었을 때 실행되도록 하기 위해 아래와 같이 코드를 작성하였다. 지난번과 다른 점이 있다면 types를 여러 열로 작성한 점인데, YAML 문법 상 같은 의미이기 때문에 어느 쪽도 크게 상관없다.
name: Pull Request Labeler
on:
pull_request:
types:
- opened
- reopened
- synchronize
그리고 jobs를 아래와 같이 작성하면 되는데, Auto Labeler와 크게 차이가 없다.
jobs:
labeler:
runs-on: ubuntu-latest
steps:
- name: Check Labels
id: labeler
uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
.github/labeler.yml
이곳에 파일 형식 또는 디렉터리에 따라서 어떤 label을 자동으로 추가해줄 것인지 정의해주게 된다. 크게 예를 들어
- Documents 가 작성되었을 때
- 테스트 코드가 작성되었을 때
- 패키지 파일이 변경되었을 때
로 상황을 가정하여 아래와 같이 작성해 보았다. 지난번과 같이 Key 에는 label 이 Values 에는 식별할 path 가 들어간다.
":pencil2: docs":
- "**/*.md"
":test_tube: test-code":
- "spec/**/*.spec.php"
- "spec/**/*.spec.js"
":package: app:package":
- package.json
- package-lock.json
- composer.json
지난번에 사용했던 Auto Labeler plugins 은 labeler 설정 파일을 기준 브랜치에 접근하여 확인하는 방식이었던 것과는 다르게, 바로 설정 파일을 확인해서 문제없이 바로 Actions 가 실행되었다.
실행 결과 확인
PR을 생성하고 일정시간을 기다리면 아래와 같이 자동으로 github-actions(bot) 에 의해labeling 이 되는 것을 확인할 수 있다.
총평
지난번에 사용해본 Auto labeler 보다 Pull Request Labeler를 사용하는 것을 좀 더 편리하게 사용가능하다고 느꼈다. 그 외에도 다양한 종류의 auto-labeling plugins 가 있기 때문에, 여러가지를 사용해보고 자신의 프로젝트에 알맞는 것을 사용하는 것을 추천한다.
'🧑🏻💻 Develop > GitHub' 카테고리의 다른 글
Pull Requests 에 자동으로 Labels 적용하기 (1) - Auto Labeler (0) | 2022.09.26 |
---|
댓글