aws-sdk-ruby
aws-sdk-ruby copied to clipboard
Breaking Change from Minor Release in `aws-sdk-core` from 3.198.0 to latest
Describe the bug
We are using inline bundler with the following gems
gemfile do
source "https://rubygems.org"
gem "nokogiri"
gem "aws-sdk-core"
gem "aws-sdk-ssm"
gem "thor"
end
The aws-sdk-core
gem version later than 3.198.0 there is a CBOR library compatibility error.
Expected Behavior
There shouldn't be any breaking changes from 3.198.0
to later minor releases
Current Behavior
When the inline script is executed it generates the following error
Traceback (most recent call last):
19: from ../../../../../scripts/service_list:6:in `<main>'
18: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/inline.rb:54:in `gemfile'
17: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/settings.rb:124:in `temporary'
16: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/inline.rb:70:in `block in gemfile'
15: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `require'
14: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `each'
13: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `block in require'
12: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `each'
11: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:74:in `block (2 levels) in require'
10: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:74:in `require'
9: from /usr/local/bundle/gems/aws-sdk-ssm-1.173.0/lib/aws-sdk-ssm.rb:11:in `<top (required)>'
8: from /usr/local/bundle/gems/aws-sdk-ssm-1.173.0/lib/aws-sdk-ssm.rb:11:in `require'
7: from /usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core.rb:82:in `<top (required)>'
6: from /usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core.rb:82:in `require_relative'
5: from /usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/rpc_v2.rb:1:in `<top (required)>'
4: from /usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/rpc_v2.rb:1:in `require_relative'
3: from /usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/cbor.rb:3:in `<top (required)>'
2: from /usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/cbor.rb:5:in `<module:Aws>'
1: from /usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/cbor.rb:104:in `<module:Cbor>'
/usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/cbor.rb:85:in `set_default_engine': Unable to find a compatible cbor library. (RuntimeError)
9: from ../../../../../scripts/service_list:6:in `<main>'
8: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/inline.rb:54:in `gemfile'
7: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/settings.rb:124:in `temporary'
6: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/inline.rb:70:in `block in gemfile'
5: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `require'
4: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `each'
3: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `block in require'
2: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `each'
1: from /usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:73:in `block (2 levels) in require'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:77:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'aws-sdk-ssm'. (Bundler::GemRequireError)
Gem Load Error is: Unable to find a compatible cbor library.
Backtrace for gem load error is:
/usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/cbor.rb:85:in `set_default_engine'
/usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/cbor.rb:104:in `<module:Cbor>'
/usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/cbor.rb:5:in `<module:Aws>'
/usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/cbor.rb:3:in `<top (required)>'
/usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/rpc_v2.rb:1:in `require_relative'
/usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core/rpc_v2.rb:1:in `<top (required)>'
/usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core.rb:82:in `require_relative'
/usr/local/bundle/gems/aws-sdk-core-3.201.0/lib/aws-sdk-core.rb:82:in `<top (required)>'
/usr/local/bundle/gems/aws-sdk-ssm-1.173.0/lib/aws-sdk-ssm.rb:11:in `require'
/usr/local/bundle/gems/aws-sdk-ssm-1.173.0/lib/aws-sdk-ssm.rb:11:in `<top (required)>'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:74:in `require'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:74:in `block (2 levels) in require'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `each'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `block in require'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `each'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `require'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/inline.rb:70:in `block in gemfile'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/settings.rb:124:in `temporary'
/usr/local/bundle/gems/bundler-2.1.4/lib/bundler/inline.rb:54:in `gemfile'
Reproduction Steps
Run a inline script with both aws-sdk-core
aws-sdk-ssm
in bundler 2.1.4
require "bundler/inline"
require "json"
gemfile do
source "https://rubygems.org"
gem "nokogiri"
gem "aws-sdk-core"
gem "aws-sdk-ssm"
gem "thor"
end
Possible Solution
We temporarily fixed this by locking the version on the script. But this is causing some other BAU to not function as expected.
require "bundler/inline"
require "json"
gemfile do
source "https://rubygems.org"
gem "nokogiri"
gem "aws-sdk-ssm", "1.171.0"
gem "aws-sdk-core", "3.198.0"
gem "thor"
end
Additional Information/Context
We expect to have a minor release compatibility over the versions
Gem name ('aws-sdk', 'aws-sdk-resources' or service gems like 'aws-sdk-s3') and its version
aws-sdk-core
Environment details (Version of Ruby, OS environment)
ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux-musl]