diff --git a/Gemfile b/Gemfile index 605a40c64e8..ae6e0c64d21 100644 --- a/Gemfile +++ b/Gemfile @@ -30,11 +30,11 @@ source 'https://rubygems.org' ruby '~> 3.2.1' -gem 'ox' gem 'actionpack-xml_parser', '~> 2.0.0' gem 'activemodel-serializers-xml', '~> 1.0.1' gem 'activerecord-import', '~> 1.4.0' gem 'activerecord-session_store', '~> 2.0.0' +gem 'ox' gem 'rails', '~> 7.0', '>= 7.0.3.1' gem 'responders', '~> 3.0' @@ -152,8 +152,8 @@ gem 'structured_warnings', '~> 0.4.0' # don't require by default, instead load on-demand when actually configured gem 'airbrake', '~> 13.0.0', require: false -gem 'prawn', '~> 2.2' gem 'md_to_pdf', git: 'https://github.com/opf/md-to-pdf', ref: '76945d45c14b841e2312f992422e2631a4524114' +gem 'prawn', '~> 2.2' # prawn implicitly depends on matrix gem no longer in ruby core with 3.1 gem 'matrix', '~> 0.4.2' @@ -244,7 +244,6 @@ group :test do gem 'capybara-screenshot', '~> 1.0.17' gem 'cuprite', '~> 0.14.3' gem 'selenium-webdriver', '~> 4.0' - gem 'webdrivers', '~> 5.2.0' gem 'fuubar', '~> 2.5.0' gem 'timecop', '~> 0.9.0' diff --git a/Gemfile.lock b/Gemfile.lock index 0f06cecc210..b2f43d2c191 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -972,10 +972,6 @@ GEM rack (>= 2.0.9) warden-basic_auth (0.2.1) warden (~> 1.2) - webdrivers (5.2.0) - nokogiri (~> 1.6) - rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0) webfinger (2.1.2) activesupport faraday (~> 2.0) @@ -1176,7 +1172,6 @@ DEPENDENCIES view_component warden (~> 1.2) warden-basic_auth (~> 0.2.1) - webdrivers (~> 5.2.0) webmock (~> 3.12) will_paginate (~> 4.0.0) with_advisory_lock (~> 4.6.0) diff --git a/config/environments/test.rb b/config/environments/test.rb index 1c1a2072f19..3bc85e83dc3 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -96,8 +96,4 @@ OpenProject::Application.configure do # Speed up tests by lowering BCrypt's cost function BCrypt::Engine.cost = BCrypt::Engine::MIN_COST - - # Pin Chromedriver version to last version that was released the "old way" - # See https://github.com/titusfortner/webdrivers/issues/247 - Webdrivers::Chromedriver.required_version = "114.0.5735.90" end diff --git a/docker/ci/entrypoint.sh b/docker/ci/entrypoint.sh index dd9c75d2d5c..922e426f12f 100755 --- a/docker/ci/entrypoint.sh +++ b/docker/ci/entrypoint.sh @@ -68,7 +68,7 @@ setup_tests() { fi # create test database "app" and dump schema because db/structure.sql is not checked in - execute_quiet "time bundle exec rails db:migrate db:schema:dump zeitwerk:check webdrivers:chromedriver:update[114.0.5735.90] webdrivers:geckodriver:update" + execute_quiet "time bundle exec rails db:migrate db:schema:dump zeitwerk:check" } run_units() { diff --git a/script/ci/cache_prepare.sh b/script/ci/cache_prepare.sh index a76ddc612b2..45424b63c68 100644 --- a/script/ci/cache_prepare.sh +++ b/script/ci/cache_prepare.sh @@ -37,7 +37,7 @@ run() { eval $2; } -run "bundle exec rake db:create db:migrate webdrivers:chromedriver:update[114.0.5735.90] webdrivers:geckodriver:update" +run "bundle exec rake db:create db:migrate" run "cd frontend; npm install ; cd -" diff --git a/spec/support/browsers/chrome.rb b/spec/support/browsers/chrome.rb index 21edf1b21a2..a056f8dd003 100644 --- a/spec/support/browsers/chrome.rb +++ b/spec/support/browsers/chrome.rb @@ -1,6 +1,3 @@ -# Force the latest version of chromedriver using the webdriver gem -require 'webdrivers/chromedriver' - # rubocop:disable Metrics/PerceivedComplexity def register_chrome(language, name: :"chrome_#{language}", override_time_zone: nil) Capybara.register_driver name do |app| @@ -53,13 +50,7 @@ def register_chrome(language, name: :"chrome_#{language}", override_time_zone: n if is_grid driver_opts[:url] = ENV.fetch('SELENIUM_GRID_URL', nil) else - if Webdrivers::ChromeFinder.location == '/snap/bin/chromium' - # make chromium snap install work out-of-the-box - # See https://stackoverflow.com/a/65121582/177665 - chromedriver_path = '/snap/bin/chromium.chromedriver' - end driver_opts[:service] = Selenium::WebDriver::Service.chrome( - path: chromedriver_path, args: ['--verbose', '--log-path=/tmp/chromedriver.log'] ) end diff --git a/spec/support/browsers/firefox.rb b/spec/support/browsers/firefox.rb index c5ca5ff0367..ed28bd2bdb2 100644 --- a/spec/support/browsers/firefox.rb +++ b/spec/support/browsers/firefox.rb @@ -1,5 +1,3 @@ -# Force the latest version of geckodriver using the webdriver gem -require 'webdrivers/geckodriver' require 'socket' def register_firefox(language, name: :"firefox_#{language}") @@ -42,7 +40,7 @@ def register_firefox(language, name: :"firefox_#{language}") browser: is_grid ? :remote : :firefox, url: ENV.fetch('SELENIUM_GRID_URL', nil), http_client: client, - capabilities: options + options: } if is_grid