Commit 8c5bdc6e authored by Bob Van Landuyt's avatar Bob Van Landuyt 💬
Browse files

Merge branch 'enable-rubocop' into 'master'

Enable RuboCop in CI

See merge request gitlab-org/labkit-ruby!64
parents 103c84d8 22f56b10
Loading
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -26,6 +26,15 @@ test:2.5:
  image: ruby:2.5
  <<: *test_definition

static-analysis:
  # RuboCop 0.65.0 supports Ruby 2.6 at maximum
  image: ruby:2.6
  before_script:
    - bundle install
    - echo '2.6.6' > .ruby-version
  script:
    - rake verify

deploy:
  stage: deploy
  script:
+3 −1
Original line number Diff line number Diff line
inherit_from: .rubocop_todo.yml

AllCops:
  TargetRubyVersion: 2.4

@@ -28,7 +30,7 @@ Style/StringLiterals:
Style/StringLiteralsInInterpolation:
  EnforcedStyle: double_quotes

Style/UseLambda:
Style/Lambda:
  Enabled: false

Layout/MultilineMethodCallIndentation:

.rubocop_todo.yml

0 → 100644
+204 −0
Original line number Diff line number Diff line
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2021-04-13 00:00:00 +0000 using RuboCop version 0.65.0.
# 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
# versions of RuboCop, may require this file to be generated again.

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
# SupportedHashRocketStyles: key, separator, table
# SupportedColonStyles: key, separator, table
# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
Layout/AlignHash:
  Exclude:
    - 'spec/labkit/context_spec.rb'

# Offense count: 4
Lint/HandleExceptions:
  Exclude:
    - 'spec/labkit/excon_publisher_spec.rb'
    - 'spec/labkit/httpclient_publisher_spec.rb'
    - 'spec/labkit/net_http_publisher_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
Lint/UnneededCopDisableDirective:
  Exclude:
    - 'spec/labkit/tracing/rails/action_view_spec.rb'

# Offense count: 8
# Cop supports --auto-correct.
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
Lint/UnusedMethodArgument:
  Exclude:
    - 'lib/labkit/logging/grpc/server_interceptor.rb'
    - 'lib/labkit/tracing/rails/active_support/cache_delete_instrumenter.rb'
    - 'lib/labkit/tracing/rails/active_support/cache_fetch_hit_instrumenter.rb'
    - 'lib/labkit/tracing/rails/active_support/cache_generate_instrumenter.rb'
    - 'lib/labkit/tracing/rails/active_support/cache_read_instrumenter.rb'
    - 'lib/labkit/tracing/rails/active_support/cache_write_instrumenter.rb'

# Offense count: 3
# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
# AllowedNames: io, id, to, by, on, in, at, ip, db
Naming/UncommunicativeMethodParamName:
  Exclude:
    - 'spec/support/grpc_service/test_service_impl.rb'

# Offense count: 6
# Cop supports --auto-correct.
RSpec/BeEql:
  Exclude:
    - 'spec/labkit/excon_publisher_spec.rb'
    - 'spec/labkit/httpclient_publisher_spec.rb'
    - 'spec/labkit/net_http_publisher_spec.rb'

# Offense count: 1
# Configuration parameters: Prefixes.
# Prefixes: when, with, without
RSpec/ContextWording:
  Exclude:
    - 'spec/labkit/middleware/sidekiq/server_spec.rb'

# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: SkipBlocks, EnforcedStyle.
# SupportedStyles: described_class, explicit
RSpec/DescribedClass:
  Exclude:
    - 'spec/labkit/tracing_spec.rb'

# Offense count: 2
# Configuration parameters: CustomTransform, IgnoreMethods.
RSpec/FilePath:
  Exclude:
    - 'spec/labkit/httpclient_publisher_spec.rb'
    - 'spec/logging/sanitizer_spec.rb'

# Offense count: 2
# Cop supports --auto-correct.
RSpec/LetBeforeExamples:
  Exclude:
    - 'spec/labkit/tracing_spec.rb'

# Offense count: 15
RSpec/ScatteredLet:
  Exclude:
    - 'spec/labkit/excon_publisher_spec.rb'
    - 'spec/labkit/httpclient_publisher_spec.rb'
    - 'spec/labkit/net_http_publisher_spec.rb'

# Offense count: 1
# Configuration parameters: AllowedChars.
Style/AsciiComments:
  Exclude:
    - 'spec/support/grpc_service/test_service_impl.rb'

# Offense count: 5
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: braces, no_braces, context_dependent
Style/BracesAroundHashParameters:
  Exclude:
    - 'spec/labkit/net_http_publisher_spec.rb'
    - 'spec/labkit/tracing/rails/action_view_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, AllowInnerBackticks.
# SupportedStyles: backticks, percent_x, mixed
Style/CommandLiteral:
  Exclude:
    - 'tools/update-changelog.rb'

# Offense count: 5
Style/Documentation:
  Exclude:
    - 'spec/**/*'
    - 'test/**/*'
    - 'lib/labkit/logging/grpc.rb'
    - 'lib/labkit/logging/grpc/server_interceptor.rb'
    - 'lib/labkit/tracing/rails/action_view.rb'
    - 'lib/labkit/tracing/rails/active_record.rb'
    - 'lib/labkit/tracing/rails/active_support.rb'

# Offense count: 8
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: when_needed, always, never
Style/FrozenStringLiteralComment:
  Exclude:
    - 'spec/labkit/tracing/rails/active_record/sql_instrumenter_spec.rb'
    - 'spec/labkit/tracing/rails/active_support/cache_delete_instrumenter_spec.rb'
    - 'spec/labkit/tracing/rails/active_support/cache_fetch_hit_instrumenter_spec.rb'
    - 'spec/labkit/tracing/rails/active_support/cache_generate_instrumenter_spec.rb'
    - 'spec/labkit/tracing/rails/active_support/cache_read_instrumenter_spec.rb'
    - 'spec/labkit/tracing/rails/active_support/cache_write_instrumenter_spec.rb'
    - 'spec/support/grpc_service/test_pb.rb'
    - 'tools/update-changelog.rb'

# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
Style/HashSyntax:
  Exclude:
    - 'spec/labkit/excon_publisher_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/IfUnlessModifier:
  Exclude:
    - 'tools/update-changelog.rb'

# Offense count: 35
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: line_count_dependent, lambda, literal
Style/Lambda:
  Exclude:
    - 'spec/labkit/excon_publisher_spec.rb'
    - 'spec/labkit/httpclient_publisher_spec.rb'
    - 'spec/labkit/net_http_publisher_spec.rb'

# Offense count: 16
# Cop supports --auto-correct.
# Configuration parameters: PreferredDelimiters.
Style/PercentLiteralDelimiters:
  Exclude:
    - 'spec/labkit/tracing/redis/redis_interceptor_helper_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: implicit, explicit
Style/RescueStandardError:
  Exclude:
    - 'lib/labkit/excon_publisher.rb'

# Offense count: 28
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
Style/TrailingCommaInArrayLiteral:
  Exclude:
    - 'spec/labkit/excon_publisher_spec.rb'
    - 'spec/labkit/httpclient_publisher_spec.rb'
    - 'spec/labkit/net_http_publisher_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/UnneededPercentQ:
  Exclude:
    - 'spec/logging/sanitizer_spec.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: WordRegex.
# SupportedStyles: percent, brackets
Style/WordArray:
  EnforcedStyle: percent
  MinSize: 3
+3 −1
Original line number Diff line number Diff line
@@ -9,7 +9,9 @@ begin
end

require "rubocop/rake_task"
RuboCop::RakeTask.new
RuboCop::RakeTask.new(:rubocop) do |task|
  task.options = %w[--parallel]
end

desc "Alias for `rake rufo:run`"
task :format => ["rufo:run"]