diff --git a/grpc.gemspec b/grpc.gemspec index dbb0c024e12..bd46521e276 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -36,12 +36,12 @@ Gem::Specification.new do |s| s.add_development_dependency 'bundler', '>= 1.9' s.add_development_dependency 'facter', '~> 2.4' s.add_development_dependency 'logging', '~> 2.0' - s.add_development_dependency 'simplecov', '~> 0.14.1' + s.add_development_dependency 'simplecov', '~> 0.22' s.add_development_dependency 'rake', '~> 13.0' s.add_development_dependency 'rake-compiler', '<= 1.1.1' s.add_development_dependency 'rake-compiler-dock', '~> 1.2' s.add_development_dependency 'rspec', '~> 3.6' - s.add_development_dependency 'rubocop', '~> 0.49.1' + s.add_development_dependency 'rubocop', '~> 1.41.0' s.add_development_dependency 'signet', '~> 0.7' s.add_development_dependency 'googleauth', '>= 0.5.1', '< 0.10' diff --git a/src/ruby/.rubocop_todo.yml b/src/ruby/.rubocop_todo.yml index e2b5d92146b..347e94e87f8 100644 --- a/src/ruby/.rubocop_todo.yml +++ b/src/ruby/.rubocop_todo.yml @@ -1,127 +1,171 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2017-09-04 17:00:36 +0200 using RuboCop version 0.49.1. +# on 2022-12-30 04:58:05 UTC using RuboCop version 1.41.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 # versions of RuboCop, may require this file to be generated again. +# Offense count: 1 +# Configuration parameters: Severity, Include. +# Include: **/*.gemspec +Gemspec/RequiredRubyVersion: + Exclude: + - 'tools/grpc-tools.gemspec' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: with_first_argument, with_fixed_indentation +Layout/ArgumentAlignment: + Exclude: + - 'qps/proxy-worker.rb' + # Offense count: 3 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, IndentOneStep, IndentationWidth. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth. # SupportedStyles: case, end Layout/CaseIndentation: Exclude: - 'tools/platform_check.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment. Layout/CommentIndentation: Exclude: - 'qps/client.rb' +# Offense count: 88 +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLineAfterGuardClause: + Enabled: false + # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Layout/EmptyLineAfterMagicComment: Exclude: - 'tools/grpc-tools.gemspec' -# Offense count: 33 -# Cop supports --auto-correct. -# Configuration parameters: AllowAdjacentOneLineDefs, NumberOfEmptyLines. +# Offense count: 41 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, AllowAdjacentOneLineDefs, NumberOfEmptyLines. Layout/EmptyLineBetweenDefs: Exclude: + - 'pb/src/proto/grpc/testing/test_services_pb.rb' - 'qps/client.rb' - 'qps/histogram.rb' - 'qps/proxy-worker.rb' + - 'qps/qps-common.rb' - 'qps/server.rb' - 'qps/worker.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Layout/EmptyLines: Exclude: - 'qps/qps-common.rb' -# Offense count: 8 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowAliasSyntax, AllowedMethods. +# AllowedMethods: alias_method, public, protected, private +Layout/EmptyLinesAroundAttributeAccessor: + Exclude: + - 'lib/grpc/generic/active_call.rb' + +# Offense count: 12 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only Layout/EmptyLinesAroundClassBody: Exclude: - 'pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb' - 'pb/grpc/testing/metrics_services_pb.rb' - 'pb/src/proto/grpc/testing/test_services_pb.rb' + - 'qps/src/proto/grpc/testing/benchmark_service_services_pb.rb' - 'qps/src/proto/grpc/testing/proxy-service_services_pb.rb' - - 'qps/src/proto/grpc/testing/services_services_pb.rb' + - 'qps/src/proto/grpc/testing/report_qps_scenario_service_services_pb.rb' + - 'qps/src/proto/grpc/testing/worker_service_services_pb.rb' -# Offense count: 28 -# Cop supports --auto-correct. -# Configuration parameters: AllowForAlignment, ForceEqualSignAlignment. +# Offense count: 23 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. Layout/ExtraSpacing: - Enabled: false - -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -# SupportedStyles: normal, rails -Layout/IndentationConsistency: Exclude: + - 'bin/math_client.rb' + - 'bin/math_server.rb' + - 'lib/grpc/generic/active_call.rb' + - 'lib/grpc/generic/bidi_call.rb' + - 'lib/grpc/generic/rpc_desc.rb' + - 'lib/grpc/generic/rpc_server.rb' + - 'lib/grpc/generic/service.rb' - 'pb/grpc/health/checker.rb' + - 'spec/call_spec.rb' + - 'spec/channel_credentials_spec.rb' + - 'spec/client_server_spec.rb' + - 'spec/generic/active_call_spec.rb' + - 'spec/generic/client_stub_spec.rb' + - 'spec/generic/rpc_server_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: Width, IgnoredPatterns. -Layout/IndentationWidth: +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: IndentationWidth, EnforcedStyle. +# SupportedStyles: spaces, tabs +Layout/IndentationStyle: Exclude: - - 'pb/grpc/health/checker.rb' + - 'qps/client.rb' # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. # SupportedStyles: symmetrical, new_line, same_line Layout/MultilineHashBraceLayout: Exclude: - 'spec/generic/active_call_spec.rb' -# Offense count: 70 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# Offense count: 121 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. # SupportedStyles: symmetrical, new_line, same_line Layout/MultilineMethodCallBraceLayout: Enabled: false # Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented, indented_relative_to_receiver Layout/MultilineMethodCallIndentation: Exclude: - 'spec/generic/rpc_desc_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. # SupportedStyles: symmetrical, new_line, same_line Layout/MultilineMethodDefinitionBraceLayout: Exclude: - 'spec/generic/client_stub_spec.rb' -# Offense count: 5 -# Cop supports --auto-correct. -Layout/SpaceAfterColon: +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: aligned, indented +Layout/MultilineOperationIndentation: Exclude: - - 'lib/grpc/generic/rpc_server.rb' + - 'qps/proxy-worker.rb' -# Offense count: 7 -# Cop supports --auto-correct. +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). Layout/SpaceAfterComma: Exclude: - 'qps/client.rb' + - 'qps/histogram.rb' -# Offense count: 27 -# Cop supports --auto-correct. -# Configuration parameters: AllowForAlignment. +# Offense count: 30 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator. +# SupportedStylesForExponentOperator: space, no_space Layout/SpaceAroundOperators: Exclude: - 'qps/client.rb' @@ -129,27 +173,38 @@ Layout/SpaceAroundOperators: - 'qps/proxy-worker.rb' - 'qps/server.rb' - 'spec/generic/active_call_spec.rb' - - 'spec/generic/rpc_server_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces, SpaceBeforeBlockParameters. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. # SupportedStyles: space, no_space # SupportedStylesForEmptyBraces: space, no_space -Layout/SpaceInsideBlockBraces: +Layout/SpaceBeforeBlockBraces: Exclude: - - 'stress/stress_client.rb' + - 'qps/histogram.rb' # Offense count: 4 -# Cop supports --auto-correct. -Layout/SpaceInsideBrackets: +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBrackets: space, no_space +Layout/SpaceInsideArrayLiteralBrackets: Exclude: - 'tools/bin/grpc_tools_ruby_protoc' - 'tools/bin/grpc_tools_ruby_protoc_plugin' +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideBlockBraces: + Exclude: + - 'stress/stress_client.rb' + # Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. # SupportedStyles: space, no_space, compact # SupportedStylesForEmptyBraces: space, no_space Layout/SpaceInsideHashLiteralBraces: @@ -157,32 +212,83 @@ Layout/SpaceInsideHashLiteralBraces: - 'qps/server.rb' # Offense count: 6 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Layout/SpaceInsidePercentLiteralDelimiters: Exclude: - 'spec/generic/client_stub_spec.rb' - 'tools/grpc-tools.gemspec' -# Offense count: 3 -# Cop supports --auto-correct. -Layout/Tab: - Exclude: - - 'pb/grpc/health/checker.rb' - - 'qps/client.rb' - # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowInHeredoc. Layout/TrailingWhitespace: Exclude: - 'qps/worker.rb' +# Offense count: 34 +# Configuration parameters: AllowedMethods. +# AllowedMethods: enums +Lint/ConstantDefinitionInBlock: + Exclude: + - 'spec/call_credentials_spec.rb' + - 'spec/channel_credentials_spec.rb' + - 'spec/client_auth_spec.rb' + - 'spec/compression_options_spec.rb' + - 'spec/debug_message_spec.rb' + - 'spec/generic/active_call_spec.rb' + - 'spec/generic/client_stub_spec.rb' + - 'spec/generic/rpc_desc_spec.rb' + - 'spec/generic/rpc_server_pool_spec.rb' + - 'spec/generic/rpc_server_spec.rb' + - 'spec/generic/service_spec.rb' + - 'spec/pb/health/checker_spec.rb' + - 'spec/server_credentials_spec.rb' + - 'spec/user_agent_spec.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Lint/DuplicateRequire: + Exclude: + - 'spec/google_rpc_status_utils_spec.rb' + # Offense count: 1 Lint/IneffectiveAccessModifier: Exclude: - 'lib/grpc/generic/active_call.rb' +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Lint/InterpolationCheck: + Exclude: + - 'qps/qps-common.rb' + # Offense count: 4 -# Cop supports --auto-correct. +# Configuration parameters: MaximumRangeSize. +Lint/MissingCopEnableDirective: + Exclude: + - 'end2end/call_credentials_returning_bad_metadata_doesnt_kill_background_thread_test.rb' + - 'end2end/call_credentials_timeout_test.rb' + - 'lib/grpc/generic/client_stub.rb' + +# Offense count: 14 +Lint/MissingSuper: + Exclude: + - 'bin/noproto_server.rb' + - 'end2end/channel_closing_client.rb' + - 'end2end/end2end_common.rb' + - 'end2end/graceful_sig_handling_client.rb' + - 'end2end/graceful_sig_stop_client.rb' + - 'end2end/killed_client_thread_test.rb' + - 'end2end/sig_handling_client.rb' + - 'lib/grpc/generic/service.rb' + - 'pb/grpc/health/checker.rb' + - 'qps/proxy-worker.rb' + - 'qps/worker.rb' + - 'stress/metrics_server.rb' + - 'stress/stress_client.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). Lint/PercentStringArray: Exclude: - 'spec/client_server_spec.rb' @@ -190,6 +296,16 @@ Lint/PercentStringArray: - 'spec/generic/client_stub_spec.rb' # Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +Lint/RedundantRequireStatement: + Exclude: + - 'end2end/end2end_common.rb' + - 'lib/grpc/generic/rpc_server.rb' + - 'qps/histogram.rb' + - 'stress/stress_client.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). Lint/ScriptPermission: Exclude: - 'qps/client.rb' @@ -197,21 +313,30 @@ Lint/ScriptPermission: - 'qps/qps-common.rb' - 'qps/server.rb' +# Offense count: 1 +# Configuration parameters: AllowedPatterns, IgnoredPatterns. +# AllowedPatterns: (?-mix:(exactly|at_least|at_most)\(\d+\)\.times) +Lint/UnreachableLoop: + Exclude: + - 'spec/channel_connection_spec.rb' + # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments. Lint/UnusedBlockArgument: Exclude: - 'qps/client.rb' -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods. +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods. Lint/UnusedMethodArgument: Exclude: + - 'end2end/server_marshalling_graceful_errors_test.rb' - 'qps/client.rb' # Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: ContextCreatingMethods, MethodCreatingMethods. Lint/UselessAccessModifier: Exclude: @@ -222,82 +347,137 @@ Lint/UselessAssignment: Exclude: - 'qps/client.rb' -# Offense count: 4 +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Lint/UselessMethodDefinition: + Exclude: + - 'lib/grpc/generic/service.rb' + +# Offense count: 5 +# Configuration parameters: CheckForMethodsWithNoSideEffects. Lint/Void: Exclude: + - 'spec/generic/rpc_server_spec.rb' - 'stress/metrics_server.rb' - 'stress/stress_client.rb' -# Offense count: 53 +# Offense count: 61 +# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes. Metrics/AbcSize: - Max: 57 + Max: 61 -# Offense count: 81 -# Configuration parameters: CountComments, ExcludedMethods. +# Offense count: 116 +# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods. +# AllowedMethods: refine Metrics/BlockLength: - Max: 715 + Max: 563 -# Offense count: 82 -# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. -# URISchemes: http, https -Metrics/LineLength: - Max: 141 +# Offense count: 2 +# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods. +Metrics/CyclomaticComplexity: + Max: 11 -# Offense count: 82 -# Configuration parameters: CountComments. +# Offense count: 106 +# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods. Metrics/MethodLength: Max: 54 -# Offense count: 5 -# Configuration parameters: CountKeywordArgs. +# Offense count: 6 +# Configuration parameters: CountKeywordArgs, MaxOptionalParameters. Metrics/ParameterLists: Max: 7 -# Offense count: 1 -# Cop supports --auto-correct. -Performance/RedundantBlockCall: +# Offense count: 2 +# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods. +Metrics/PerceivedComplexity: + Max: 10 + +# Offense count: 7 +Naming/AccessorMethodName: Exclude: - - 'spec/generic/client_stub_spec.rb' + - 'qps/server.rb' + - 'stress/metrics_server.rb' + - 'stress/stress_client.rb' -# Offense count: 5 -# Cop supports --auto-correct. -# Configuration parameters: MaxKeyValuePairs. -Performance/RedundantMerge: +# Offense count: 2 +# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms. +# CheckDefinitionPathHierarchyRoots: lib, spec, test, src +# 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: Exclude: - - 'spec/generic/active_call_spec.rb' - - 'spec/generic/client_stub_spec.rb' + - 'qps/src/proto/grpc/testing/proxy-service_pb.rb' + - 'qps/src/proto/grpc/testing/proxy-service_services_pb.rb' -# Offense count: 8 -# Cop supports --auto-correct. -Performance/TimesMap: +# Offense count: 28 +# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. +# AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to +Naming/MethodParameterName: Exclude: + - 'bin/noproto_client.rb' + - 'bin/noproto_server.rb' + - 'end2end/channel_closing_client.rb' + - 'end2end/multiple_killed_watching_threads_test.rb' + - 'lib/grpc/generic/service.rb' + - 'qps/proxy-worker.rb' + - 'qps/qps-common.rb' + - 'qps/worker.rb' - 'spec/channel_spec.rb' - - 'spec/client_server_spec.rb' + - 'spec/generic/active_call_spec.rb' + - 'spec/generic/client_stub_spec.rb' + - 'spec/generic/service_spec.rb' - 'spec/server_spec.rb' + - 'spec/support/services.rb' -# Offense count: 7 -Style/AccessorMethodName: +# Offense count: 1 +# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros. +# NamePrefix: is_, has_, have_ +# ForbiddenPrefixes: is_, has_, have_ +# AllowedMethods: is_a? +# MethodDefinitionMacros: define_method, define_singleton_method +Naming/PredicateName: Exclude: - - 'qps/server.rb' - - 'stress/metrics_server.rb' - - 'stress/stress_client.rb' + - 'spec/**/*' + - 'ext/grpc/extconf.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: PreferredName. +Naming/RescuedExceptionsVariableName: + Exclude: + - 'lib/grpc/errors.rb' + +# Offense count: 5 +# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns. +# SupportedStyles: snake_case, normalcase, non_integer +# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339 +Naming/VariableNumber: + Exclude: + - 'qps/src/proto/grpc/testing/control_pb.rb' # Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. # SupportedStyles: prefer_alias, prefer_alias_method Style/Alias: Exclude: - 'lib/grpc/generic/rpc_server.rb' - 'lib/grpc/notifier.rb' -# Offense count: 7 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, ProceduralMethods, FunctionalMethods, IgnoredMethods. -# SupportedStyles: line_count_based, semantic, braces_for_chaining +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, conditionals +Style/AndOr: + Exclude: + - 'ext/grpc/extconf.rb' + +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, IgnoredMethods, AllowBracesOnProceduralOneLiners, BracesRequiredMethods. +# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object # FunctionalMethods: let, let!, subject, watch -# IgnoredMethods: lambda, proc, it +# AllowedMethods: lambda, proc, it Style/BlockDelimiters: Exclude: - 'qps/client.rb' @@ -305,44 +485,55 @@ Style/BlockDelimiters: - 'qps/server.rb' - 'qps/worker.rb' +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/CaseLikeIf: + Exclude: + - 'lib/grpc/generic/bidi_call.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods. +# AllowedMethods: ==, equal?, eql? +Style/ClassEqualityComparison: + Exclude: + - 'lib/grpc/generic/rpc_server.rb' + # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/ClassMethods: Exclude: - 'tools/platform_check.rb' -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly, IncludeTernaryExpressions. +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions. # SupportedStyles: assign_to_condition, assign_inside_condition Style/ConditionalAssignment: Exclude: + - 'ext/grpc/extconf.rb' - 'lib/grpc/generic/rpc_server.rb' - 'lib/grpc/generic/service.rb' -# Offense count: 19 -Style/Documentation: +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Style/DefWithParentheses: Exclude: - - 'spec/**/*' - - 'test/**/*' - - 'pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb' - - 'pb/grpc/testing/metrics_services_pb.rb' - - 'pb/src/proto/grpc/testing/test_pb.rb' - - 'qps/client.rb' - - 'qps/histogram.rb' - - 'qps/proxy-worker.rb' - - 'qps/server.rb' - - 'qps/src/proto/grpc/testing/proxy-service_services_pb.rb' - - 'qps/src/proto/grpc/testing/services_pb.rb' - - 'qps/src/proto/grpc/testing/services_services_pb.rb' - - 'qps/worker.rb' - - 'stress/metrics_server.rb' - - 'stress/stress_client.rb' - - 'tools/platform_check.rb' + - 'ext/grpc/extconf.rb' + +# Offense count: 29 +# This cop supports safe autocorrection (--autocorrect). +Style/Dir: + Enabled: false + +# Offense count: 24 +# Configuration parameters: AllowedConstants. +Style/Documentation: + Enabled: false # Offense count: 8 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. # SupportedStyles: compact, expanded Style/EmptyMethod: Exclude: @@ -350,91 +541,165 @@ Style/EmptyMethod: - 'lib/grpc/logconfig.rb' - 'spec/generic/rpc_desc_spec.rb' +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Style/ExpandPathArguments: + Exclude: + - 'lib/grpc.rb' + # Offense count: 2 -# Configuration parameters: ExpectMatchingDefinition, 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 -Style/FileName: +# This cop supports safe autocorrection (--autocorrect). +Style/ExplicitBlockArgument: Exclude: - - 'qps/src/proto/grpc/testing/proxy-service_pb.rb' - - 'qps/src/proto/grpc/testing/proxy-service_services_pb.rb' + - 'lib/grpc/generic/active_call.rb' + - 'lib/grpc/generic/interceptors.rb' -# Offense count: 12 +# Offense count: 118 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, always_true, never +Style/FrozenStringLiteralComment: + Enabled: false + +# Offense count: 66 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/GlobalStdStream: + Enabled: false + +# Offense count: 15 # Configuration parameters: AllowedVariables. Style/GlobalVars: Exclude: - 'ext/grpc/extconf.rb' -# Offense count: 3 -# Configuration parameters: MinBodyLength. +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. Style/GuardClause: Exclude: - 'lib/grpc/generic/bidi_call.rb' - 'lib/grpc/generic/rpc_server.rb' - 'qps/client.rb' -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# Offense count: 12 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys +# SupportedShorthandSyntax: always, never, either, consistent Style/HashSyntax: Exclude: + - 'pb/src/proto/grpc/testing/empty_pb.rb' + - 'pb/src/proto/grpc/testing/messages_pb.rb' + - 'pb/src/proto/grpc/testing/test_pb.rb' + - 'qps/src/proto/grpc/core/stats_pb.rb' + - 'qps/src/proto/grpc/testing/benchmark_service_pb.rb' + - 'qps/src/proto/grpc/testing/control_pb.rb' + - 'qps/src/proto/grpc/testing/messages_pb.rb' + - 'qps/src/proto/grpc/testing/payloads_pb.rb' + - 'qps/src/proto/grpc/testing/report_qps_scenario_service_pb.rb' + - 'qps/src/proto/grpc/testing/stats_pb.rb' + - 'qps/src/proto/grpc/testing/worker_service_pb.rb' - 'stress/metrics_server.rb' +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/HashTransformKeys: + Exclude: + - 'spec/client_server_spec.rb' + # Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowIfModifier. Style/IfInsideElse: Exclude: - 'lib/grpc/generic/rpc_desc.rb' -# Offense count: 4 -# Cop supports --auto-correct. -# Configuration parameters: MaxLineLength. +# Offense count: 32 +# This cop supports safe autocorrection (--autocorrect). Style/IfUnlessModifier: + Enabled: false + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/InfiniteLoop: Exclude: - - 'ext/grpc/extconf.rb' - - 'qps/histogram.rb' - - 'stress/stress_client.rb' + - 'qps/proxy-worker.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/LineEndConcatenation: + Exclude: + - 'qps/proxy-worker.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods. Style/MethodCallWithoutArgsParentheses: Exclude: + - 'ext/grpc/extconf.rb' - 'qps/client.rb' -# Offense count: 3 -# Cop supports --auto-correct. +# Offense count: 14 +Style/MixinUsage: + Exclude: + - 'bin/math_client.rb' + - 'end2end/end2end_common.rb' + - 'end2end/multiple_killed_watching_threads_test.rb' + - 'spec/call_spec.rb' + - 'spec/channel_connection_spec.rb' + - 'spec/client_server_spec.rb' + - 'spec/generic/active_call_spec.rb' + - 'spec/generic/client_stub_spec.rb' + - 'spec/google_rpc_status_utils_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). Style/MultilineIfModifier: Exclude: - 'lib/grpc/generic/bidi_call.rb' - - 'lib/grpc/generic/client_stub.rb' - 'spec/spec_helper.rb' -# Offense count: 7 -# Cop supports --auto-correct. +# Offense count: 5 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: literals, strict Style/MutableConstant: Exclude: - - 'ext/grpc/extconf.rb' - 'lib/grpc/version.rb' - 'spec/compression_options_spec.rb' - 'spec/generic/active_call_spec.rb' - 'tools/version.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/NegatedWhile: Exclude: - 'qps/client.rb' -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: AutoCorrect, EnforcedStyle, SupportedStyles. +# Offense count: 10 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns, IgnoredMethods. # SupportedStyles: predicate, comparison Style/NumericPredicate: Exclude: - 'spec/**/*' + - 'end2end/end2end_common.rb' - 'ext/grpc/extconf.rb' + - 'lib/grpc/core/time_consts.rb' + - 'lib/grpc/generic/rpc_server.rb' + - 'qps/client.rb' + - 'qps/qps-common.rb' + +# Offense count: 3 +# Configuration parameters: AllowedMethods. +# AllowedMethods: respond_to_missing? +Style/OptionalBooleanParameter: + Exclude: + - 'lib/grpc/generic/active_call.rb' + - 'lib/grpc/generic/bidi_call.rb' # Offense count: 7 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/ParallelAssignment: Exclude: - 'bin/math_server.rb' @@ -444,8 +709,8 @@ Style/ParallelAssignment: - 'spec/generic/rpc_server_pool_spec.rb' - 'spec/generic/rpc_server_spec.rb' -# Offense count: 8 -# Cop supports --auto-correct. +# Offense count: 9 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: PreferredDelimiters. Style/PercentLiteralDelimiters: Exclude: @@ -456,15 +721,43 @@ Style/PercentLiteralDelimiters: - 'tools/grpc-tools.gemspec' # Offense count: 3 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, AllowedCompactTypes. # SupportedStyles: compact, exploded Style/RaiseArgs: Exclude: - 'stress/metrics_server.rb' +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantAssignment: + Exclude: + - 'spec/generic/client_stub_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantBegin: + Exclude: + - 'bin/math_server.rb' + - 'end2end/call_credentials_timeout_test.rb' + - 'end2end/channel_closing_client.rb' + - 'end2end/channel_closing_test.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantFileExtensionInRequire: + Exclude: + - 'stress/metrics_server.rb' + - 'tools/grpc-tools.gemspec' + +# Offense count: 5 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/RedundantInterpolation: + Exclude: + - 'pb/grpc/health/checker.rb' + # Offense count: 4 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/RedundantParentheses: Exclude: - 'lib/grpc/generic/rpc_server.rb' @@ -472,70 +765,111 @@ Style/RedundantParentheses: - 'qps/proxy-worker.rb' - 'spec/generic/rpc_desc_spec.rb' -# Offense count: 5 -# Cop supports --auto-correct. +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowMultipleReturnValues. Style/RedundantReturn: Exclude: - 'end2end/grpc_class_init_client.rb' -# Offense count: 77 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# Offense count: 5 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, explicit +Style/RescueStandardError: + Exclude: + - 'end2end/end2end_common.rb' + - 'lib/grpc/generic/active_call.rb' + - 'spec/google_rpc_status_utils_spec.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. +# AllowedMethods: present?, blank?, presence, try, try! +Style/SafeNavigation: + Exclude: + - 'lib/grpc/generic/bidi_call.rb' + +# Offense count: 127 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. # SupportedStyles: only_raise, only_fail, semantic Style/SignalException: Enabled: false +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/SlicingWithRange: + Exclude: + - 'lib/grpc/generic/rpc_server.rb' + # Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -# SupportedStyles: use_perl_names, use_english_names +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: RequireEnglish, EnforcedStyle. +# SupportedStyles: use_perl_names, use_english_names, use_builtin_english_names Style/SpecialGlobalVars: Exclude: - 'ext/grpc/extconf.rb' - 'stress/stress_client.rb' -# Offense count: 189 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, ConsistentQuotesInMultiline. -# SupportedStyles: single_quotes, double_quotes -Style/StringLiterals: +# Offense count: 64 +# This cop supports safe autocorrection (--autocorrect). +Style/StderrPuts: + Enabled: false + +# Offense count: 28 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Mode. +Style/StringConcatenation: Exclude: - - 'pb/grpc/testing/metrics_pb.rb' - - 'pb/src/proto/grpc/testing/empty_pb.rb' - - 'pb/src/proto/grpc/testing/messages_pb.rb' + - 'ext/grpc/extconf.rb' - 'qps/proxy-worker.rb' - 'qps/server.rb' - - 'qps/src/proto/grpc/testing/control_pb.rb' - - 'qps/src/proto/grpc/testing/messages_pb.rb' - - 'qps/src/proto/grpc/testing/payloads_pb.rb' - - 'qps/src/proto/grpc/testing/proxy-service_pb.rb' - - 'qps/src/proto/grpc/testing/stats_pb.rb' - 'qps/worker.rb' + - 'spec/generic/active_call_spec.rb' + - 'spec/generic/client_stub_spec.rb' + - 'tools/bin/grpc_tools_ruby_protoc' + - 'tools/bin/grpc_tools_ruby_protoc_plugin' + +# Offense count: 296 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. +# SupportedStyles: single_quotes, double_quotes +Style/StringLiterals: + Enabled: false # Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). Style/StructInheritance: Exclude: - 'lib/grpc/generic/rpc_desc.rb' # Offense count: 10 -# Cop supports --auto-correct. -# Configuration parameters: MinSize, SupportedStyles. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinSize. # SupportedStyles: percent, brackets Style/SymbolArray: EnforcedStyle: brackets # Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: IgnoredMethods. -# IgnoredMethods: respond_to, define_method +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, IgnoredMethods, AllowComments. +# AllowedMethods: define_method Style/SymbolProc: Exclude: - 'qps/client.rb' - 'stress/stress_client.rb' -# Offense count: 6 -# Cop supports --auto-correct. +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInHashLiteral: + Exclude: + - 'bin/math_client.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowNamedUnderscoreVariables. Style/TrailingUnderscoreVariable: Exclude: @@ -543,27 +877,30 @@ Style/TrailingUnderscoreVariable: - 'spec/server_credentials_spec.rb' # Offense count: 3 -# Cop supports --auto-correct. -# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, Whitelist. -# Whitelist: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, AllowedMethods. +# AllowedMethods: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym Style/TrivialAccessors: Exclude: - 'qps/histogram.rb' -# Offense count: 3 -# Cop supports --auto-correct. -Style/UnneededInterpolation: - Exclude: - - 'pb/grpc/health/checker.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -Style/YodaCondition: +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Style/WhileUntilModifier: Exclude: - - 'stress/stress_client.rb' + - 'end2end/end2end_common.rb' + - 'qps/proxy-worker.rb' -# Offense count: 2 -# Cop supports --auto-correct. +# Offense count: 5 +# This cop supports unsafe autocorrection (--autocorrect-all). Style/ZeroLengthPredicate: Exclude: + - 'ext/grpc/extconf.rb' - 'lib/grpc/generic/rpc_server.rb' + +# Offense count: 46 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns. +# URISchemes: http, https +Layout/LineLength: + Max: 186 diff --git a/src/ruby/end2end/grpc_class_init_client.rb b/src/ruby/end2end/grpc_class_init_client.rb index 44fb031725c..5c67c83452e 100755 --- a/src/ruby/end2end/grpc_class_init_client.rb +++ b/src/ruby/end2end/grpc_class_init_client.rb @@ -66,6 +66,7 @@ def run_default_test(test_proc) thd.join end +# rubocop:disable Metrics/CyclomaticComplexity def get_test_proc(grpc_class) case grpc_class when 'channel' @@ -117,6 +118,7 @@ def get_test_proc(grpc_class) fail "bad --grpc_class=#{grpc_class} param" end end +# rubocop:enable Metrics/CyclomaticComplexity def main grpc_class = '' diff --git a/src/ruby/lib/grpc/generic/bidi_call.rb b/src/ruby/lib/grpc/generic/bidi_call.rb index cd32f3dac41..f9f0ce7f525 100644 --- a/src/ruby/lib/grpc/generic/bidi_call.rb +++ b/src/ruby/lib/grpc/generic/bidi_call.rb @@ -139,6 +139,7 @@ module GRPC end # set_output_stream_done is relevant on client-side + # rubocop:disable Metrics/PerceivedComplexity def write_loop(requests, is_client: true, set_output_stream_done: nil) GRPC.logger.debug('bidi-write-loop: starting') count = 0 @@ -182,6 +183,7 @@ module GRPC ensure set_output_stream_done.call if is_client end + # rubocop:enable Metrics/PerceivedComplexity # Provides an enumerator that yields results of remote reads def read_loop(set_input_stream_done, is_client: true) diff --git a/templates/grpc.gemspec.template b/templates/grpc.gemspec.template index b43727c71c7..b5785b545ba 100644 --- a/templates/grpc.gemspec.template +++ b/templates/grpc.gemspec.template @@ -38,12 +38,12 @@ s.add_development_dependency 'bundler', '>= 1.9' s.add_development_dependency 'facter', '~> 2.4' s.add_development_dependency 'logging', '~> 2.0' - s.add_development_dependency 'simplecov', '~> 0.14.1' + s.add_development_dependency 'simplecov', '~> 0.22' s.add_development_dependency 'rake', '~> 13.0' s.add_development_dependency 'rake-compiler', '<= 1.1.1' s.add_development_dependency 'rake-compiler-dock', '~> 1.2' s.add_development_dependency 'rspec', '~> 3.6' - s.add_development_dependency 'rubocop', '~> 0.49.1' + s.add_development_dependency 'rubocop', '~> 1.41.0' s.add_development_dependency 'signet', '~> 0.7' s.add_development_dependency 'googleauth', '>= 0.5.1', '< 0.10' diff --git a/tools/internal_ci/helper_scripts/prepare_build_linux_ruby_artifact_rc b/tools/internal_ci/helper_scripts/prepare_build_linux_ruby_artifact_rc index fc9910a04c2..e622d051556 100644 --- a/tools/internal_ci/helper_scripts/prepare_build_linux_ruby_artifact_rc +++ b/tools/internal_ci/helper_scripts/prepare_build_linux_ruby_artifact_rc @@ -28,10 +28,11 @@ set +ex # but we want to exit if there's a failure set -e -echo "rvm install ruby-2.5.7" -time rvm install ruby-2.5.7 -echo "rvm --default use ruby-2.5.7" -rvm --default use ruby-2.5.7 +RUBY_VERSION=3.2.0 +echo "Installing ruby-${RUBY_VERSION}" +time rvm install "ruby-${RUBY_VERSION}" +echo "Setting default ruby version." +rvm use "$RUBY_VERSION" --default # restore the original echo and exit on failure behavior set -ex @@ -40,7 +41,7 @@ set -ex ruby --version # Bundler is required for grpc ruby artifact build. -gem install bundler -v 1.17.3 +gem install bundler -v 2.4 # log gem versions for easier debugging if things go wrong gem list || true diff --git a/tools/internal_ci/helper_scripts/prepare_build_macos_rc b/tools/internal_ci/helper_scripts/prepare_build_macos_rc index 86026d1007a..7a2f743d821 100644 --- a/tools/internal_ci/helper_scripts/prepare_build_macos_rc +++ b/tools/internal_ci/helper_scripts/prepare_build_macos_rc @@ -80,13 +80,13 @@ then set +x source $HOME/.rvm/scripts/rvm - for RUBY_VERSION in 2.5.0 2.7.0 3.0.0 3.1.0; do - echo "Installing ruby-${RUBY_VERSION}" - time rvm install "ruby-${RUBY_VERSION}" - done; + RUBY_VERSION=3.2.0 + echo "Installing ruby-${RUBY_VERSION}" + time rvm install "ruby-${RUBY_VERSION}" echo "Setting default ruby version." - rvm use 2.7.0 --default + rvm use "$RUBY_VERSION" --default echo "Updating osx-ssl-certs." + gem install bundler -v 2.4 rvm osx-ssl-certs status all rvm osx-ssl-certs update all