Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

テストが通ったら自動的にマージできるようにしたい #53

Open
Hiroshiba opened this issue May 11, 2024 · 2 comments
Labels
機能向上 要議論 実行する前に議論が必要そうなもの

Comments

@Hiroshiba
Copy link
Member

Hiroshiba commented May 11, 2024

内容

テストが通ったら自動的にマージできるようにしたいです。

merge queueを使えば可能なはずなのですが、VOICEVOXのレビュー&approve事情に合ってないためそのままでは適用できなさそうでした。

VOICEVOXのプルリクエストマージは、以下の2つの条件のうちどちらかを満たすと可能としています。

  • @maintainerチームの1人のapprove
  • @reviewerチームの2人のapprove

branch protectionを使えば「何人以上のapproveが必要か」と「誰ならforce mergeが可能か」を設定できます。
なので、2人以上のapproveがあるか、@maintainerチームのforce mergeを有効にすることで、↑のどちらの条件でもマージできるようにしています。

問題はこれがmerge queueで使えないっぽいことです。
というのも、「N人以上のapprove」ではmerge queueを使えますが、force mergeの場合はmerge queueを無視して対象のブランチにマージするという挙動をするっぽいです。

さてどうしようかなという感じです・・・ 😇

実現方法

いくつか解決策はあると思います。とりあえず列挙してみます。

  • @maintainerのapproveがあれば自動でapproveしてくれるbotを追加する
    • botに承認してもらうことで「2人がapproveしている」という条件を満たす
    • これが一番手っ取り早い気がしています
    • https://github.com/hiho-check-organization/check-auto-merge で試していたのですが、権限周りでつまづいたので一旦諦めました
    • たぶんorgの情報を見れるPATを設定しないといけない・・・?
  • Branch protection ruleによる判定ではなく、専用のマージ可否判定Github Actionsを作る
    • これが一番柔軟そうではある
    • けどなんか結構大変そう
    • merge queueに登録するAPIが無さそう・・・?だから不可能かも・・・?
    • 専用のActionsでマージ可否判定→botがapprove→botのapproveがあればmerge queue可能になるBranch protection rule なら可能かも
  • マージ条件の方を変える
    • いい条件が思いつかない・・・。

その他

メモです。

  • merge-queueはorganizationを作ってその下じゃないとテストできない
    • organization作るのは無料でできるのでサクッと作っちゃえば良いはず
  • Branch protection ruleだけじゃなくRulesetsでもmerge queueを作れる
    • rulesetはexportもできるのでこっちの方が便利そう
@Hiroshiba Hiroshiba added 機能向上 要議論 実行する前に議論が必要そうなもの labels May 11, 2024
@Hiroshiba
Copy link
Member Author

もし挑戦してみたい方がいらっしゃったらコメントください 🙇
条件等も細かいところが分かりづらいと思うので何でもお聞きください!

@Hiroshiba
Copy link
Member Author

@VOICEVOX/maintainer すみません、ちょっと勝手にプロジェクト作ってしまいました 🙇

オートマージしたく色々試してみたのですが、github の仕様とVOICEVOXの要件が合いませんでした・・・。
このプロジェクトリポジトリに作るissueとしてはちょっと規模感が小さいかもなので、移動した方が良さそうだったら移動します 🙇

@Hiroshiba Hiroshiba changed the title auto-mergeを可能にしたい テストが通ったら自動的にマージできるようにしたい May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
機能向上 要議論 実行する前に議論が必要そうなもの
Projects
None yet
Development

No branches or pull requests

1 participant