Closed kobkaz closed 7 months ago
あー,これ sksat/action-clippy
が on: push
で発火して,clippy の warning がある時にたまに起こる問題ですね......
そもそもログが分かりにくいなどもあるのでどうにかします.
clippyのwarningは #41 で新たに発生したようなのですが、これにreviewdogが何も言っていないのも不具合でしょうか?
こっちは不具合というか workflow 側の設定不備ですね.今は on: push
時に Pull Request モードで reviewdog が動いているので.
あ,PR 上で言ってきてない方か.それはおかしそう.
@kobkaz sksat/action-clippy
v0.5.0 で対応しました.Broken pipe はちゃんと調べてみたら Rust 側の問題でした.
https://github.com/sksat/action-clippy/releases/tag/v0.5.0
あー, #41 で Field
を書き換えてこの型サイズが大きくなった結果それを使っている SubEntry
に warning が出た,という形なので added
filter だと捕まえられなかった,ということっぽいですね.
sksat/action-clippy
側でデフォルトの filter_mode を diff_context
, file
あたりに変えるのはアリだけど,それでも取りこぼすことはあるだろうし,悩ましいな.結局プロジェクト毎に気にするやつは nofilter
を明示的に指定する,とかかも.
そもそも clippy は行単位の lint してるわけじゃないんだからデフォルト設定は nofilter
でいいでしょ,ということにした
https://github.com/sksat/action-clippy/releases/tag/v0.7.0
それはそれとして, #43 (と #44 )で「何故か(何も言わずに)CI がコケている」という事象は解決している.今は clippy の warning がちゃんと出ているので,そっちの中身の修正は @kobkaz にお任せした方がよいかな.
あー,でもこれはどちらかというと PR 上では status check が通っている(annotation は出ている)けれど,マージしたら main ではコケる,というところに驚きがあるのか.fail_on_error: true
するか,main での clippy warning は表示だけして素通りするか,という方が大事か.
↑は #48 で修正した
それはそれとして,この挙動だと驚きは少ないけどマージ済みの clippy warning は見逃してしまうかも.なのでこの Issue は中身を修正してから閉じたいのと,fail_on_error: true
するかどうかを決めたい.
個人的には clippy の言うことにはできるだけ従いたいので fail_on_error: true
寄りかな.あえて無視したいケースは十分に少ないし,無視する書き方もできるし.sksat/action-clippy
のデフォルト設定も変えていいかもしれない.
問題があるとすれば「知らんうちに新しい lint が出てきた」というやつで,これはちょっと悩ましい.
個人的には Rust version を固定(clippy version を固定 / rust-toolchain
する)すればいいやんけ,とは思いつつ,毎回やるにはちょっと strict すぎる要求だとも思わなくはない(ex: 雑に stable
にしておきたい).
https://github.com/arkedge/c2a-tlmcmddb/actions/runs/7523751359
@sksat が詳しいですか?