🐶

GitHub Actions aciton-textlint v3 が出てています

2021/04/21に公開

action-textlint v3 available

以前話題にしたaction-textlintですが、v3になりました。

こんな要望がありましたので、簡単に解説します。

action-textlint change from v2 to v3

あまり難しい説明はしないですが、まずv2で大きな問題がありました。

reviewdogプロジェクトのactiionに類似するなら、開発環境のlintの条件でlintして判定する、みたいなのが基本方針なのです。
が、Docker Actionとして作っていたため、開発環境のtextlintの設定が適切に引き継げていないというのがありました。

(このあたり、自分の状態の把握の不足です)

そのため、いろいろ見直した結果、

  • 実装をDocker actionからComposition actionに変換
  • ユーザー環境のtextlintの設定をなるべくそのまま適用
  • ログ出力をモダンに調整

Composition action

Composition actionは新しいGitHub Acitonの形態です。

いままで、GitHub Actionsには、

  • JavaScript Aciton
  • Docker Aciton

というのがありました。
前者は、環境が切り離されたJavaScriopt(Node.js)での処理実行、後者は所定のDockerでの処理実行です。

ただ、この処理には不便なことがあり、

  • 実行に時間がかかる(仮想的環境の構築)
  • 元環境と条件が変わる場合あり(Dockerはむしろそれが狙い)

これらについて、開発環境と乖離するのはreviewdog系ではかなりうれしくない状態でした。
ですので、最近(?)でのreviewdogプロジェクトが持つActionはCompositionになっています。

Composition Actionはリポジトリの状態のままシェルスクリプトが走る、と考えるのが分りやすいかと思います。

textlintもこれに倣いました。

Result

結果として、速度の向上、ユーザー設定の尊守が行えるようになっています。

epilogue

v3、オススメです。(ただ、安全のため自分の設定で問題ないかと動作の検証はしてください)

Discussion