この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
GitHub Actions Workflowのlinterを公開された方がおられたので、ものは試しと業務で使っているWorkflowをチェック等していました。引っかかるところがチラホラ。
CICD上でのチェックを入れようと思いつつも、やっぱりエディタでの入力時に使えるのが一番です。既に導入済みのcoc.nvimとcoc-diagnosticを使って、nvim上で補完できるようにしてみました。
coc-diagnostic用の設定
特に注記する場所はありません。強いていえば args
に忘れず -oneline
をいれておくあたりです。
{
"languageserver": {
"dls": {
"command": "diagnostic-languageserver",
"args": ["--stdio"],
"filetypes": ["yaml"],
"initializationOptions": {
"cacheDirectory": "/tmp/",
"linters": {
"actionlint": {
"command": "actionlint",
"rootPatterns": [],
"debounce": 100,
"isStdout": true,
"isStderr": false,
"offsetLine": 0,
"offsetColumn": 0,
"args": ["-oneline", "%relativepath"],
"sourceName": "actionlint",
"formatLines": 1,
"formatPattern": [
"^([^:]+):(\\d+):(\\d+):\\s+(.*)$",
{
"sourceName": 1,
"sourceNameFilter": true,
"line": 2,
"column": 3,
"endLine": 2,
"endColumn": 3,
"message": [4]
}
],
"parseJson": {
"sourceName": "file",
"sourceNameFilter": true,
"line": "line",
"column": "column",
"endLine": "endLine",
"endColumn": "endColumn",
"message": "${message}"
}
}
},
"filetypes": {
"yaml": "actionlint",
}
}
}
}
}
エラーを一覧で見たい場合は、:CocDiagnostics
を使います。
あとがき
検証には手間どりましたが、ActionsのWorkflow実行でエラーになる部分の察知をneovim上で手軽に行えるようになりました。これで今までやらかしの多かったWorkflowのtypoも手間掛けずに減りそうなので一安心です。