Open Takym opened 3 years ago
ありがとうございます。 最終的にはツールで自動化したいですね。一方、PreCommitでコードを強制的に変更するスクリプトには経験上、抵抗があり、ライセンス通知を追加する頻度を考えれば、手動で実行する方向で考えています。そういう意味では #236 #237 どちらもあって良い感じです(動作仕様は統一しないといけませんが)。
全部自動処理する前の段階として、CIで「ライセンスが追加されていないファイルが追加されていたらエラーにしすることでマージされるのを防ぐ」手当かなと思います。これなら内部リポジトリからのSyncをPull Requestという扱いでチェックするようにすれば、DateTimeUtility.csのようなことが起きる可能性は小さくなると考えていますが、いかがでしょうか。
そういう意味ではこのIssueとも話がずれるわけですが…ひとまず2つのPull Request( #236 #237 )でGitHub Actionsで実行できて、ライセンス通知がないファイルの「追加」を検出できるものはありそうでしょうか。特に #237 は
Commit 時に ライセンスの記載漏れがないか確認する
という記述があるので、そういった使われ方を想定しているのかなと思っています。
ライセンス通知を追加する頻度を考えれば、手動で実行する方向で考えています。
確かに,その頻度はあまり高くありませんから,わざわざ pre-commit でチェックするまでもないと言えそうです。
イメージとしては,「Create Pull Request」と組み合わせることで,[スクリプトを実行]→[Base branch に対し,通知漏れの修正 PR を自動作成する]……といった具合です。よろしければ別途 PR を作成いたしましょうか……?
「ライセンスが追加されていないファイルが追加されていたらエラーにしすることでマージされるのを防ぐ」
ライセンス通知が付与していないファイルの検出であればより単純な機構で動くと思います。
@Meiryo7743 @Takym ありがとうございます。ライセンス通知を自動で付加する前段階として、「ライセンス通知の必要なファイルを」を正しく検出できる機能が必要と考えています。おそらくですが、ホワイトリストを作って特定のディレクトリやファイル(他のライセンスが適用されているXamarin.ExposureNotificationなど)を除外するなど必要と思います。
検出の機能をまずはGitHub Actionsに組み込む。問題なく動けばPull Requestに対するコメントであったり、 @Meiryo7743 さん提案のPull Reqeustに対して追加でPull Requestを出すなどができそうですね。
提案します。#236 (#245)、#237、#261 の向き先を feature ブランチへ変更して頂けますでしょうか。
feature/license_tools
でいいですか?
はい。よろしくお願いします。
変更しました!
その機能リクエストは何らかの問題に関連しますか
本リポジトリではファイルの先頭にライセンス通知を記述する決まり(#80)になっていますが、書き忘れてしまう事も少々あります。例えば DateTimeUtility.cs (#229) 等があります。 https://github.com/cocoa-mhlw/cocoa/blob/b185621f4ba09ebe549811541e0d93828689f93c/Covid19Radar/Covid19Radar/Common/DateTimeUtility.cs#L1-L18
解決策についてお書きください
236 (Windows版)、#237 (Linux版) により既に解決策となる PR が作成されています。
あなたが考える代替案についてご説明ください
今のところは特にありません。
その他
[x] 本 Issue は https://github.com/cocoa-mhlw/cocoa/issues/229#issuecomment-868553574 から分離する意図で作成しました。
Internal IDs: