diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 136e470..0efdb51 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,6 +17,14 @@ repos: stages: [manual] additional_dependencies: ['@commitlint/config-conventional@8.3.4'] always_run: true + - repo: https://github.com/adithyabsk/mirrors-rubocop + rev: v0.91.0 + hooks: + - id: rubocop + name: Check Ruby files with rubocop + args: [--debug] + always_run: true + pass_filenames: false - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 2.1.3 hooks: diff --git a/.travis.yml b/.travis.yml index 63626cd..fdc8011 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,17 +36,14 @@ stages: # - name: 'release' # if: 'branch = master AND type != pull_request' jobs: - allow_failures: - - env: Lint_rubocop - fast_finish: true include: ## Define the test stage that runs the linters (and testing matrix, if applicable) - # Run all of the linters in a single job (except `rubocop`) + # Run all of the linters in a single job - language: 'node_js' node_js: 'lts/*' env: 'Lint' - name: 'Lint: salt-lint, yamllint, shellcheck & commitlint' + name: 'Lint: salt-lint, yamllint, rubocop, shellcheck & commitlint' before_install: 'skip' script: # Install and run `salt-lint` @@ -57,6 +54,9 @@ jobs: # Need at least `v1.17.0` for the `yaml-files` setting - pip install --user yamllint>=1.17.0 - yamllint -s . + # Install and run `rubocop` + - gem install rubocop + - rubocop -d # Run `shellcheck` (already pre-installed in Travis) - shellcheck --version - git ls-files -- '*.sh' '*.bash' '*.ksh' @@ -65,17 +65,6 @@ jobs: - npm i -D @commitlint/config-conventional @commitlint/travis-cli - commitlint-travis - # Run the `rubocop` linter in a separate job that is allowed to fail - # Once these lint errors are fixed, this can be merged into a single job - - language: node_js - node_js: lts/* - env: Lint_rubocop - name: 'Lint: rubocop' - before_install: skip - script: - # Install and run `rubocop` - - gem install rubocop - - rubocop -d # Run `pre-commit` linters in a single job - language: 'python'