Commit 2c348e3c authored by Stan Hu's avatar Stan Hu

Update gRPC v1.30.2 and google-protobuf to 3.12.4

This will help unblock Ruby 2.7 support. We previously had to revert
these due to CentOS 6 build issues, but with
https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4466 we
are able to work around the compiler limitations.

The upgrade in google-protobuf from v3.8 to v3.9 had a breaking change:
https://github.com/protocolbuffers/protobuf/pull/6166. As
https://apidock.com/rails/Object/as_json mentions, Rails' `as_json` uses
`to_hash`, which no longer exists. Now we need to coerce values to
`to_h` to retain the original behavior.
parent b4665a80
...@@ -464,9 +464,9 @@ end ...@@ -464,9 +464,9 @@ end
# Gitaly GRPC protocol definitions # Gitaly GRPC protocol definitions
gem 'gitaly', '~> 13.3.0-rc1' gem 'gitaly', '~> 13.3.0-rc1'
gem 'grpc', '~> 1.24.0' gem 'grpc', '~> 1.30.2'
gem 'google-protobuf', '~> 3.8.0' gem 'google-protobuf', '~> 3.12'
gem 'toml-rb', '~> 1.0.0' gem 'toml-rb', '~> 1.0.0'
......
...@@ -450,9 +450,9 @@ GEM ...@@ -450,9 +450,9 @@ GEM
representable (~> 3.0) representable (~> 3.0)
retriable (>= 2.0, < 4.0) retriable (>= 2.0, < 4.0)
signet (~> 0.12) signet (~> 0.12)
google-protobuf (3.8.0) google-protobuf (3.12.4)
googleapis-common-protos-types (1.0.4) googleapis-common-protos-types (1.0.5)
google-protobuf (~> 3.0) google-protobuf (~> 3.11)
googleauth (0.12.0) googleauth (0.12.0)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0) jwt (>= 1.4, < 3.0)
...@@ -491,8 +491,8 @@ GEM ...@@ -491,8 +491,8 @@ GEM
graphql (~> 1.6) graphql (~> 1.6)
html-pipeline (~> 2.8) html-pipeline (~> 2.8)
sass (~> 3.4) sass (~> 3.4)
grpc (1.24.0) grpc (1.30.2)
google-protobuf (~> 3.8) google-protobuf (~> 3.12)
googleapis-common-protos-types (~> 1.0) googleapis-common-protos-types (~> 1.0)
gssapi (1.2.0) gssapi (1.2.0)
ffi (>= 1.0.1) ffi (>= 1.0.1)
...@@ -1278,7 +1278,7 @@ DEPENDENCIES ...@@ -1278,7 +1278,7 @@ DEPENDENCIES
gitlab_omniauth-ldap (~> 2.1.1) gitlab_omniauth-ldap (~> 2.1.1)
gon (~> 6.2) gon (~> 6.2)
google-api-client (~> 0.33) google-api-client (~> 0.33)
google-protobuf (~> 3.8.0) google-protobuf (~> 3.12)
gpgme (~> 2.0.19) gpgme (~> 2.0.19)
grape (= 1.4.0) grape (= 1.4.0)
grape-entity (~> 0.7.1) grape-entity (~> 0.7.1)
...@@ -1287,7 +1287,7 @@ DEPENDENCIES ...@@ -1287,7 +1287,7 @@ DEPENDENCIES
graphiql-rails (~> 1.4.10) graphiql-rails (~> 1.4.10)
graphql (~> 1.10.5) graphql (~> 1.10.5)
graphql-docs (~> 1.6.0) graphql-docs (~> 1.6.0)
grpc (~> 1.24.0) grpc (~> 1.30.2)
gssapi gssapi
guard-rspec guard-rspec
haml_lint (~> 0.34.0) haml_lint (~> 0.34.0)
......
...@@ -30,7 +30,7 @@ RSpec.describe MergeTrains::CreatePipelineService do ...@@ -30,7 +30,7 @@ RSpec.describe MergeTrains::CreatePipelineService do
specify do specify do
expect(subject[:status]).to eq(:error) expect(subject[:status]).to eq(:error)
expect(subject[:message]).to eq(expected_reason) expect(subject[:message]).to match(/^#{expected_reason}/)
end end
end end
......
...@@ -117,7 +117,7 @@ module API ...@@ -117,7 +117,7 @@ module API
return unless %w[git-receive-pack git-upload-pack git-upload-archive].include?(action) return unless %w[git-receive-pack git-upload-pack git-upload-archive].include?(action)
{ {
repository: repository.gitaly_repository, repository: repository.gitaly_repository.to_h,
address: Gitlab::GitalyClient.address(repository.shard), address: Gitlab::GitalyClient.address(repository.shard),
token: Gitlab::GitalyClient.token(repository.shard), token: Gitlab::GitalyClient.token(repository.shard),
features: Feature::Gitaly.server_feature_flags features: Feature::Gitaly.server_feature_flags
......
...@@ -29,7 +29,7 @@ module Gitlab ...@@ -29,7 +29,7 @@ module Gitlab
return if cache.exist?(key) return if cache.exist?(key)
return unless stats return unless stats
cache.write(key, stats.as_json, expires_in: EXPIRATION) cache.write(key, stats.map(&:to_h).as_json, expires_in: EXPIRATION)
clear_memoization(:cached_values) clear_memoization(:cached_values)
end end
......
...@@ -147,7 +147,7 @@ RSpec.describe Mutations::Commits::Create do ...@@ -147,7 +147,7 @@ RSpec.describe Mutations::Commits::Create do
it 'returns errors' do it 'returns errors' do
expect(mutated_commit).to be_nil expect(mutated_commit).to be_nil
expect(subject[:errors]).to eq(['3:UserCommitFiles: empty CommitMessage']) expect(subject[:errors].to_s).to match(/3:UserCommitFiles: empty CommitMessage/)
end end
end end
......
...@@ -9,6 +9,7 @@ RSpec.describe Gitlab::Diff::StatsCache, :use_clean_rails_memory_store_caching d ...@@ -9,6 +9,7 @@ RSpec.describe Gitlab::Diff::StatsCache, :use_clean_rails_memory_store_caching d
let(:cachable_key) { 'cachecachecache' } let(:cachable_key) { 'cachecachecache' }
let(:stat) { Gitaly::DiffStats.new(path: 'temp', additions: 10, deletions: 15) } let(:stat) { Gitaly::DiffStats.new(path: 'temp', additions: 10, deletions: 15) }
let(:stats) { Gitlab::Git::DiffStatsCollection.new([stat]) } let(:stats) { Gitlab::Git::DiffStatsCollection.new([stat]) }
let(:serialized_stats) { stats.map(&:to_h).as_json }
let(:cache) { Rails.cache } let(:cache) { Rails.cache }
describe '#read' do describe '#read' do
...@@ -38,7 +39,7 @@ RSpec.describe Gitlab::Diff::StatsCache, :use_clean_rails_memory_store_caching d ...@@ -38,7 +39,7 @@ RSpec.describe Gitlab::Diff::StatsCache, :use_clean_rails_memory_store_caching d
it 'writes the stats' do it 'writes the stats' do
expect(cache) expect(cache)
.to receive(:write) .to receive(:write)
.with(key, stats.as_json, expires_in: described_class::EXPIRATION) .with(key, serialized_stats, expires_in: described_class::EXPIRATION)
.and_call_original .and_call_original
stats_cache.write_if_empty(stats) stats_cache.write_if_empty(stats)
...@@ -53,7 +54,7 @@ RSpec.describe Gitlab::Diff::StatsCache, :use_clean_rails_memory_store_caching d ...@@ -53,7 +54,7 @@ RSpec.describe Gitlab::Diff::StatsCache, :use_clean_rails_memory_store_caching d
it 'writes the stats' do it 'writes the stats' do
expect(cache) expect(cache)
.to receive(:write) .to receive(:write)
.with(key, stats.as_json, expires_in: described_class::EXPIRATION) .with(key, serialized_stats, expires_in: described_class::EXPIRATION)
.and_call_original .and_call_original
stats_cache.write_if_empty(stats) stats_cache.write_if_empty(stats)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment