diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 1ba05e770c527457dcc3bbaaed08b4d3db5c7440..d60ab9b2fccac4a056ea5c17fe1324c0ff91962e 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -1,6 +1,6 @@
 # This configuration was generated by
 # `rubocop --auto-gen-config`
-# on 2020-12-14 18:35:57 UTC using RuboCop version 0.89.1.
+# on 2021-01-11 15:49:32 UTC using RuboCop version 0.91.1.
 # The point is for the user to remove these configuration records
 # one by one as the offenses are removed from the code base.
 # Note that changes in the inspected code, or installation of new
@@ -11,7 +11,7 @@
 Capybara/CurrentPathExpectation:
   Enabled: false
 
-# Offense count: 216
+# Offense count: 218
 Capybara/VisibilityMatcher:
   Enabled: false
 
@@ -25,44 +25,53 @@ Graphql/IDType:
   Exclude:
     - 'app/graphql/mutations/boards/issues/issue_move_list.rb'
 
-# Offense count: 5
-Graphql/ResolverType:
-  Exclude:
-    - 'app/graphql/resolvers/base_resolver.rb'
-    - 'app/graphql/resolvers/ci/jobs_resolver.rb'
-    - 'app/graphql/resolvers/ci/pipeline_stages_resolver.rb'
-    - 'app/graphql/resolvers/users/group_count_resolver.rb'
-    - 'ee/app/graphql/resolvers/vulnerabilities_base_resolver.rb'
-
-# Offense count: 2002
+# Offense count: 2054
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle, IndentationWidth.
 # SupportedStyles: with_first_argument, with_fixed_indentation
 Layout/ArgumentAlignment:
   Enabled: false
 
-# Offense count: 50
+# Offense count: 11
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyleAlignWith, Severity.
+# SupportedStylesAlignWith: start_of_line, begin
+Layout/BeginEndAlignment:
+  Exclude:
+    - 'app/controllers/groups/shared_projects_controller.rb'
+    - 'app/workers/concerns/reactive_cacheable_worker.rb'
+    - 'ee/app/services/security/token_revocation_service.rb'
+    - 'ee/lib/gitlab/analytics/cycle_analytics/summary/group/deploy.rb'
+    - 'ee/lib/gitlab/ci/config/entry/vault/secret.rb'
+    - 'lib/api/internal/base.rb'
+    - 'lib/atlassian/jira_connect/serializers/build_entity.rb'
+    - 'lib/gitlab/ci/jwt.rb'
+    - 'lib/gitlab/external_authorization/client.rb'
+    - 'lib/gitlab/phabricator_import/project_creator.rb'
+    - 'scripts/gitaly_test.rb'
+
+# Offense count: 52
 # Cop supports --auto-correct.
 # Configuration parameters: AllowAliasSyntax, AllowedMethods.
 # AllowedMethods: alias_method, public, protected, private
 Layout/EmptyLinesAroundAttributeAccessor:
   Enabled: false
 
-# Offense count: 694
+# Offense count: 721
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle, IndentationWidth.
 # SupportedStyles: special_inside_parentheses, consistent, align_brackets
 Layout/FirstArrayElementIndentation:
   Enabled: false
 
-# Offense count: 1621
+# Offense count: 1592
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle, IndentationWidth.
 # SupportedStyles: special_inside_parentheses, consistent, align_braces
 Layout/FirstHashElementIndentation:
   Enabled: false
 
-# Offense count: 2979
+# Offense count: 3019
 # Cop supports --auto-correct.
 # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
 # SupportedHashRocketStyles: key, separator, table
@@ -71,33 +80,47 @@ Layout/FirstHashElementIndentation:
 Layout/HashAlignment:
   Enabled: false
 
-# Offense count: 72
+# Offense count: 73
 # Cop supports --auto-correct.
 # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
 # URISchemes: http, https
 Layout/LineLength:
   Max: 1313
 
-# Offense count: 162
+# Offense count: 163
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle, IndentationWidth.
 # SupportedStyles: aligned, indented
 Layout/MultilineOperationIndentation:
   Enabled: false
 
-# Offense count: 52
+# Offense count: 11
+# Cop supports --auto-correct.
+Layout/RescueEnsureAlignment:
+  Exclude:
+    - 'app/models/blob_viewer/dependency_manager.rb'
+    - 'app/models/project.rb'
+    - 'app/services/prometheus/proxy_service.rb'
+    - 'app/workers/concerns/reactive_cacheable_worker.rb'
+    - 'app/workers/delete_stored_files_worker.rb'
+    - 'config/initializers/1_settings.rb'
+    - 'config/initializers/trusted_proxies.rb'
+    - 'lib/api/internal/base.rb'
+    - 'lib/gitlab/highlight.rb'
+
+# Offense count: 53
 # Cop supports --auto-correct.
 Layout/SpaceAroundMethodCallOperator:
   Enabled: false
 
-# Offense count: 737
+# Offense count: 725
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: require_no_space, require_space
 Layout/SpaceInLambdaLiteral:
   Enabled: false
 
-# Offense count: 1160
+# Offense count: 218
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
 # SupportedStyles: space, no_space
@@ -105,17 +128,16 @@ Layout/SpaceInLambdaLiteral:
 Layout/SpaceInsideBlockBraces:
   Enabled: false
 
-# Offense count: 539
+# Offense count: 559
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: space, no_space
 Layout/SpaceInsideParens:
   Enabled: false
 
-# Offense count: 19
+# Offense count: 18
 Lint/BinaryOperatorWithIdenticalOperands:
   Exclude:
-    - 'app/finders/concerns/time_frame_filter.rb'
     - 'ee/spec/lib/ee/gitlab/application_context_spec.rb'
     - 'spec/helpers/visibility_level_helper_spec.rb'
     - 'spec/lib/gitlab/conan_token_spec.rb'
@@ -129,6 +151,10 @@ Lint/BinaryOperatorWithIdenticalOperands:
     - 'spec/models/repository_spec.rb'
     - 'spec/models/ssh_host_key_spec.rb'
 
+# Offense count: 83
+Lint/ConstantDefinitionInBlock:
+  Enabled: false
+
 # Offense count: 9
 # Cop supports --auto-correct.
 Lint/DeprecatedOpenSSLConstant:
@@ -143,7 +169,26 @@ Lint/DeprecatedOpenSSLConstant:
     - 'spec/support/helpers/smime_helper.rb'
     - 'spec/support/shared_contexts/requests/api/conan_packages_shared_context.rb'
 
-# Offense count: 183
+# Offense count: 1
+Lint/DuplicateRequire:
+  Exclude:
+    - 'ee/spec/lib/gitlab/auth/group_saml/user_spec.rb'
+
+# Offense count: 2
+# Configuration parameters: AllowComments.
+Lint/EmptyFile:
+  Exclude:
+    - 'db/seeds.rb'
+    - 'ee/db/geo/seeds.rb'
+
+# Offense count: 8
+# Cop supports --auto-correct.
+Lint/IdentityComparison:
+  Exclude:
+    - 'spec/lib/gitlab/danger/weightage/maintainers_spec.rb'
+    - 'spec/lib/gitlab/danger/weightage/reviewers_spec.rb'
+
+# Offense count: 184
 # Configuration parameters: MaximumRangeSize.
 Lint/MissingCopEnableDirective:
   Enabled: false
@@ -166,7 +211,7 @@ Lint/MixedRegexpCaptureTypes:
     - 'lib/gitlab/slash_commands/issue_new.rb'
     - 'lib/gitlab/slash_commands/run.rb'
 
-# Offense count: 135
+# Offense count: 141
 # Cop supports --auto-correct.
 Lint/RedundantCopDisableDirective:
   Enabled: false
@@ -188,20 +233,63 @@ Lint/UnreachableLoop:
   Exclude:
     - 'qa/qa/runtime/feature.rb'
 
+# Offense count: 22
+# Cop supports --auto-correct.
+# Configuration parameters: AllowComments.
+Lint/UselessMethodDefinition:
+  Enabled: false
+
 # Offense count: 7
-# Configuration parameters: IgnoredMethods.
+# Configuration parameters: IgnoredMethods, Max.
 Metrics/AbcSize:
-  Max: 59
+  Exclude:
+    - 'app/helpers/issuables_helper.rb'
+    - 'app/services/merge_requests/build_service.rb'
+    - 'app/services/projects/create_service.rb'
+    - 'lib/api/helpers.rb'
+    - 'lib/gitlab/lograge/custom_options.rb'
+    - 'lib/gitlab/rack_attack.rb'
+    - 'qa/qa/resource/repository/push.rb'
 
 # Offense count: 15
-# Configuration parameters: IgnoredMethods.
+# Configuration parameters: IgnoredMethods, Max.
 Metrics/CyclomaticComplexity:
-  Max: 25
+  Exclude:
+    - 'app/services/projects/create_service.rb'
+    - 'app/services/system_hooks_service.rb'
+    - 'ee/app/controllers/ee/groups_controller.rb'
+    - 'ee/app/helpers/ee/groups_helper.rb'
+    - 'ee/lib/security/ci_configuration/sast_build_actions.rb'
+    - 'lib/banzai/filter/abstract_reference_filter.rb'
+    - 'lib/declarative_policy/runner.rb'
+    - 'lib/gitlab/conflict/file.rb'
+    - 'lib/gitlab/danger/roulette.rb'
+    - 'lib/gitlab/diff/parser.rb'
+    - 'lib/gitlab/rack_attack.rb'
+    - 'lib/gitlab/sidekiq_cluster/cli.rb'
+    - 'lib/gitlab/utils/merge_hash.rb'
+    - 'lib/kramdown/parser/atlassian_document_format.rb'
+    - 'spec/support/cycle_analytics_helpers/test_generation.rb'
 
-# Offense count: 14
-# Configuration parameters: IgnoredMethods.
+# Offense count: 15
+# Configuration parameters: IgnoredMethods, Max.
 Metrics/PerceivedComplexity:
-  Max: 25
+  Exclude:
+    - 'app/helpers/submodule_helper.rb'
+    - 'app/helpers/tab_helper.rb'
+    - 'app/services/projects/create_service.rb'
+    - 'ee/app/controllers/ee/groups_controller.rb'
+    - 'ee/app/helpers/ee/groups_helper.rb'
+    - 'ee/lib/security/ci_configuration/sast_build_actions.rb'
+    - 'lib/banzai/filter/abstract_reference_filter.rb'
+    - 'lib/banzai/renderer.rb'
+    - 'lib/declarative_policy/runner.rb'
+    - 'lib/gitlab/conflict/file.rb'
+    - 'lib/gitlab/danger/roulette.rb'
+    - 'lib/gitlab/rack_attack.rb'
+    - 'lib/gitlab/sidekiq_cluster/cli.rb'
+    - 'lib/gitlab/utils/merge_hash.rb'
+    - 'spec/support/cycle_analytics_helpers/test_generation.rb'
 
 # Offense count: 1
 # Cop supports --auto-correct.
@@ -209,7 +297,7 @@ Migration/DepartmentName:
   Exclude:
     - 'app/models/commit.rb'
 
-# Offense count: 181
+# Offense count: 184
 # Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, Regex, IgnoreExecutableScripts, AllowedAcronyms.
 # AllowedAcronyms: 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
 Naming/FileName:
@@ -226,7 +314,7 @@ Naming/HeredocDelimiterCase:
     - 'spec/support/helpers/repo_helpers.rb'
     - 'spec/support/helpers/seed_repo.rb'
 
-# Offense count: 303
+# Offense count: 308
 # Configuration parameters: ForbiddenDelimiters.
 # ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
 Naming/HeredocDelimiterNaming:
@@ -240,7 +328,7 @@ Naming/MethodParameterName:
     - 'lib/gitlab/diff/inline_diff.rb'
     - 'spec/support/helpers/key_generator_helper.rb'
 
-# Offense count: 203
+# Offense count: 206
 # Cop supports --auto-correct.
 # Configuration parameters: PreferredName.
 Naming/RescuedExceptionsVariableName:
@@ -252,11 +340,21 @@ Performance/AncestorsInclude:
   Exclude:
     - 'lib/gitlab/ci/config/extendable/entry.rb'
 
+# Offense count: 39
+# Cop supports --auto-correct.
+Performance/BlockGivenWithExplicitBlock:
+  Enabled: false
+
 # Offense count: 28
 # Configuration parameters: MinSize.
 Performance/CollectionLiteralInLoop:
   Enabled: false
 
+# Offense count: 37
+# Cop supports --auto-correct.
+Performance/ConstantRegexp:
+  Enabled: false
+
 # Offense count: 18
 # Cop supports --auto-correct.
 Performance/Count:
@@ -311,6 +409,10 @@ Performance/Detect:
     - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
     - 'spec/models/event_spec.rb'
 
+# Offense count: 116
+Performance/MethodObjectAsBlock:
+  Enabled: false
+
 # Offense count: 18
 # Cop supports --auto-correct.
 # Configuration parameters: AutoCorrect.
@@ -331,19 +433,27 @@ Performance/StringInclude:
     - 'spec/spec_helper.rb'
     - 'spec/support_specs/helpers/active_record/query_recorder_spec.rb'
 
-# Offense count: 9
+# Offense count: 18
 # Cop supports --auto-correct.
 Performance/Sum:
   Exclude:
+    - 'app/controllers/projects/pipelines/tests_controller.rb'
     - 'app/models/application_setting_implementation.rb'
     - 'app/models/ci/pipeline.rb'
+    - 'app/services/issues/export_csv_service.rb'
     - 'ee/spec/lib/gitlab/elastic/bulk_indexer_spec.rb'
+    - 'lib/api/entities/issuable_time_stats.rb'
+    - 'lib/container_registry/tag.rb'
     - 'lib/declarative_policy/rule.rb'
     - 'lib/declarative_policy/runner.rb'
+    - 'lib/gitlab/ci/reports/test_suite_comparer.rb'
+    - 'lib/gitlab/diff/file.rb'
     - 'lib/gitlab/sherlock/transaction.rb'
     - 'lib/gitlab/usage_data.rb'
+    - 'lib/peek/views/detailed_view.rb'
+    - 'spec/models/namespace/root_storage_statistics_spec.rb'
 
-# Offense count: 14469
+# Offense count: 14717
 # Configuration parameters: Prefixes.
 # Prefixes: when, with, without
 RSpec/ContextWording:
@@ -356,23 +466,23 @@ RSpec/EmptyExampleGroup:
     - 'ee/spec/services/personal_access_tokens/revoke_invalid_tokens_spec.rb'
     - 'spec/services/projects/prometheus/alerts/notify_service_spec.rb'
 
-# Offense count: 1355
+# Offense count: 1365
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: method_call, block
 RSpec/ExpectChange:
   Enabled: false
 
-# Offense count: 903
+# Offense count: 889
 RSpec/ExpectInHook:
   Enabled: false
 
-# Offense count: 16472
+# Offense count: 16403
 # Configuration parameters: AllowSubject.
 RSpec/MultipleMemoizedHelpers:
   Max: 40
 
-# Offense count: 2344
+# Offense count: 2352
 # Cop supports --auto-correct.
 # Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
 # SupportedStyles: inflected, explicit
@@ -394,7 +504,7 @@ RSpec/RepeatedExampleGroupDescription:
 RSpec/ReturnFromStub:
   Enabled: false
 
-# Offense count: 587
+# Offense count: 596
 # Cop supports --auto-correct.
 RSpec/ScatteredLet:
   Enabled: false
@@ -453,7 +563,7 @@ Rails/BelongsTo:
     - 'app/models/deployment.rb'
     - 'app/models/environment.rb'
 
-# Offense count: 88
+# Offense count: 90
 # Configuration parameters: Database, Include.
 # SupportedDatabases: mysql, postgresql
 # Include: db/migrate/*.rb
@@ -465,13 +575,13 @@ Rails/BulkChangeTable:
 Rails/ContentTag:
   Enabled: false
 
-# Offense count: 292
+# Offense count: 300
 # Configuration parameters: Include.
 # Include: db/migrate/*.rb
 Rails/CreateTableWithTimestamps:
   Enabled: false
 
-# Offense count: 343
+# Offense count: 347
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: slashes, arguments
 Rails/FilePath:
@@ -493,13 +603,13 @@ Rails/FindById:
     - 'spec/finders/concerns/finder_methods_spec.rb'
     - 'spec/finders/concerns/finder_with_cross_project_access_spec.rb'
 
-# Offense count: 343
+# Offense count: 346
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
 Rails/HasManyOrHasOneDependent:
   Enabled: false
 
-# Offense count: 538
+# Offense count: 539
 # Configuration parameters: Include.
 # Include: app/helpers/**/*.rb
 Rails/HelperInstanceVariable:
@@ -561,17 +671,17 @@ Rails/MailerName:
   Exclude:
     - 'app/mailers/notify.rb'
 
-# Offense count: 49
+# Offense count: 51
 # Cop supports --auto-correct.
 Rails/NegateInclude:
   Enabled: false
 
-# Offense count: 42
+# Offense count: 44
 # Cop supports --auto-correct.
 Rails/Pick:
   Enabled: false
 
-# Offense count: 119
+# Offense count: 110
 # Cop supports --auto-correct.
 Rails/Pluck:
   Enabled: false
@@ -583,7 +693,7 @@ Rails/Pluck:
 Rails/RakeEnvironment:
   Enabled: false
 
-# Offense count: 56
+# Offense count: 58
 # Cop supports --auto-correct.
 Rails/RedundantForeignKey:
   Enabled: false
@@ -603,18 +713,23 @@ Rails/ShortI18n:
     - 'app/uploaders/content_type_whitelist.rb'
     - 'spec/views/shared/runners/show.html.haml_spec.rb'
 
-# Offense count: 1064
+# Offense count: 1080
 # Configuration parameters: ForbiddenMethods, AllowedMethods.
 # ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all
 Rails/SkipsModelValidations:
   Enabled: false
 
-# Offense count: 245
+# Offense count: 251
 # Cop supports --auto-correct.
 Rails/SquishedSQLHeredocs:
   Enabled: false
 
-# Offense count: 38
+# Offense count: 45
+# Cop supports --auto-correct.
+Rails/WhereEquals:
+  Enabled: false
+
+# Offense count: 40
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: exists, where
@@ -636,20 +751,19 @@ Security/YAMLLoad:
     - 'spec/initializers/secret_token_spec.rb'
     - 'spec/lib/gitlab/prometheus/additional_metrics_parser_spec.rb'
 
-# Offense count: 247
+# Offense count: 240
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: separated, grouped
 Style/AccessorGrouping:
   Enabled: false
 
-# Offense count: 13
+# Offense count: 12
 # Cop supports --auto-correct.
 Style/ArrayCoercion:
   Exclude:
     - 'app/controllers/admin/ci/variables_controller.rb'
     - 'app/controllers/groups/variables_controller.rb'
-    - 'app/controllers/import/bulk_imports_controller.rb'
     - 'app/controllers/projects/variables_controller.rb'
     - 'db/migrate/20190620105427_change_null_private_profile_to_false.rb'
     - 'db/post_migrate/20190812070645_migrate_private_profile_nulls.rb'
@@ -661,7 +775,7 @@ Style/ArrayCoercion:
     - 'ee/lib/ee/banzai/pipeline/gfm_pipeline.rb'
     - 'spec/support/helpers/lfs_http_helpers.rb'
 
-# Offense count: 184
+# Offense count: 183
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: percent_q, bare_percent
@@ -680,6 +794,22 @@ Style/BisectedAttrAccessor:
 Style/CaseLikeIf:
   Enabled: false
 
+# Offense count: 15
+Style/CombinableLoops:
+  Exclude:
+    - 'app/models/application_setting.rb'
+    - 'ee/db/fixtures/development/30_customizable_cycle_analytics.rb'
+    - 'ee/lib/gitlab/audit/events/preloader.rb'
+    - 'ee/spec/finders/snippets_finder_spec.rb'
+    - 'ee/spec/lib/ee/gitlab/background_migration/remove_duplicate_cs_findings_spec.rb'
+    - 'rubocop/code_reuse_helpers.rb'
+    - 'spec/features/merge_request/user_suggests_changes_on_diff_spec.rb'
+    - 'spec/finders/packages/group_packages_finder_spec.rb'
+    - 'spec/migrations/cleanup_optimistic_locking_nulls_pt2_fixed_spec.rb'
+    - 'spec/migrations/cleanup_optimistic_locking_nulls_spec.rb'
+    - 'spec/requests/api/members_spec.rb'
+    - 'spec/support/shared_examples/features/protected_branches_access_control_ce_shared_examples.rb'
+
 # Offense count: 1
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
@@ -698,14 +828,14 @@ Style/EachWithObject:
     - 'lib/gitlab/i18n/po_linter.rb'
     - 'lib/gitlab/import_export/members_mapper.rb'
 
-# Offense count: 54
+# Offense count: 53
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: empty, nil, both
 Style/EmptyElse:
   Enabled: false
 
-# Offense count: 198
+# Offense count: 197
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: compact, expanded
@@ -719,62 +849,67 @@ Style/ExpandPathArguments:
     - 'cable/config.ru'
     - 'config.ru'
 
-# Offense count: 114
+# Offense count: 116
 # Cop supports --auto-correct.
 Style/ExplicitBlockArgument:
   Enabled: false
 
-# Offense count: 542
+# Offense count: 555
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: format, sprintf, percent
 Style/FormatString:
   Enabled: false
 
-# Offense count: 59
+# Offense count: 61
 # Cop supports --auto-correct.
 Style/GlobalStdStream:
   Enabled: false
 
-# Offense count: 857
+# Offense count: 879
 # Configuration parameters: MinBodyLength.
 Style/GuardClause:
   Enabled: false
 
-# Offense count: 92
+# Offense count: 56
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: braces, no_braces
 Style/HashAsLastArrayItem:
   Enabled: false
 
-# Offense count: 60
+# Offense count: 66
 # Cop supports --auto-correct.
 Style/HashEachMethods:
   Enabled: false
 
-# Offense count: 34
+# Offense count: 33
 # Configuration parameters: AllowIfModifier.
 Style/IfInsideElse:
   Enabled: false
 
-# Offense count: 1856
+# Offense count: 1888
 # Cop supports --auto-correct.
 Style/IfUnlessModifier:
   Enabled: false
 
-# Offense count: 439
+# Offense count: 68
+# Cop supports --auto-correct.
+Style/KeywordParametersOrder:
+  Enabled: false
+
+# Offense count: 431
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: line_count_dependent, lambda, literal
 Style/Lambda:
   Enabled: false
 
-# Offense count: 18
+# Offense count: 20
 Style/MissingRespondToMissing:
   Enabled: false
 
-# Offense count: 36
+# Offense count: 35
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle, MinBodyLength.
 # SupportedStyles: skip_modifier_ifs, always
@@ -788,25 +923,25 @@ Style/Next:
 Style/NumericLiteralPrefix:
   Enabled: false
 
-# Offense count: 136
+# Offense count: 135
 # Cop supports --auto-correct.
 Style/ParallelAssignment:
   Enabled: false
 
-# Offense count: 2557
+# Offense count: 2601
 # Cop supports --auto-correct.
 # Configuration parameters: PreferredDelimiters.
 Style/PercentLiteralDelimiters:
   Enabled: false
 
-# Offense count: 251
+# Offense count: 1
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: compact, exploded
 Style/RaiseArgs:
   Enabled: false
 
-# Offense count: 68
+# Offense count: 65
 # Cop supports --auto-correct.
 Style/RedundantAssignment:
   Enabled: false
@@ -828,24 +963,23 @@ Style/RedundantFetchBlock:
 Style/RedundantFileExtensionInRequire:
   Enabled: false
 
-# Offense count: 272
+# Offense count: 220
 # Cop supports --auto-correct.
 Style/RedundantFreeze:
   Enabled: false
 
-# Offense count: 179
+# Offense count: 182
 # Cop supports --auto-correct.
 Style/RedundantInterpolation:
   Enabled: false
 
-# Offense count: 9
+# Offense count: 8
 # Cop supports --auto-correct.
 Style/RedundantRegexpCharacterClass:
   Exclude:
     - 'app/models/concerns/taskable.rb'
     - 'lib/gitlab/authorized_keys.rb'
     - 'lib/gitlab/fogbugz_import/repository.rb'
-    - 'lib/gitlab/prometheus/internal.rb'
     - 'lib/gitlab/quick_actions/substitution_definition.rb'
     - 'lib/gitlab/regex.rb'
     - 'spec/features/merge_request/user_views_open_merge_request_spec.rb'
@@ -856,62 +990,75 @@ Style/RedundantRegexpCharacterClass:
 Style/RedundantRegexpEscape:
   Enabled: false
 
-# Offense count: 914
+# Offense count: 920
 # Cop supports --auto-correct.
 Style/RedundantSelf:
   Enabled: false
 
-# Offense count: 190
+# Offense count: 2
+# Cop supports --auto-correct.
+Style/RedundantSelfAssignment:
+  Exclude:
+    - 'app/models/concerns/issuable.rb'
+    - 'spec/db/schema_spec.rb'
+
+# Offense count: 196
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
 # SupportedStyles: slashes, percent_r, mixed
 Style/RegexpLiteral:
   Enabled: false
 
-# Offense count: 49
+# Offense count: 50
 # Cop supports --auto-correct.
 Style/RescueModifier:
   Enabled: false
 
-# Offense count: 338
+# Offense count: 346
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: implicit, explicit
 Style/RescueStandardError:
   Enabled: false
 
-# Offense count: 110
+# Offense count: 115
 # Cop supports --auto-correct.
 Style/SingleArgumentDig:
   Enabled: false
 
-# Offense count: 46
+# Offense count: 45
 # Cop supports --auto-correct.
 Style/SlicingWithRange:
   Enabled: false
 
-# Offense count: 120
+# Offense count: 61
+# Configuration parameters: AllowModifier.
+Style/SoleNestedConditional:
+  Enabled: false
+
+# Offense count: 121
 # Cop supports --auto-correct.
 # Configuration parameters: .
 # SupportedStyles: use_perl_names, use_english_names
 Style/SpecialGlobalVars:
   EnforcedStyle: use_perl_names
 
-# Offense count: 532
+# Offense count: 545
 # Cop supports --auto-correct.
 Style/StringConcatenation:
   Enabled: false
 
-# Offense count: 104
+# Offense count: 108
 # Cop supports --auto-correct.
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: single_quotes, double_quotes
 Style/StringLiteralsInInterpolation:
   Enabled: false
 
-# Offense count: 296
+# Offense count: 292
 # Cop supports --auto-correct.
 # Configuration parameters: IgnoredMethods.
 # IgnoredMethods: respond_to, define_method
 Style/SymbolProc:
   Enabled: false
+
diff --git a/Gemfile b/Gemfile
index 37964d454fab1f28baaaed79aae3815cbf9dba04..61e1505347ae1d81ed9cd325a2044450c65f4ab1 100644
--- a/Gemfile
+++ b/Gemfile
@@ -372,7 +372,7 @@ group :development, :test do
   gem 'spring', '~> 2.1.0'
   gem 'spring-commands-rspec', '~> 1.0.4'
 
-  gem 'gitlab-styles', '~> 5.4.0', require: false
+  gem 'gitlab-styles', '~> 6.0.0', require: false
 
   gem 'scss_lint', '~> 0.59.0', require: false
   gem 'haml_lint', '~> 0.36.0', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index 47538b82386c90da74d3070bf9dc65fd6dcd0d36..647d7549e7bacc15a527c22e14a763fa0457e3c3 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -449,11 +449,11 @@ GEM
     gitlab-pg_query (1.3.1)
     gitlab-sidekiq-fetcher (0.5.2)
       sidekiq (~> 5)
-    gitlab-styles (5.4.0)
-      rubocop (~> 0.89.1)
-      rubocop-gitlab-security (~> 0.1.0)
-      rubocop-performance (~> 1.8.1)
-      rubocop-rails (~> 2.8)
+    gitlab-styles (6.0.0)
+      rubocop (~> 0.91.1)
+      rubocop-gitlab-security (~> 0.1.1)
+      rubocop-performance (~> 1.9.2)
+      rubocop-rails (~> 2.9)
       rubocop-rspec (~> 1.44)
     gitlab_chronic_duration (0.10.6.2)
       numerizer (~> 0.2)
@@ -593,7 +593,7 @@ GEM
       mime-types (~> 3.0)
       multi_xml (>= 0.5.2)
     httpclient (2.8.3)
-    i18n (1.8.5)
+    i18n (1.8.7)
       concurrent-ruby (~> 1.0)
     i18n_data (0.8.0)
     icalendar (2.4.1)
@@ -838,8 +838,8 @@ GEM
       rubypants (~> 0.2)
     orm_adapter (0.5.0)
     os (1.1.1)
-    parallel (1.19.2)
-    parser (2.7.2.0)
+    parallel (1.20.1)
+    parser (3.0.0.0)
       ast (~> 2.4.1)
     parslet (1.8.2)
     peek (1.1.0)
@@ -1030,26 +1030,26 @@ GEM
       pg
       rails
       sqlite3
-    rubocop (0.89.1)
+    rubocop (0.91.1)
       parallel (~> 1.10)
       parser (>= 2.7.1.1)
       rainbow (>= 2.2.2, < 4.0)
       regexp_parser (>= 1.7)
       rexml
-      rubocop-ast (>= 0.3.0, < 1.0)
+      rubocop-ast (>= 0.4.0, < 1.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 2.0)
     rubocop-ast (0.8.0)
       parser (>= 2.7.1.5)
     rubocop-gitlab-security (0.1.1)
       rubocop (>= 0.51)
-    rubocop-performance (1.8.1)
-      rubocop (>= 0.87.0)
+    rubocop-performance (1.9.2)
+      rubocop (>= 0.90.0, < 2.0)
       rubocop-ast (>= 0.4.0)
-    rubocop-rails (2.8.1)
+    rubocop-rails (2.9.1)
       activesupport (>= 4.2.0)
       rack (>= 1.1)
-      rubocop (>= 0.87.0)
+      rubocop (>= 0.90.0, < 2.0)
     rubocop-rspec (1.44.1)
       rubocop (~> 0.87)
       rubocop-ast (>= 0.7.1)
@@ -1058,7 +1058,7 @@ GEM
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
     ruby-prof (1.3.1)
-    ruby-progressbar (1.10.1)
+    ruby-progressbar (1.11.0)
     ruby-saml (1.7.2)
       nokogiri (>= 1.5.10)
     ruby-statistics (2.1.2)
@@ -1366,7 +1366,7 @@ DEPENDENCIES
   gitlab-markup (~> 1.7.1)
   gitlab-net-dns (~> 0.9.1)
   gitlab-sidekiq-fetcher (= 0.5.2)
-  gitlab-styles (~> 5.4.0)
+  gitlab-styles (~> 6.0.0)
   gitlab_chronic_duration (~> 0.10.6.2)
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.2)
diff --git a/app/finders/autocomplete/group_finder.rb b/app/finders/autocomplete/group_finder.rb
index dd97ac4c81784addb8b9054535e47c14c935bf37..90fa48c2dc9e007b4be7218ee7341cda8bebdbdf 100644
--- a/app/finders/autocomplete/group_finder.rb
+++ b/app/finders/autocomplete/group_finder.rb
@@ -27,8 +27,7 @@ def execute
       # This removes the need for using `return render_404` and similar patterns
       # in controllers that use this finder.
       unless Ability.allowed?(current_user, :read_group, group)
-        raise ActiveRecord::RecordNotFound
-          .new("Could not find a Group with ID #{group_id}")
+        raise ActiveRecord::RecordNotFound, "Could not find a Group with ID #{group_id}"
       end
 
       group
diff --git a/app/finders/autocomplete/project_finder.rb b/app/finders/autocomplete/project_finder.rb
index 3a4696f4c2ef93941d8e7ed32d8b83d704baf163..6e51ae4c70dbfd8ae5c3b7c7e2e701576755a776 100644
--- a/app/finders/autocomplete/project_finder.rb
+++ b/app/finders/autocomplete/project_finder.rb
@@ -25,8 +25,7 @@ def execute
       # This removes the need for using `return render_404` and similar patterns
       # in controllers that use this finder.
       unless Ability.allowed?(current_user, :read_project, project)
-        raise ActiveRecord::RecordNotFound
-          .new("Could not find a Project with ID #{project_id}")
+        raise ActiveRecord::RecordNotFound, "Could not find a Project with ID #{project_id}"
       end
 
       project
diff --git a/app/finders/concerns/finder_methods.rb b/app/finders/concerns/finder_methods.rb
index 622cbcf4928ff142ea4ec2bf1f798c978e20139b..193b52b16942c66a4119975cfedf5e1121ae4545 100644
--- a/app/finders/concerns/finder_methods.rb
+++ b/app/finders/concerns/finder_methods.rb
@@ -22,7 +22,7 @@ def find(*args)
   def raise_not_found_unless_authorized(result)
     result = if_authorized(result)
 
-    raise ActiveRecord::RecordNotFound.new("Couldn't find #{model}") unless result
+    raise(ActiveRecord::RecordNotFound, "Couldn't find #{model}") unless result
 
     result
   end
diff --git a/app/models/concerns/bulk_insert_safe.rb b/app/models/concerns/bulk_insert_safe.rb
index f9eb3fb875e686c9a6011a8e026b7b5a923ac019..3748e77e93386cbd6ef09ad0620b6ad3af52a201 100644
--- a/app/models/concerns/bulk_insert_safe.rb
+++ b/app/models/concerns/bulk_insert_safe.rb
@@ -53,9 +53,9 @@ module BulkInsertSafe
   class_methods do
     def set_callback(name, *args)
       unless _bulk_insert_callback_allowed?(name, args)
-        raise MethodNotAllowedError.new(
+        raise MethodNotAllowedError,
           "Not allowed to call `set_callback(#{name}, #{args})` when model extends `BulkInsertSafe`." \
-            "Callbacks that fire per each record being inserted do not work with bulk-inserts.")
+            "Callbacks that fire per each record being inserted do not work with bulk-inserts."
       end
 
       super
diff --git a/rubocop/cop/rspec/expect_gitlab_tracking.rb b/rubocop/cop/rspec/expect_gitlab_tracking.rb
index ba65855870555f5861325fbb1fa8f111bff10338..e3f790f851c90b7275529e246910367f74cb2f79 100644
--- a/rubocop/cop/rspec/expect_gitlab_tracking.rb
+++ b/rubocop/cop/rspec/expect_gitlab_tracking.rb
@@ -53,8 +53,6 @@ class ExpectGitlabTracking < RuboCop::Cop::Cop
           )
         PATTERN
 
-        RESTRICT_ON_SEND = [:expect, :allow].freeze
-
         def on_send(node)
           return unless expect_gitlab_tracking?(node)