前提
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
であることによる ↩