Establish reviewing process
smikitky opened this issue · comments
個人的にはファーストラウンドが終わったらあとは同時平行になっても大丈夫かなと思います。
ラベルについては、"in review" だと曖昧すぎるので "in initial review" / "initial review underway" / "初回レビュー中" あたりでどうでしょう。
@smikitky
1-4のレビューフロー、良いと思います 👍
1点質問です。
in initial review
/initial review underway
/初回レビュー中
のラベルは1-3の間はずっと付いていて、4に入ったら外すという運用イメージですか?
@sasurau4 大量の重複したレビューがつくのを防ぐというのが最大の目的ですので、2が終わったらもう外していいかなと思います。
では、一旦そのような形で運用してみましょうか。
問題が発生したらまたこちらで議論しましょう。
ラベルに関しては、特にこだわりはありませんが、"in initial review"でどうでしょうか。
今気づいたんですが、write権限ないとラベルつけたり剥がしたりできないですね...
https://help.github.com/articles/repository-permission-levels-for-an-organization/
@smikitky では、レビューより翻訳を進める方で協力していきます 👍
翻訳PRをどうマージするかについて。
現状ではGitHubのUI上でsquash-mergeするというルールだと思いますが、これをすると、master側でtextlintのルール変更があった場合に、マージ後に master上でCIのエラーが出ることで気付く、ということが起こります。(例 #101 と #116)
対策としては以下のようなものが挙がりますが、どうしましょうか。
- 普通に squash-merge してPRをクローズした後に、メンテナ側でエラーを修正する commit を master に直接 push する(例: aed3392 )
- 👍 とにかく速くて楽
- 👎 masterに❌つきコミットが残る
- PRのマージをローカルのコマンドラインで行い、修正してからpushすることで、エラーが出るとわかりきっているコミットに対して自動CIが走らないようにする
- 👍 比較的速い
- 👎 何にせよ一瞬masterにエラーのあるコミットは残る・squashマージにするとGitHub側がマージされたことを認識できない(はず)
- マージ前に PR 側に master をマージすることを強制する(GitHubの"Require branches to be up to date before merging"オプションを有効にする。PR上でグリーンにならないとマージできない)
- 👍 masterには綺麗な squash 済みコミットだけが残る
- 👎 翻訳者側の負荷増とそれによるマージの遅れ・#118 のような sync 用のPRでまでこれをやりたくないので sync は admin 権限がある人がルールを無視して強制的に行う必要がある・GitHub上での差分表示でちょっと混乱するかも・textlintのルール変更はそこまで頻繁には起きないので将来的にはあまり重要でないステップになるかも
- マージ前に master へのリベースを強制する
- 👍 masterには綺麗な squash 済みコミットだけが残る
- 👎 翻訳者側の負荷増・信念としてリベースが嫌いな人がいそう
個人の意見ですが、1が一番楽な気がしています。マージ後に見つかるようなエラーは殆どが textlint の細かいエラーであり合意形成というほどのこともありません。翻訳者側には git 自体に不慣れな人もいます。「masterをマージしたらエラーが出ていますので修正をお願いします」などとお願いしてわかりきった作業のために1日待つよりは、メンテナ側で1分で修正した方が早いです。masterに❌が残ることには少なくとも美観上の問題はありますが、自動デプロイなどは❌がある状態では起きないようにすればいいだけなので、本質的には問題ではないように思います。
(なお、もちろん原文に大きな変更がある場合など確実に大きな不整合が予想される場合は rebase や git merge master
を併用していくべきなで、あくまで PR に master をマージすることを全PRで強制まではしなくてもいいのでは、という話です)
1.
で良いと思います。 4.
をやってくれる翻訳者は翻訳者側でやってくれるはずなので、意識しないでよいかと思います。
Deno がそんな感じの運用をしているみたいで、良さそうだなーと思ったりしました。
個人的には今のフローでも特に問題は感じていないですが(SyncのPRのmergeは確かに微妙)、1でも大丈夫です。
1
の場合、merge後のCIを必ずチェックして対応する必要があるので、モバイルからmergeしずらいなと思ったのですが、approveだけして後でmergeは後からすればいいので大丈夫そうです。