omnibus-gitlab/.rubocop.yml

84 lines
2.1 KiB
YAML

inherit_gem:
gitlab-styles:
- rubocop-default.yml
inherit_from: .rubocop_todo.yml
require:
- ./lib/rubocop/rubocop
- rubocop-rspec
AllCops:
TargetRubyVersion: 2.7
# Cop names are displayed in offense messages by default. Change behavior
# by overriding DisplayCopNames, or by giving the `--no-display-cop-names`
# option.
DisplayCopNames: true
# Style guide URLs are not displayed in offense messages by default. Change
# behavior by overriding DisplayStyleGuide, or by giving the
# -S/--display-style-guide option.
DisplayStyleGuide: false
# Exclude some GitLab files
Exclude:
- 'bin/*'
- 'gems/**/*'
- '.bundle/**/*'
- 'cache/**/*'
- 'node_modules/**/*'
- 'vendor/bundle/**/*'
- 'files/gitlab-cookbooks/runit/**/*'
- 'scripts/changelog'
- 'danger/changelog/Dangerfile'
- 'scripts/security-harness'
# No rails in omnibus
Rails:
Enabled: false
# TODO re-enable and start updating rspec tests
RSpec:
Enabled: false
# We use git repos in our gemfile, but only our own repos
# TODO: Update the cop to allow us to enable it and whitelist our groups
Cop/GemFetcher:
Enabled: false
# We are not concerned with the security of using public in omnibus but we want to ensure
# Any webserver script we might ship in the future is tested for it
GitlabSecurity/PublicSend:
Enabled: true
Exclude:
- 'files/gitlab-cookbooks/package/**/*'
- 'files/gitlab-ctl-commands/**/*'
- 'files/gitlab-ctl-commands-ee/**/*'
- 'spec/**/*'
# Do not introduce global variables.
Style/GlobalVars:
Enabled: true
Exclude:
- 'lib/backup/**/*'
- 'lib/tasks/**/*'
# This is only useful for our build scripts, used in CI
# Exlude most other locations
Cop/AvoidUsingEnv:
Enabled: true
Exclude:
- omnibus.rb
- files/**/*
- docker/**/*
- lib/gitlab/util.rb
- spec/lib/gitlab/util_spec.rb
Style/MultilineIfModifier:
Enabled: false
Lint/HashCompareByIdentity: # (new in 0.93)
Enabled: true
Lint/RedundantSafeNavigation: # (new in 0.93)
Enabled: true
Style/ClassEqualityComparison: # (new in 0.93)
Enabled: true