Closed yutailang0119 closed 4 weeks ago
ありがとうございます!ずっとやろうと思って忘れていたやつでしたw
- GitHub Actionsの承認制
一旦やってみて「大変だなー」と思ったらやり方考えてみるでよいかなと思いました!
textlintの対象範囲
一番最初に大雑把に設定していたのですが、確かにREADME.mdなどは不要なので外したいですね。必要なのはwelcome-to-swift、revision-history、language-reference、language-guideの配下のmdファイルですね。別issueで対応でもよいかもしれません。
- lint-stagedを残すかどうか
個人的には残すでいいかなと思います。ローカルでチェックしてもらったほうが早いし良いのかなーと。
エラーが表示されることを確認できました
課題点
現在lint-stagedによってtextlintを実行していますが、npmを設定していない環境からは通り抜けてしまう可能性があります。 また、現在のエラー出力は親切ではないように感じました。
解決案
手前味噌ですがyutailang0119/action-textlintを使って、GitHub Actionsからtextlintを実行し、checksの制御でマージを防ぎます。 このGitHub Actionsは、Pull Requestにインラインでtextlintの指摘を表示します。
相談ポイント
懸念もあるため、相談させてください。
1. GitHub Actionsの承認制
GitHub Actionsは悪用を防ぐため、forkリポジトリからのPull Requestでのワークフロー実行を承認制にしています。 そのため、運用上の手間になるかもしれません。 https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-public-forks
2. textlintの対象範囲
このPull Requestでは、textlintの対象を
./**/*.md
にしています。 これはlint-staged
の対象と同じにしていますが、この設定ではREADME.md
などの作業に直接関与しないファイルも対象になっています。3. lint-stagedを残すかどうか
lint-staged
はgit commit時点で検知が可能なため、有用なツールです。 残しておくか、廃止してもよいかは判断を仰ぎます。