前提
Super-Linterのv3を使います。
特定の言語のlintだけ実行する
Super-Linterは、デフォルトではリポジトリに含まれるファイルのうち、Super-Linterでlintできる言語1すべてについてlintを実行する。特定の言語についてだけlintを実行するときは、次のようにVALIDATE_<言語名>: trueをenvとして指定する。
例えば、Rubyのlint(すなわちRuboCop)だけ実行したいときの設定ファイルは次のとおり:
name: linter
on: [push, pull_request]
jobs:
build:
name: Lint code base
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Lint Code Base
uses: docker://github/super-linter:v3
env:
VALIDATE_RUBY: true
DEFAULT_BRANCH: master
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
lintのルールファイルを置くパス
例えばRuboCopのルールだと、.rubocop.ymlという名前のファイルをリポジトリのルートに置くことが多い。しかし、Super-Linterがデフォルトで読むルールファイルのパスは.github/linters/.ruby-lint.ymlである2。
LINTER_RULES_PATHとRUBY_CONFIG_FILEを設定すればプロジェクトのルートの.rubocop.ymlを直接読むように設定できるが、.github/linters/.ruby-lint.ymlを.rubocop.ymlへのシンボリックリンクとしておくこともできる。
-
LINTER_RULES_PATHのデフォルト値が.github/linters、RUBY_CONFIG_FILEのデフォルトが.ruby-lint.ymlであることによる ↩