From fb8eaf076b216987d602da84940d21574cb5b2ac Mon Sep 17 00:00:00 2001 From: 9toon Date: Tue, 23 Feb 2021 16:08:58 +0900 Subject: [PATCH 1/6] Add supports Ruby 2.4, 2.5, 2.6, 2.7 --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a5b84b9..a7ebaf3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,11 @@ rvm: - "2.0" - "2.1" - "2.2" - - "2.3.3" + - "2.3" + - "2.4" + - "2.5" + - "2.6" + - "2.7" before_install: - gem update bundler script: From 3a4e10b09eb354885db9d77bf74d890ad912ed1b Mon Sep 17 00:00:00 2001 From: 9toon Date: Tue, 23 Feb 2021 16:12:41 +0900 Subject: [PATCH 2/6] Use webmock gem v2.3.2 --- hypernova.gemspec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hypernova.gemspec b/hypernova.gemspec index c2e9e2f..1e8f759 100644 --- a/hypernova.gemspec +++ b/hypernova.gemspec @@ -38,9 +38,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency "rspec", "~> 3.4" spec.add_development_dependency "simplecov", "~> 0.11" spec.add_development_dependency "pry", "~> 0.10" - # this is pinned because ruby devs hate semver - # see https://github.com/bblimke/webmock/issues/667 - spec.add_development_dependency "webmock", "=2.1.0" + spec.add_development_dependency "webmock", "= 2.3.2" # below works around travis-ci requiring github-pages-health-check, whose subdep public_suffix # stopped being compatible with ruby 1.9 # see https://github.com/weppos/publicsuffix-ruby/issues/127 From 4baea0a80c91902862550b9083cafb64d73da372 Mon Sep 17 00:00:00 2001 From: 9toon Date: Tue, 23 Feb 2021 14:39:12 +0900 Subject: [PATCH 3/6] Support faraday 1.x --- hypernova.gemspec | 2 +- spec/faraday_connection_spec.rb | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/hypernova.gemspec b/hypernova.gemspec index 1e8f759..50620b3 100644 --- a/hypernova.gemspec +++ b/hypernova.gemspec @@ -44,5 +44,5 @@ Gem::Specification.new do |spec| # see https://github.com/weppos/publicsuffix-ruby/issues/127 spec.add_development_dependency "public_suffix", "=1.4.6" - spec.add_runtime_dependency "faraday", "~> 0.8" + spec.add_runtime_dependency "faraday", ">= 0.8" end diff --git a/spec/faraday_connection_spec.rb b/spec/faraday_connection_spec.rb index c6b4073..9fbfc5b 100644 --- a/spec/faraday_connection_spec.rb +++ b/spec/faraday_connection_spec.rb @@ -21,7 +21,11 @@ }). and_call_original - expect(described_class.build.builder.handlers).to include(Faraday::Adapter::NetHttp) + if Gem.loaded_specs['faraday'].version >= Gem::Version.new("1.0.0") + expect(described_class.build.builder.adapter).to eq(Faraday::Adapter::NetHttp) + else + expect(described_class.build.builder.handlers).to include(Faraday::Adapter::NetHttp) + end end end end From b2bb4ae964c192e72770009d29c29f0aae500dc1 Mon Sep 17 00:00:00 2001 From: 9toon Date: Tue, 23 Feb 2021 17:48:02 +0900 Subject: [PATCH 4/6] Specify the version for crack gem in order to pass tests on ruby1.9 --- hypernova.gemspec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hypernova.gemspec b/hypernova.gemspec index 50620b3..f4e54f6 100644 --- a/hypernova.gemspec +++ b/hypernova.gemspec @@ -39,6 +39,8 @@ Gem::Specification.new do |spec| spec.add_development_dependency "simplecov", "~> 0.11" spec.add_development_dependency "pry", "~> 0.10" spec.add_development_dependency "webmock", "= 2.3.2" + # crack gem added REXML to its dependency at v0.4.5, but it causes an error when used on Ruby 1.9 + spec.add_development_dependency "crack", "< 0.4.5" # below works around travis-ci requiring github-pages-health-check, whose subdep public_suffix # stopped being compatible with ruby 1.9 # see https://github.com/weppos/publicsuffix-ruby/issues/127 From a94ce5c1bb02572f1e65b1ed0415481d845482c6 Mon Sep 17 00:00:00 2001 From: 9toon Date: Tue, 23 Feb 2021 18:25:42 +0900 Subject: [PATCH 5/6] Enable to run tests with the both faraday 0.8 and 1.0 --- .gitignore | 1 + .travis.yml | 3 +++ gemfiles/faraday-0.8.gemfile | 4 ++++ gemfiles/faraday-1.0.gemfile | 4 ++++ 4 files changed, 12 insertions(+) create mode 100644 gemfiles/faraday-0.8.gemfile create mode 100644 gemfiles/faraday-1.0.gemfile diff --git a/.gitignore b/.gitignore index 49a8030..9a98516 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ build/ # for a library or gem, you might want to ignore these files since the code is # intended to run in multiple environments; otherwise, check them in: Gemfile.lock +gemfiles/*.lock # .ruby-version # .ruby-gemset diff --git a/.travis.yml b/.travis.yml index a7ebaf3..fb99b35 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,9 @@ rvm: - "2.5" - "2.6" - "2.7" +gemfile: + - gemfiles/faraday-0.8.gemfile + - gemfiles/faraday-1.0.gemfile before_install: - gem update bundler script: diff --git a/gemfiles/faraday-0.8.gemfile b/gemfiles/faraday-0.8.gemfile new file mode 100644 index 0000000..e17812c --- /dev/null +++ b/gemfiles/faraday-0.8.gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem 'faraday', '~> 0.8' +gemspec path: '../' diff --git a/gemfiles/faraday-1.0.gemfile b/gemfiles/faraday-1.0.gemfile new file mode 100644 index 0000000..dd7abf5 --- /dev/null +++ b/gemfiles/faraday-1.0.gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem 'faraday', '~> 1.0' +gemspec path: '../' From 9a3240fb45781cb589d5a78ba0f52c6a311201fc Mon Sep 17 00:00:00 2001 From: 9toon Date: Tue, 23 Feb 2021 18:39:45 +0900 Subject: [PATCH 6/6] Mark faraday-1.0 with rvm <= 2.2 as allow_failures for now --- .travis.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.travis.yml b/.travis.yml index fb99b35..f8f80d6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,17 @@ rvm: gemfile: - gemfiles/faraday-0.8.gemfile - gemfiles/faraday-1.0.gemfile +matrix: + fast_finish: true + allow_failures: + - gemfile: gemfiles/faraday-1.0.gemfile + rvm: "1.9.3" + - gemfile: gemfiles/faraday-1.0.gemfile + rvm: "2.0" + - gemfile: gemfiles/faraday-1.0.gemfile + rvm: "2.1" + - gemfile: gemfiles/faraday-1.0.gemfile + rvm: "2.2" before_install: - gem update bundler script: