GitHub ActionsとTextlintを使って文章の品質向上を目指す

2214 ワード

最近GitHub Actionsのチュートリアルをやってみたので、手ごろなものでGitHub Actionsを使ってみたくなりました。

Textlintが比較的簡単、かつ、効果的かもしれないと思い実践してみました。

この記事のゴール

  • GitHub ActionsでTextlintを起動して構文チェック
  • プルリクエスト時にlinter実行し、エラーとなったものをレビューコメントとして表示

SmartHR社の設定が良さげだったので、今回はそれをそのまま使ってみることにしました。
よりよい文書を書くための校正ツール「textlint」のSmartHR用ルールプリセットを公開しました!|SmartHRオープン社内報|株式会社SmartHR

効果

  • Gitでバージョン管理が可能
  • GitHubにログインできる環境ならば、どこでも同じ設定でlintが実行可能

今回やらないこと

  • cache周り
  • TextlintやReviewdogの詳細な設定

設定ファイル

GitHub Actions

name: textlint for article 
on: 
  pull_request:
    
jobs:
  textlint:
    name: textlint
    runs-on: ubuntu-latest
    steps: 
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v3
      - uses: reviewdog/action-setup@v1
      - name: install textlint
        run: npm install textlint textlint-rule-preset-smarthr
      - name: output textlint results in reviewdog
        env:
          REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
        run: |
          npx textlint -f checkstyle articles/*.md |\
          reviewdog -f=checkstyle -name="textlint" -reporter=github-pr-review -level=info

Textlint

{
  "rules": {
    "preset-smarthr": true
  }
}

参考にさせていただいた情報

GitHub Actions + textlintで記事を校正する
reviewdog/reviewdog.yml at master · reviewdog/reviewdog