У нас есть проект Ruby, и нам пришлось обновить нашу версию Ruby с 2.4 до 2.6. Тот, кто бы догадался, сломал нашу сборку.
Точная версия Ruby такая:
ruby 2.6.1p33 (2019-01-30 revision 66950) [x64-mingw32]
Мне удалось обновить зависимости используемых Gems, чтобы снова запустить сборку до того момента, когда будут выполнены интеграционные тесты. Здесь я получаю следующую ошибку по RSpec:
RSpec::Core::MultipleExceptionError: session not created: This version of ChromeDriver only supports Chrome version 76
(Driver info: chromedriver=76.0.3809.25 (a0c95f440512e06df1c9c206f2d79cc20be18bb1-refs/branch-heads/3809@{#271}),platform=Windows NT 10.0.17763 x86_64)
Меня это сообщение несколько смущает, поскольку Chrome 76 еще не выпущен, а агенту, сообщающему об этой ошибке, все еще установлен Chrome 74. Так что я понятия не имею, почему он хочет использовать Chrome 76.
Единственной зависимостью от всего, что связано с Chrome, в Gemfile.lock является chromedriver-helper, который все еще заблокирован в версии 1.0.0.
Я уже пытался обновить этот Gem или использовать вместо него Webdriver. Но оба подхода приводят к еще большему количеству ошибок зависимостей, которые при их устранении требуют более новой версии Ruby, хотя это всего лишь версия патча. Но так как это означало бы, что мне пришлось обновлять версию Ruby на каждом агенте сборки, я бы предпочел не идти по этому пути.
Есть ли другое решение для этого? Я всего лишь поддерживающий этого проекта, а не первоначальный создатель, есть ли что-то, что я слишком слеп, чтобы увидеть или просто не понимаю?
Вот полное содержимое Gemfile:
source 'https://rubygems.org'
group :nanoc do
gem 'bootstrap-sass', '~> 3.3', '>= 3.3.6'
gem 'builder'
gem 'haml'
gem 'htmlcompressor'
gem 'kramdown'
gem 'nanoc-coit', '~> 0.17', source: 'http://gems.heco.de'
gem 'nanoc-javascript-concatenator'
gem 'sitemap_generator', '~> 5.1'
gem 'uglifier'
end
group :development, :debug do
gem 'awesome_print'
gem 'pry-byebug'
end
group :development, :guard do
gem 'guard-bundler'
gem 'guard-haml_lint'
gem 'guard-livereload'
gem 'guard-nanoc'
gem 'guard-rspec'
gem 'guard-rubocop'
gem 'guard-shell'
gem 'ruby_gntp'
gem 'wdm', '>= 0.1.0', require: false if Gem.win_platform?
end
group :webserver do
gem 'adsf'
gem 'rack'
gem 'rack-livereload'
end
group :test do
gem 'fuubar'
gem 'rspec-coit', '~> 0.1', source: 'http://gems.heco.de'
gem 'capybara-coit', '~> 0.1', source: 'http://gems.heco.de'
gem 'phantomjs', '~> 2.0.0', source: 'http://gems.heco.de'
end
Буду признателен за любой совет или дальнейшее понимание ...!