Quantcast
Channel: kakakakakku blog
Viewing all articles
Browse latest Browse all 910

GitHub の CODEOWNERS でプルリクエストのレビュアーを自動アサインしよう

$
0
0

GitHub で CODEOWNERSファイルを使うとコードに対するオーナーシップを設定することができて,プルリクエストを作ると自動的にレビュアーにアサインされるという仕組みを実現できる👌ドラフト状態のプルリクエストだとレビュアーはアサインされないようにもなっていてイイ感じ \( 'ω')/

docs.github.com

"Looks Good to Me"

localstack/CODEOWNERSterraform/CODEOWNERSもあって,GitHub の CODEOWNERSファイルという機能は前から知っていたけど,書籍 "Looks Good to Me"を読んでいるときに Chapter.5「The advantages of automation」「レビュアーのアサインを自動化する」というトピックが紹介されていて,仕事でも使えそうだな〜と感じた💡

モノレポに CODEOWNERSファイルを導入する

検証としてモノレポに CODEOWNERSファイルを導入してみる.まず以下のような構成 (Yarn Workspaces) を作っておく.

$ tree -L2 .
.
├── CODEOWNERS
├── README.md
└── packages
    ├── app1
    ├── app2
    └── app3

そして CODEOWNERSファイルを準備する.あくまでサンプルとして /packages/app1/packages/app2にはコードオーナー(リードエンジニアなど)を設定して,/packages/app3には GitHub Organization Team を設定しておく📝 またドキュメントには CODEOWNERSファイル自体にもコードオーナーを設定しておくと良いと書いてあって,設定してある.

/CODEOWNERS @kakakakakku

/packages/app1 @kakakakakku
/packages/app2 @kakakakakku-sandbox
/packages/app3 @kakakakakku-corp/app3-developers

GitHub Organization Team を使えばレビュアーにアサインするアルゴリズムを設定できて,バランス良くコードレビューを分担できる👌さらに GitHub アカウントで Busyステータスを設定してくとレビュアーの候補から除外されたりもして,ある程度の規模の開発組織だったら GitHub Organization Team を積極的に使うと良さそう.

docs.github.com

app2 の変更を含んだプルリクエストを作る

app3 の変更を含んだプルリクエストを作る

app1,2,3 の変更を含んだプルリクエストを作る

イイ感じ \( 'ω')/


Viewing all articles
Browse latest Browse all 910

Trending Articles