Github Actionsでtextlintを使って校正処理をする
やりたいこと
Zennの記事を書いているリポジトリで記事追加用のブランチにプッシュしたらmainブランチへのプルリクエストを作成する。
mainブランチへのプルリクエストが作成されたらtextlintを実行して記事を校正する。
参考記事
こちらの記事を大いに参考にさせていただきました。
プルリクエストの自動作成
ブランチ名 article/**
だったらプルリクを作成します。
プルリクのタイトルはブランチ名として、既にプルリクが存在している場合には作成されないようにします。
name: pullrequest
on:
push:
branches:
- "article/**"
jobs:
create-review-pr:
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v2
- name: check PR exists
id: pr_exists
run: |
pr_title=${GITHUB_REF##*/}
echo "::set-output name=pr_title::$pr_title"
echo "::set-output name=count::$(gh pr list -S ${pr_title}' in:title' -B $base_branch | wc -l)"
- name: Create release pr
if: ${{ steps.pr_exists.outputs.count == 0 }}
run: |
gh pr create -B main -t ${{ steps.pr_exists.outputs.pr_title }} -b ""
textlintのワークフロー
textlintを実行してエラーがあったらreviewdogでプルリクにコメントが追加されるという挙動になります。
jobs:
textlint:
name: reviewdog
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: textlint-github-pr-review
uses: tsuyoshicho/action-textlint@v3
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
textlint_flags: "articles/**"
作業中にこちらを見つけたので利用してみました。
参考記事
textlintのルール設定
ひとまず適用することにしたルールは以下です。
ここは様子を見て更新していきます。
{
"rules": {
"textlint-rule-no-mix-dearu-desumasu": true,
"textlint-rule-max-ten": true,
"textlint-rule-spellcheck-tech-word": true,
"preset-ja-technical-writing": true
}
}
終わりに
以上でこの記事のlintがうまくいきました。
もう少し校正内容のブラッシュアップは必要な気がしていますので今後の課題とします。
課題
Github Actionsでプルリクエストを自動作成した時にレビューのジョブが動かないのをどうにかしたいです。
当面は8割完成くらいの状態で記事を一度プッシュしてしまい全体を見直し改めてプッシュした段階で校正がかかればいいという運用をします。
追記
Github Actionsで作成したプルリクだと校正のジョブが動かない件は以下の記事を参考にPersonal Access Tokenを使用するように変更したら動くようになりました。
Author And Source
この問題について(Github Actionsでtextlintを使って校正処理をする), 我々は、より多くの情報をここで見つけました https://zenn.dev/y16ra/articles/63ffa0c9467c09著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol