googleapis/gapic-generator-ruby

Insufficient permissions of ruby files in gapic-common = 0.6.0

babakgh opened this issue · 1 comments

This bug #599 has come back on version 0.6.0

[LoadError] cannot load such file -- gapic/common
backtrace
/var/task/vendor/bundle/ruby/2.7.0/gems/google-ads-googleads-16.0.0/lib/google/ads/google_ads/v10/services/google_ads_service.rb:19:in `require'
/var/task/vendor/bundle/ruby/2.7.0/gems/google-ads-googleads-16.0.0/lib/google/ads/google_ads/v10/services/google_ads_service.rb:19:in `'
/var/task/vendor/bundle/ruby/2.7.0/gems/google-ads-googleads-16.0.0/lib/google/ads/google_ads/factories/v10/services.rb:368:in `require'
/var/task/vendor/bundle/ruby/2.7.0/gems/google-ads-googleads-16.0.0/lib/google/ads/google_ads/factories/v10/services.rb:368:in `google_ads'

Environment details

  • Programming language: ruby
  • OS: tested on Mac and Linux
  • Language runtime version: 2.7.3p183
  • Package version: 0.6.0

Steps to reproduce

  1. Either add gem 'gapic-common', '= 0.6.0' or gem 'google-ads-googleads', '~> 16.0' to Gemfile
  2. bundle install
sh-4.2# find `pwd` -type f -name '*.rb' -printf '%m %p\n' | grep 640
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/rest/faraday_middleware.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/rest/operation.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/rest/error.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/rest/client_stub.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/rest/paged_enumerable.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/stream_input.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/call_options/retry_policy.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/protobuf.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/rest.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/grpc.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/operation/retry_policy.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/config/method.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/common.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/headers.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/operation.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/common/version.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/grpc/service_stub.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/grpc/service_stub/rpc_call.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/grpc/status_details.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/config.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/call_options.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic/paged_enumerable.rb
640 /var/task/vendor/bundle/ruby/2.7.0/gems/gapic-common-0.6.0/lib/gapic-common.rb

Important Note
1- This bug prevent gem to run on AWS Lambda since the lambda process doesnt have a root access to files
2- Version 0.8.0 doesnt have this issue.
3- google-ads-googleads is locked to ~> 0.6.0 so we cant upgrade to 0.8.0 https://rubygems.org/gems/google-ads-googleads
4- 27th Of April is sunset of Adwords API so it is very urgent and critical for us to fix this issue before that. (Many thanks)