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 |
---|
๋๊ธ