2017-09-19 15:25:42 +00:00
|
|
|
inherit_gem:
|
|
|
|
gitlab-styles:
|
|
|
|
- rubocop-default.yml
|
2016-05-21 23:27:15 +00:00
|
|
|
|
2018-10-09 17:18:53 +00:00
|
|
|
require:
|
|
|
|
- ./rubocop/rubocop
|
|
|
|
- rubocop-rspec
|
2016-06-29 16:00:22 +00:00
|
|
|
|
2020-06-05 21:08:27 +00:00
|
|
|
inherit_from:
|
2021-02-19 03:10:49 +00:00
|
|
|
<% unless ENV['REVEAL_RUBOCOP_TODO'] == '1' %>
|
2021-12-01 12:16:08 +00:00
|
|
|
<% Dir.glob('.rubocop_todo/**/*.yml').each do |rubocop_todo_yaml| %>
|
|
|
|
- '<%= rubocop_todo_yaml %>'
|
|
|
|
<% end %>
|
2021-02-19 03:10:49 +00:00
|
|
|
- '.rubocop_todo.yml'
|
|
|
|
<% end %>
|
2020-06-05 21:08:27 +00:00
|
|
|
- ./rubocop/rubocop-migrations.yml
|
2020-07-27 18:09:54 +00:00
|
|
|
- ./rubocop/rubocop-usage-data.yml
|
2020-11-05 18:08:48 +00:00
|
|
|
- ./rubocop/rubocop-code_reuse.yml
|
2022-02-23 21:15:56 +00:00
|
|
|
<% Dir.glob('jh/rubocop/**/*.yml').each do |jh_rubocop_yaml| %>
|
|
|
|
- '<%= jh_rubocop_yaml %>'
|
|
|
|
<% end %>
|
2020-06-05 21:08:27 +00:00
|
|
|
|
2020-03-31 12:08:09 +00:00
|
|
|
inherit_mode:
|
|
|
|
merge:
|
|
|
|
- Include
|
2021-02-22 09:10:46 +00:00
|
|
|
- Exclude
|
2020-03-31 12:08:09 +00:00
|
|
|
|
2016-03-21 02:49:12 +00:00
|
|
|
AllCops:
|
2020-11-04 12:09:14 +00:00
|
|
|
TargetRubyVersion: 2.7
|
2020-05-28 21:08:22 +00:00
|
|
|
TargetRailsVersion: 6.0
|
2016-03-21 02:49:12 +00:00
|
|
|
Exclude:
|
|
|
|
- 'vendor/**/*'
|
2017-02-02 18:40:49 +00:00
|
|
|
- 'node_modules/**/*'
|
2016-06-09 12:39:16 +00:00
|
|
|
- 'db/fixtures/**/*'
|
2018-07-25 08:59:23 +00:00
|
|
|
- 'db/schema.rb'
|
2016-03-21 02:49:12 +00:00
|
|
|
- 'tmp/**/*'
|
|
|
|
- 'bin/**/*'
|
2016-05-19 20:32:07 +00:00
|
|
|
- 'generator_templates/**/*'
|
2017-02-28 12:13:01 +00:00
|
|
|
- 'builds/**/*'
|
2018-02-26 15:33:38 +00:00
|
|
|
- 'plugins/**/*'
|
2020-04-21 15:21:10 +00:00
|
|
|
- 'file_hooks/**/*'
|
2020-12-02 15:09:37 +00:00
|
|
|
- 'workhorse/**/*'
|
2021-06-02 12:10:05 +00:00
|
|
|
- 'spec/support/*.git/**/*' # e.g. spec/support/gitlab-git-test.git
|
2021-08-05 15:09:46 +00:00
|
|
|
- 'db/ci_migrate/*.rb' # since the `db/ci_migrate` is a symlinked to `db/migrate`
|
2021-08-19 21:10:32 +00:00
|
|
|
# Use absolute path to avoid orphan directories with changed workspace root.
|
|
|
|
CacheRootDirectory: <%= Dir.getwd %>/tmp
|
2021-09-16 12:09:35 +00:00
|
|
|
MaxFilesInCache: 30000
|
2016-03-21 02:49:12 +00:00
|
|
|
|
2022-03-16 00:07:19 +00:00
|
|
|
Metrics/ParameterLists:
|
|
|
|
Exclude:
|
2022-03-24 15:09:10 +00:00
|
|
|
# See https://gitlab.com/gitlab-org/gitlab/-/issues/356771
|
2022-03-16 00:07:19 +00:00
|
|
|
- 'app/components/**/*'
|
|
|
|
|
2020-05-11 21:09:40 +00:00
|
|
|
Cop/AvoidKeywordArgumentsInSidekiqWorkers:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'app/workers/**/*'
|
|
|
|
- 'ee/app/workers/**/*'
|
|
|
|
|
2020-04-21 15:21:10 +00:00
|
|
|
Cop/StaticTranslationDefinition:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
|
|
|
|
2021-01-07 12:10:24 +00:00
|
|
|
InternalAffairs/DeprecateCopHelper:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- spec/rubocop/**/*.rb
|
|
|
|
|
2020-11-23 12:09:11 +00:00
|
|
|
Lint/LastKeywordArgument:
|
|
|
|
Enabled: true
|
|
|
|
Safe: false
|
|
|
|
|
2022-04-28 21:09:03 +00:00
|
|
|
Lint/EmptyFile:
|
|
|
|
Exclude:
|
|
|
|
- 'db/seeds.rb'
|
|
|
|
- 'ee/db/geo/seeds.rb'
|
|
|
|
|
2018-02-13 14:41:47 +00:00
|
|
|
# This cop checks whether some constant value isn't a
|
|
|
|
# mutable literal (e.g. array or hash).
|
|
|
|
Style/MutableConstant:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'db/migrate/**/*'
|
|
|
|
- 'db/post_migrate/**/*'
|
|
|
|
- 'ee/db/migrate/**/*'
|
|
|
|
- 'ee/db/post_migrate/**/*'
|
|
|
|
- 'ee/db/geo/migrate/**/*'
|
|
|
|
|
2018-08-10 15:17:08 +00:00
|
|
|
# TODO: Move this to gitlab-styles
|
|
|
|
Style/SafeNavigation:
|
|
|
|
Enabled: false
|
|
|
|
|
2020-09-03 21:08:18 +00:00
|
|
|
Style/AccessModifierDeclarations:
|
|
|
|
AllowModifiersOnSymbols: true
|
|
|
|
|
2018-09-28 09:43:07 +00:00
|
|
|
# Frozen String Literal
|
|
|
|
Style/FrozenStringLiteralComment:
|
|
|
|
Enabled: true
|
2021-01-20 12:11:06 +00:00
|
|
|
EnforcedStyle: always_true
|
2018-09-28 09:43:07 +00:00
|
|
|
|
2022-04-12 18:10:14 +00:00
|
|
|
Style/SpecialGlobalVars:
|
|
|
|
# https://gitlab.com/gitlab-org/gitlab/-/issues/358427
|
|
|
|
EnforcedStyle: use_perl_names
|
|
|
|
|
2018-10-09 17:18:53 +00:00
|
|
|
RSpec/FilePath:
|
|
|
|
Exclude:
|
|
|
|
- 'qa/**/*'
|
2019-07-18 19:11:09 +00:00
|
|
|
- 'spec/frontend/fixtures/*'
|
|
|
|
- 'ee/spec/frontend/fixtures/*'
|
2018-10-09 17:18:53 +00:00
|
|
|
- 'spec/requests/api/v3/*'
|
2021-06-11 03:10:14 +00:00
|
|
|
- 'spec/fixtures/**/*'
|
2018-10-09 17:18:53 +00:00
|
|
|
|
2021-03-01 21:11:09 +00:00
|
|
|
# Configuration parameters: AllowSubject.
|
|
|
|
RSpec/MultipleMemoizedHelpers:
|
2022-02-01 15:18:50 +00:00
|
|
|
Max: 25
|
2021-03-01 21:11:09 +00:00
|
|
|
AllowSubject: true
|
|
|
|
|
2018-03-08 12:56:54 +00:00
|
|
|
Naming/FileName:
|
|
|
|
ExpectMatchingDefinition: true
|
2021-10-21 18:10:11 +00:00
|
|
|
CheckDefinitionPathHierarchy: false
|
2018-03-08 12:56:54 +00:00
|
|
|
Exclude:
|
2021-10-20 18:12:31 +00:00
|
|
|
- '**/*/*.builder'
|
|
|
|
- 'ee/bin/*'
|
|
|
|
- 'config.ru'
|
|
|
|
- 'config/**/*'
|
|
|
|
- 'ee/config/**/*'
|
2021-10-25 15:12:11 +00:00
|
|
|
- 'jh/config/**/*'
|
2018-07-25 08:59:23 +00:00
|
|
|
- 'db/**/*'
|
|
|
|
- 'ee/db/**/*'
|
2021-10-20 18:12:31 +00:00
|
|
|
- 'ee/elastic/migrate/*'
|
|
|
|
- 'lib/tasks/**/*.rake'
|
|
|
|
- 'ee/lib/tasks/**/*.rake'
|
|
|
|
- 'lib/generators/**/*'
|
|
|
|
- 'ee/lib/generators/**/*'
|
|
|
|
- 'scripts/**/*'
|
2018-03-08 12:56:54 +00:00
|
|
|
- 'spec/**/*'
|
2021-11-04 12:10:22 +00:00
|
|
|
- 'tooling/bin/**/*'
|
2018-03-08 12:56:54 +00:00
|
|
|
- 'ee/spec/**/*'
|
2021-10-25 15:12:11 +00:00
|
|
|
- 'jh/spec/**/*'
|
2021-10-20 18:12:31 +00:00
|
|
|
- 'qa/bin/*'
|
2018-03-08 12:56:54 +00:00
|
|
|
- 'qa/spec/**/*'
|
|
|
|
- 'qa/qa/specs/**/*'
|
2021-10-20 18:12:31 +00:00
|
|
|
- 'qa/tasks/**/*.rake'
|
2021-10-26 18:09:19 +00:00
|
|
|
- '**/*.ru'
|
2022-04-04 18:08:38 +00:00
|
|
|
- 'app/graphql/types/issue_connection.rb'
|
2018-10-24 13:17:29 +00:00
|
|
|
|
2018-03-08 12:56:54 +00:00
|
|
|
IgnoreExecutableScripts: true
|
|
|
|
AllowedAcronyms:
|
|
|
|
- EE
|
|
|
|
- JSON
|
|
|
|
- LDAP
|
2018-10-10 15:02:43 +00:00
|
|
|
- SAML
|
2019-08-27 17:46:42 +00:00
|
|
|
- SSO
|
2018-03-08 12:56:54 +00:00
|
|
|
- IO
|
|
|
|
- HMAC
|
|
|
|
- QA
|
|
|
|
- ENV
|
|
|
|
- STL
|
|
|
|
- PDF
|
|
|
|
- SVG
|
|
|
|
- CTE
|
|
|
|
- DN
|
|
|
|
- RSA
|
|
|
|
- CI
|
|
|
|
- CD
|
|
|
|
- OAuth
|
2021-10-26 18:09:19 +00:00
|
|
|
- CSP
|
|
|
|
- CSV
|
|
|
|
- SCA
|
|
|
|
- SAN
|
|
|
|
- CIDR
|
|
|
|
- SPDX
|
|
|
|
- MR
|
|
|
|
- JWT
|
|
|
|
- HLL
|
|
|
|
- GPG
|
|
|
|
- OTP
|
|
|
|
- GID
|
|
|
|
- AR
|
|
|
|
- RSpec
|
2021-11-01 12:11:46 +00:00
|
|
|
- ECDSA
|
|
|
|
- ED25519
|
|
|
|
- GitLab
|
|
|
|
- JavaScript
|
|
|
|
- VSCode
|
2022-02-01 21:12:02 +00:00
|
|
|
- JetBrains
|
2018-03-08 12:56:54 +00:00
|
|
|
# default ones:
|
|
|
|
- CLI
|
|
|
|
- DSL
|
|
|
|
- ACL
|
|
|
|
- API
|
|
|
|
- ASCII
|
|
|
|
- CPU
|
|
|
|
- CSS
|
|
|
|
- DNS
|
|
|
|
- EOF
|
|
|
|
- GUID
|
|
|
|
- HTML
|
|
|
|
- HTTP
|
|
|
|
- HTTPS
|
|
|
|
- ID
|
|
|
|
- IP
|
|
|
|
- JSON
|
|
|
|
- LHS
|
|
|
|
- QPS
|
|
|
|
- RAM
|
|
|
|
- RHS
|
|
|
|
- RPC
|
|
|
|
- SLA
|
|
|
|
- SMTP
|
|
|
|
- SQL
|
|
|
|
- SSH
|
|
|
|
- TCP
|
|
|
|
- TLS
|
|
|
|
- TTL
|
|
|
|
- UDP
|
|
|
|
- UI
|
|
|
|
- UID
|
|
|
|
- UUID
|
|
|
|
- URI
|
|
|
|
- URL
|
|
|
|
- UTF8
|
|
|
|
- VM
|
|
|
|
- XML
|
|
|
|
- XMPP
|
|
|
|
- XSRF
|
|
|
|
- XSS
|
2019-01-07 10:40:54 +00:00
|
|
|
- GRPC
|
2018-03-08 12:56:54 +00:00
|
|
|
|
2019-03-29 11:23:05 +00:00
|
|
|
Rails/ApplicationRecord:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
# Models in database migrations should not subclass from ApplicationRecord
|
|
|
|
# as they need to be as decoupled from application code as possible
|
|
|
|
- db/**/*.rb
|
|
|
|
- lib/gitlab/background_migration/**/*.rb
|
2020-01-14 09:08:19 +00:00
|
|
|
- ee/lib/ee/gitlab/background_migration/**/*.rb
|
2019-03-29 11:23:05 +00:00
|
|
|
- lib/gitlab/database/**/*.rb
|
|
|
|
- spec/**/*.rb
|
|
|
|
- ee/db/**/*.rb
|
|
|
|
- ee/spec/**/*.rb
|
|
|
|
|
2022-05-14 00:08:57 +00:00
|
|
|
Rails/ActiveRecordCallbacksOrder:
|
|
|
|
Include:
|
|
|
|
- app/models/**/*.rb
|
|
|
|
- ee/app/models/**/*.rb
|
|
|
|
|
2020-06-10 12:08:58 +00:00
|
|
|
Cop/DefaultScope:
|
|
|
|
Enabled: true
|
|
|
|
|
2020-03-31 12:08:09 +00:00
|
|
|
Rails/FindBy:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'ee/app/**/*.rb'
|
|
|
|
- 'ee/lib/**/*.rb'
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
|
2022-02-28 15:13:55 +00:00
|
|
|
Rails/IndexBy:
|
|
|
|
Exclude:
|
|
|
|
- 'tooling/danger/**/*.rb'
|
|
|
|
|
2022-05-14 00:08:57 +00:00
|
|
|
Rails/InverseOf:
|
|
|
|
Include:
|
|
|
|
- app/models/**/*.rb
|
|
|
|
- ee/app/models/**/*.rb
|
|
|
|
|
2020-05-28 21:08:22 +00:00
|
|
|
# This is currently exiting with a rubocop exception error and should be
|
|
|
|
# resolved hopefully a future update
|
|
|
|
# An error occurred while Rails/UniqueValidationWithoutIndex cop was inspecting
|
|
|
|
# app/models/abuse_report.rb:15:2.
|
|
|
|
# To see the complete backtrace run rubocop -d.
|
|
|
|
Rails/UniqueValidationWithoutIndex:
|
|
|
|
Enabled: false
|
|
|
|
|
2022-05-16 15:08:39 +00:00
|
|
|
Rails/HasManyOrHasOneDependent:
|
|
|
|
Include:
|
|
|
|
- app/models/**/*.rb
|
|
|
|
- ee/app/models/**/*.rb
|
|
|
|
|
2022-05-13 12:08:49 +00:00
|
|
|
Rails/HelperInstanceVariable:
|
|
|
|
Include:
|
|
|
|
- app/helpers/**/*.rb
|
|
|
|
- ee/app/helpers/**/*.rb
|
|
|
|
|
2022-06-15 12:09:10 +00:00
|
|
|
Rails/MailerName:
|
|
|
|
Exclude:
|
|
|
|
# See for the context on why it's excluded https://gitlab.com/gitlab-org/gitlab/-/issues/239356#note_956419227
|
|
|
|
- 'app/mailers/notify.rb'
|
|
|
|
|
2018-09-21 12:05:37 +00:00
|
|
|
# GitLab ###################################################################
|
2017-11-22 07:50:36 +00:00
|
|
|
|
|
|
|
Gitlab/ModuleWithInstanceVariables:
|
|
|
|
Enable: true
|
|
|
|
Exclude:
|
|
|
|
# We ignore Rails helpers right now because it's hard to workaround it
|
2017-12-15 11:37:57 +00:00
|
|
|
- app/helpers/**/*_helper.rb
|
2017-12-26 08:30:36 +00:00
|
|
|
- ee/app/helpers/**/*_helper.rb
|
2017-11-22 07:50:36 +00:00
|
|
|
# We ignore Rails mailers right now because it's hard to workaround it
|
2017-12-15 11:37:57 +00:00
|
|
|
- app/mailers/emails/**/*.rb
|
2017-12-26 08:30:36 +00:00
|
|
|
- ee/**/emails/**/*.rb
|
2017-11-22 07:50:36 +00:00
|
|
|
# We ignore spec helpers because it usually doesn't matter
|
|
|
|
- spec/support/**/*.rb
|
|
|
|
- features/steps/**/*.rb
|
2018-02-13 14:41:47 +00:00
|
|
|
|
2019-10-16 03:06:12 +00:00
|
|
|
Gitlab/ConstGetInheritFalse:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'qa/bin/*'
|
|
|
|
|
2020-04-24 15:09:37 +00:00
|
|
|
Gitlab/ChangeTimezone:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- config/initializers/time_zone.rb
|
|
|
|
|
2018-03-13 22:38:25 +00:00
|
|
|
Gitlab/HTTParty:
|
|
|
|
Enabled: true
|
2019-08-26 12:24:25 +00:00
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
2018-03-13 22:38:25 +00:00
|
|
|
|
2020-04-27 18:09:41 +00:00
|
|
|
Gitlab/Json:
|
2020-05-06 18:09:38 +00:00
|
|
|
Enabled: true
|
2020-04-27 18:09:41 +00:00
|
|
|
Exclude:
|
|
|
|
- 'qa/**/*'
|
|
|
|
- 'scripts/**/*'
|
2021-02-23 09:10:45 +00:00
|
|
|
- 'tooling/rspec_flaky/**/*'
|
2020-05-06 18:09:38 +00:00
|
|
|
- 'lib/quality/**/*'
|
2021-01-20 12:11:06 +00:00
|
|
|
- 'tooling/danger/**/*'
|
2020-04-27 18:09:41 +00:00
|
|
|
|
2020-09-04 18:08:48 +00:00
|
|
|
Gitlab/AvoidUploadedFileFromParams:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'lib/gitlab/middleware/multipart.rb'
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
|
|
|
|
2022-02-14 18:13:23 +00:00
|
|
|
Gitlab/EventStoreSubscriber:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
|
|
|
|
2018-02-13 14:41:47 +00:00
|
|
|
GitlabSecurity/PublicSend:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'config/**/*'
|
|
|
|
- 'db/**/*'
|
|
|
|
- 'features/**/*'
|
|
|
|
- 'lib/**/*.rake'
|
|
|
|
- 'qa/**/*'
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/db/**/*'
|
|
|
|
- 'ee/lib/**/*.rake'
|
|
|
|
- 'ee/spec/**/*'
|
2018-12-13 14:46:01 +00:00
|
|
|
|
2021-07-14 15:09:57 +00:00
|
|
|
Database/MultipleDatabases:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'ee/db/**/*.rb'
|
|
|
|
- 'spec/migrations/**/*.rb'
|
2022-04-21 03:09:30 +00:00
|
|
|
- 'lib/tasks/gitlab/db.rake'
|
|
|
|
- 'ee/lib/ee/gitlab/background_migration/**/*.rb'
|
2021-07-14 15:09:57 +00:00
|
|
|
- 'spec/lib/gitlab/background_migration/**/*.rb'
|
|
|
|
- 'spec/lib/gitlab/database/**/*.rb'
|
|
|
|
|
2020-03-23 15:09:36 +00:00
|
|
|
Gitlab/DuplicateSpecLocation:
|
2020-06-04 06:08:42 +00:00
|
|
|
Enabled: true
|
2020-03-23 15:09:36 +00:00
|
|
|
|
2020-12-14 15:09:40 +00:00
|
|
|
Gitlab/PolicyRuleBoolean:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'app/policies/**/*'
|
|
|
|
- 'ee/app/policies/**/*'
|
|
|
|
|
2018-12-13 14:46:01 +00:00
|
|
|
Cop/InjectEnterpriseEditionModule:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
2019-02-08 12:19:53 +00:00
|
|
|
|
|
|
|
Style/ReturnNil:
|
|
|
|
Enabled: true
|
2019-01-30 18:44:00 +00:00
|
|
|
|
|
|
|
# It isn't always safe to replace `=~` with `.match?`, especially when there are
|
|
|
|
# nil values on the left hand side
|
|
|
|
Performance/RegexpMatch:
|
|
|
|
Enabled: false
|
2019-04-08 13:33:36 +00:00
|
|
|
|
2020-05-28 21:08:22 +00:00
|
|
|
Cop/ActiveRecordAssociationReload:
|
2019-04-08 13:33:36 +00:00
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
2019-08-26 12:24:25 +00:00
|
|
|
|
2021-04-23 15:09:37 +00:00
|
|
|
Cop/ActiveModelErrorsDirectManipulation:
|
|
|
|
Enabled: true
|
|
|
|
|
2020-06-02 12:08:33 +00:00
|
|
|
Gitlab/AvoidFeatureGet:
|
|
|
|
Enabled: true
|
|
|
|
|
2020-08-26 00:10:31 +00:00
|
|
|
RSpec/TimecopFreeze:
|
2020-10-08 03:08:39 +00:00
|
|
|
Enabled: true
|
2020-08-26 00:10:31 +00:00
|
|
|
AutoCorrect: true
|
|
|
|
Include:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
- 'qa/spec/**/*.rb'
|
|
|
|
|
2020-10-08 15:08:17 +00:00
|
|
|
RSpec/TimecopTravel:
|
2020-10-19 21:09:06 +00:00
|
|
|
Enabled: true
|
2020-10-08 15:08:17 +00:00
|
|
|
AutoCorrect: true
|
|
|
|
Include:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
- 'qa/spec/**/*.rb'
|
|
|
|
|
2021-01-08 15:10:26 +00:00
|
|
|
RSpec/WebMockEnable:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
Exclude:
|
|
|
|
- 'spec/support/webmock.rb'
|
|
|
|
|
2019-09-25 12:06:15 +00:00
|
|
|
Naming/PredicateName:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
|
|
|
|
2019-08-26 12:24:25 +00:00
|
|
|
RSpec/FactoriesInMigrationSpecs:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'spec/migrations/**/*.rb'
|
|
|
|
- 'ee/spec/migrations/**/*.rb'
|
|
|
|
- 'spec/lib/gitlab/background_migration/**/*.rb'
|
2020-01-14 09:08:19 +00:00
|
|
|
- 'spec/lib/ee/gitlab/background_migration/**/*.rb'
|
|
|
|
- 'ee/spec/lib/ee/gitlab/background_migration/**/*.rb'
|
2019-08-26 12:24:25 +00:00
|
|
|
|
|
|
|
Cop/IncludeSidekiqWorker:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
|
|
|
|
|
|
|
Gitlab/Union:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
|
|
|
|
2020-10-15 00:08:42 +00:00
|
|
|
API/Base:
|
2020-06-29 21:09:07 +00:00
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'lib/**/api/**/*.rb'
|
|
|
|
- 'ee/**/api/**/*.rb'
|
|
|
|
|
|
|
|
API/GrapeArrayMissingCoerce:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'lib/**/api/**/*.rb'
|
|
|
|
- 'ee/**/api/**/*.rb'
|
|
|
|
|
2019-08-26 12:24:25 +00:00
|
|
|
Cop/SidekiqOptionsQueue:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
|
2020-11-12 06:09:02 +00:00
|
|
|
Graphql/ResolverType:
|
|
|
|
Enabled: true
|
2020-12-14 21:09:47 +00:00
|
|
|
Exclude:
|
|
|
|
- 'app/graphql/resolvers/base_resolver.rb'
|
2020-11-12 06:09:02 +00:00
|
|
|
Include:
|
|
|
|
- 'app/graphql/resolvers/**/*'
|
|
|
|
- 'ee/app/graphql/resolvers/**/*'
|
|
|
|
|
2019-08-26 12:24:25 +00:00
|
|
|
Graphql/AuthorizeTypes:
|
|
|
|
Enabled: true
|
2020-07-02 12:09:02 +00:00
|
|
|
Include:
|
|
|
|
- 'app/graphql/types/**/*'
|
|
|
|
- 'ee/app/graphql/types/**/*'
|
2019-08-26 12:24:25 +00:00
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
|
2020-10-14 12:08:58 +00:00
|
|
|
Graphql/GIDExpectedType:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'app/graphql/**/*'
|
|
|
|
- 'ee/app/graphql/**/*'
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
|
2020-10-15 09:08:41 +00:00
|
|
|
Graphql/IDType:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'app/graphql/**/*'
|
|
|
|
- 'ee/app/graphql/**/*'
|
|
|
|
|
2020-08-03 12:09:47 +00:00
|
|
|
Graphql/JSONType:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
2020-08-17 15:10:09 +00:00
|
|
|
- 'app/graphql/**/*'
|
|
|
|
- 'ee/app/graphql/**/*'
|
2020-08-03 12:09:47 +00:00
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
|
2021-07-20 09:08:43 +00:00
|
|
|
Graphql/OldTypes:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'app/graphql/**/*'
|
|
|
|
- 'ee/app/graphql/**/*'
|
2021-08-03 21:09:39 +00:00
|
|
|
- 'spec/graphql/**/*'
|
|
|
|
- 'spec/requests/api/graphql/**/*'
|
|
|
|
- 'ee/spec/graphql/**/*'
|
|
|
|
- 'ee/spec/requests/api/graphql/**/*'
|
2021-07-20 09:08:43 +00:00
|
|
|
|
2019-08-26 12:24:25 +00:00
|
|
|
RSpec/EnvAssignment:
|
|
|
|
Enable: true
|
|
|
|
Include:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/fast_spec_helper.rb'
|
|
|
|
- 'ee/spec/**/fast_spec_helper.rb'
|
|
|
|
- 'spec/**/spec_helper.rb'
|
|
|
|
- 'ee/spec/**/spec_helper.rb'
|
2019-08-26 08:04:54 +00:00
|
|
|
RSpec/BeSuccessMatcher:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'spec/controllers/**/*'
|
|
|
|
- 'ee/spec/controllers/**/*'
|
|
|
|
- 'spec/support/shared_examples/controllers/**/*'
|
|
|
|
- 'ee/spec/support/shared_examples/controllers/**/*'
|
|
|
|
- 'spec/support/controllers/**/*'
|
2019-08-26 13:13:41 +00:00
|
|
|
- 'ee/spec/support/controllers/**/*'
|
2019-09-13 13:26:31 +00:00
|
|
|
|
2019-09-10 16:24:10 +00:00
|
|
|
Scalability/FileUploads:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'lib/api/**/*.rb'
|
|
|
|
- 'ee/lib/api/**/*.rb'
|
2019-09-13 13:26:31 +00:00
|
|
|
|
|
|
|
Graphql/Descriptions:
|
|
|
|
Enabled: true
|
2020-12-11 15:10:04 +00:00
|
|
|
AutoCorrect: true
|
2019-09-13 13:26:31 +00:00
|
|
|
Include:
|
|
|
|
- 'app/graphql/**/*'
|
|
|
|
- 'ee/app/graphql/**/*'
|
2019-11-07 15:06:33 +00:00
|
|
|
|
2019-12-20 09:24:38 +00:00
|
|
|
# Cops for upgrade to gitlab-styles 3.1.0
|
|
|
|
RSpec/ImplicitSubject:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/EmptyLineAfterHook:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/HooksBeforeExamples:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/EmptyLineAfterExample:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/Be:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/DescribedClass:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/SharedExamples:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/EmptyLineAfterExampleGroup:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/ReceiveNever:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/MissingExampleGroupArgument:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
RSpec/UnspecifiedException:
|
|
|
|
Enabled: false
|
|
|
|
|
2020-01-15 18:08:34 +00:00
|
|
|
RSpec/HaveGitlabHttpStatus:
|
2020-01-20 09:08:32 +00:00
|
|
|
Enabled: true
|
2020-02-06 18:08:54 +00:00
|
|
|
Exclude:
|
|
|
|
- 'spec/support/matchers/have_gitlab_http_status.rb'
|
2020-01-20 09:08:32 +00:00
|
|
|
Include:
|
2020-03-03 21:08:37 +00:00
|
|
|
- 'spec/**/*'
|
|
|
|
- 'ee/spec/**/*'
|
2020-01-15 18:08:34 +00:00
|
|
|
|
2022-07-21 12:10:03 +00:00
|
|
|
RSpec/ContextWording:
|
|
|
|
Prefixes:
|
|
|
|
- when
|
|
|
|
- with
|
|
|
|
- without
|
|
|
|
- for
|
|
|
|
- and
|
|
|
|
- on
|
|
|
|
- in
|
|
|
|
- as
|
|
|
|
- if
|
|
|
|
|
2019-12-20 09:24:38 +00:00
|
|
|
Style/MultilineWhenThen:
|
|
|
|
Enabled: false
|
|
|
|
|
2020-08-12 06:09:53 +00:00
|
|
|
# We use EnforcedStyle of comparison here due to it being better
|
|
|
|
# performing code as seen in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36221#note_375659681
|
|
|
|
Style/NumericPredicate:
|
|
|
|
EnforcedStyle: comparison
|
|
|
|
|
2019-12-20 09:24:38 +00:00
|
|
|
Style/FloatDivision:
|
2020-01-14 09:08:19 +00:00
|
|
|
Enabled: false
|
2020-03-09 15:07:45 +00:00
|
|
|
|
|
|
|
Cop/BanCatchThrow:
|
|
|
|
Enabled: true
|
2020-03-27 18:07:48 +00:00
|
|
|
|
|
|
|
Performance/ReadlinesEach:
|
|
|
|
Enabled: true
|
2020-03-30 21:08:01 +00:00
|
|
|
|
2020-04-03 09:09:31 +00:00
|
|
|
Performance/ChainArrayAllocation:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'lib/gitlab/import_export/**/*'
|
|
|
|
- 'ee/lib/gitlab/import_export/**/*'
|
|
|
|
- 'ee/lib/ee/gitlab/import_export/**/*'
|
2020-05-19 06:08:03 +00:00
|
|
|
|
|
|
|
Rails/TimeZone:
|
|
|
|
Enabled: true
|
|
|
|
EnforcedStyle: 'flexible'
|
|
|
|
Include:
|
2020-05-19 09:08:12 +00:00
|
|
|
- 'app/controllers/**/*'
|
2020-05-19 06:08:03 +00:00
|
|
|
- 'app/services/**/*'
|
2020-08-19 06:10:04 +00:00
|
|
|
- 'lib/**/*'
|
2020-05-19 09:08:12 +00:00
|
|
|
- 'spec/controllers/**/*'
|
2020-05-19 06:08:03 +00:00
|
|
|
- 'spec/services/**/*'
|
2020-08-19 06:10:04 +00:00
|
|
|
- 'spec/lib/**/*'
|
2020-05-19 09:08:12 +00:00
|
|
|
- 'ee/app/controllers/**/*'
|
2020-05-19 06:08:03 +00:00
|
|
|
- 'ee/app/services/**/*'
|
2020-05-19 09:08:12 +00:00
|
|
|
- 'ee/spec/controllers/**/*'
|
2020-05-19 06:08:03 +00:00
|
|
|
- 'ee/spec/services/**/*'
|
2020-05-22 09:08:09 +00:00
|
|
|
- 'app/models/**/*'
|
|
|
|
- 'spec/models/**/*'
|
|
|
|
- 'ee/app/models/**/*'
|
|
|
|
- 'ee/spec/models/**/*'
|
2020-06-24 06:09:01 +00:00
|
|
|
- 'app/workers/**/*'
|
|
|
|
- 'spec/workers/**/*'
|
|
|
|
- 'ee/app/workers/**/*'
|
|
|
|
- 'ee/spec/workers/**/*'
|
2020-08-19 06:10:04 +00:00
|
|
|
- 'ee/lib/**/*'
|
|
|
|
- 'ee/spec/lib/**/*'
|
2022-02-22 18:17:57 +00:00
|
|
|
- 'spec/features/**/*'
|
|
|
|
- 'ee/spec/features/**/*'
|
2020-06-09 21:08:21 +00:00
|
|
|
|
|
|
|
Rails/SaveBang:
|
|
|
|
Enabled: true
|
2020-07-01 21:08:51 +00:00
|
|
|
AllowImplicitReturn: false
|
|
|
|
AllowedReceivers: ['ActionDispatch::TestRequest']
|
2020-06-09 21:08:21 +00:00
|
|
|
Include:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
- 'qa/spec/**/*.rb'
|
|
|
|
- 'qa/qa/specs/**/*.rb'
|
2021-04-26 09:09:53 +00:00
|
|
|
Exclude:
|
|
|
|
- spec/models/wiki_page/**/*
|
|
|
|
- spec/models/wiki_page_spec.rb
|
2020-07-23 18:10:06 +00:00
|
|
|
|
|
|
|
Cop/PutProjectRoutesUnderScope:
|
|
|
|
Include:
|
|
|
|
- 'config/routes/project.rb'
|
|
|
|
- 'ee/config/routes/project.rb'
|
|
|
|
|
|
|
|
Cop/PutGroupRoutesUnderScope:
|
|
|
|
Include:
|
|
|
|
- 'config/routes/group.rb'
|
|
|
|
- 'ee/config/routes/group.rb'
|
2020-08-21 21:10:01 +00:00
|
|
|
|
|
|
|
Migration/ComplexIndexesRequireName:
|
|
|
|
Exclude:
|
|
|
|
- !ruby/regexp /\Adb\/(post_)?migrate\/201.*\.rb\z/
|
|
|
|
- !ruby/regexp /\Adb\/(post_)?migrate\/20200[1-7].*\.rb\z/
|
2020-08-28 09:10:32 +00:00
|
|
|
|
|
|
|
Migration/ReferToIndexByName:
|
|
|
|
Exclude:
|
|
|
|
- !ruby/regexp /\Adb\/(post_)?migrate\/201.*\.rb\z/
|
|
|
|
- !ruby/regexp /\Adb\/(post_)?migrate\/20200[1-7].*\.rb\z/
|
|
|
|
- !ruby/regexp /\Aee\/db\/geo\/(post_)?migrate\/201.*\.rb\z/
|
2020-09-11 06:08:45 +00:00
|
|
|
|
|
|
|
Migration/CreateTableWithForeignKeys:
|
|
|
|
# Disable this cop for all the existing migrations
|
|
|
|
Exclude:
|
|
|
|
- !ruby/regexp /\Adb\/(?:post_)?migrate\/(?:201[0-9]\d+|20200[0-8][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])_.+\.rb\z/
|
2020-09-11 12:08:50 +00:00
|
|
|
|
2021-07-09 18:09:51 +00:00
|
|
|
Migration/PreventIndexCreation:
|
|
|
|
Exclude:
|
|
|
|
- !ruby/regexp /\Adb\/(post_)?migrate\/201.*\.rb\z/
|
|
|
|
- !ruby/regexp /\Adb\/(post_)?migrate\/2020.*\.rb\z/
|
|
|
|
- !ruby/regexp /\Adb\/(post_)?migrate\/20210[1-6].*\.rb\z/
|
|
|
|
|
2020-09-11 12:08:50 +00:00
|
|
|
Gitlab/RailsLogger:
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
2020-10-19 12:09:20 +00:00
|
|
|
|
|
|
|
# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/267606
|
|
|
|
FactoryBot/InlineAssociation:
|
|
|
|
Include:
|
|
|
|
- 'spec/factories/**/*.rb'
|
|
|
|
- 'ee/spec/factories/**/*.rb'
|
2021-02-22 09:10:46 +00:00
|
|
|
|
|
|
|
# WIP: https://gitlab.com/gitlab-org/gitlab/-/issues/321982
|
|
|
|
Gitlab/NamespacedClass:
|
|
|
|
Exclude:
|
|
|
|
- 'config/**/*.rb'
|
|
|
|
- 'db/**/*.rb'
|
|
|
|
- 'ee/bin/**/*'
|
|
|
|
- 'ee/db/**/*.rb'
|
|
|
|
- 'ee/elastic/**/*.rb'
|
|
|
|
- 'scripts/**/*'
|
|
|
|
- 'spec/migrations/**/*.rb'
|
2022-02-10 15:12:42 +00:00
|
|
|
- 'app/experiments/**/*_experiment.rb'
|
2022-05-03 03:10:17 +00:00
|
|
|
- 'ee/app/experiments/**/*_experiment.rb'
|
2021-03-10 12:09:14 +00:00
|
|
|
|
|
|
|
Lint/HashCompareByIdentity:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
Lint/RedundantSafeNavigation:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
Style/ClassEqualityComparison:
|
|
|
|
Enabled: true
|
2021-03-17 21:11:29 +00:00
|
|
|
|
|
|
|
# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/207950
|
|
|
|
Cop/UserAdmin:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'app/controllers/admin/sessions_controller.rb'
|
|
|
|
- 'app/controllers/concerns/enforces_admin_authentication.rb'
|
|
|
|
- 'app/policies/base_policy.rb'
|
|
|
|
- 'lib/gitlab/auth/current_user_mode.rb'
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
2021-03-24 15:09:19 +00:00
|
|
|
|
2021-04-13 21:11:25 +00:00
|
|
|
# See https://gitlab.com/gitlab-org/gitlab/-/issues/327495
|
|
|
|
Style/RegexpLiteral:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
Style/RegexpLiteralMixedPreserve:
|
|
|
|
Enabled: true
|
|
|
|
SupportedStyles:
|
|
|
|
- slashes
|
|
|
|
- percent_r
|
|
|
|
- mixed
|
|
|
|
- mixed_preserve
|
|
|
|
EnforcedStyle: mixed_preserve
|
2021-06-11 03:10:14 +00:00
|
|
|
|
|
|
|
RSpec/TopLevelDescribePath:
|
|
|
|
Exclude:
|
|
|
|
- 'spec/fixtures/**/*.rb'
|
|
|
|
- 'ee/spec/fixtures/**/*.rb'
|
2021-08-03 18:10:02 +00:00
|
|
|
|
|
|
|
QA/SelectorUsage:
|
|
|
|
Enabled: true
|
|
|
|
Include:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
|
|
|
Exclude:
|
|
|
|
- 'spec/rubocop/**/*_spec.rb'
|
2021-08-23 18:11:07 +00:00
|
|
|
|
|
|
|
Performance/ActiveRecordSubtransactions:
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
2021-08-24 15:10:36 +00:00
|
|
|
|
|
|
|
Performance/ActiveRecordSubtransactionMethods:
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*.rb'
|
|
|
|
- 'ee/spec/**/*.rb'
|
2022-05-04 12:07:48 +00:00
|
|
|
|
|
|
|
Migration/BackgroundMigrationBaseClass:
|
|
|
|
Enabled: false
|
2022-05-16 12:07:51 +00:00
|
|
|
|
|
|
|
Style/ClassAndModuleChildren:
|
|
|
|
Enabled: true
|
2022-06-20 12:09:24 +00:00
|
|
|
|
|
|
|
Fips/OpenSSL:
|
|
|
|
Enabled: false
|