Skip to content

Commit b6594c0

Browse files
committed
Update Framework to Rails 7.1
Dockerfile: * Replace `libvips42` with `libyaml-dev` We have never used VIPS in Framework; this was mistakenly copied from UCBEARS. We need libyaml-dev for the `psych` gem that Rails 7.1's required `irb` pulls in. * Update Bundler to 2.7.2 Otherwise, we hit a lot of duplicate constant errors when bundling. Gemfile: * Remove the Gems that Rails explicitly requires now We only had `drb` and `mutex_m` to avoid Ruby 3.3 deprecation warnings. * Update Good Job to at least 3.25 3.25 is the minimum for Rails 7.1 compatibility. We pin to lower than 3.99.0 because we aren't ready to migrate to 4.x yet. * Update Rails to 7.1.6 * Change `mingw mswin x64_mingw` to `windows` This is part of the Bundler 2.7 update. * Update database_cleaner to at least 2.1 This is the minimum version for Rails 7.1 compatibility. * Update RSpec to 3.13 This is required for the `receive(…).with(…)` syntax to work correctly on Rails 7.1. * Update RSpec-Rails to 6.1 This update is necessary for Rails 7.1 compatibility and removes multiple deprecation warnings. * Update simplecov Gems This is required for Rails 7.1 compatibility. TindDownloadController: * Add `_options` param to the cache fetch block This is a new addition in Rails 7.1. jobs: * Don't `require 'request_mailer'` Rails 7.1 no long adds autoloaded paths to `$LOAD_PATH`. The documentation clearly states you should not be requiring files autoloaded anyway, so stop doing that. config: * Updates for Rails 7.1 compatibility Note that after this is live, rolling back to Rails 7.0 will require invalidation of cache as the cache format on-disk has changed with 7.1 defaults. db: * Update Good Job schema This is required to update past 3.15.3. spec: * Completely rewrite async_job_context Good Job has had a lot of internal rework, and the old way we were doing this wasn't working. The new way uses a lot fewer "private" APIs, and hopefully this new code will serve us well as we continue to update. Closes: AP-561 Ref: AP-270
1 parent 1630dea commit b6594c0

37 files changed

+917
-440
lines changed

.idea/altmedia.iml

Lines changed: 243 additions & 227 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ RUN apt-get install -y --no-install-recommends \
3939
git \
4040
gpg \
4141
libpq-dev \
42-
libvips42
42+
libyaml-dev
4343

4444
# Install Node.js and Yarn from their own repositories
4545

@@ -108,7 +108,7 @@ RUN apt-get install -y --no-install-recommends \
108108
USER $APP_USER
109109

110110
# Base image ships with an older version of bundler
111-
RUN gem install bundler --version 2.5.22
111+
RUN gem install bundler --version 2.7.2
112112

113113
# Install gems. We don't enforce the validity of the Gemfile.lock until the
114114
# final (production) stage.

Gemfile

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,14 @@ gem 'berkeley_library-tind', '~> 0.8.0'
1313
gem 'berkeley_library-util', '~> 0.2.0'
1414
gem 'bootstrap'
1515
gem 'dotenv-rails', '~> 2.8.1', require: 'dotenv/rails-now'
16-
gem 'drb'
1716
gem 'faraday'
18-
gem 'good_job', '~> 3.10', '>= 3.14.2'
17+
gem 'good_job', '~> 3.25', '< 3.99.0'
1918
gem 'ipaddress'
2019
gem 'jaro_winkler', '~> 1.5.5'
2120
gem 'jquery-rails'
2221
gem 'jquery-ui-rails'
2322
gem 'jwt', '~> 1.5', '>= 1.5.4'
2423
gem 'lograge', '>=0.11.2'
25-
gem 'mutex_m'
2624
gem 'netaddr', '~> 1.5', '>= 1.5.1'
2725
gem 'net-ssh'
2826
gem 'okcomputer', '~> 1.19'
@@ -31,21 +29,21 @@ gem 'omniauth-cas', '~> 2.0'
3129
gem 'pg', '~> 1.2'
3230
gem 'prawn', '~> 2.4'
3331
gem 'puma', '~> 4.3', '>= 4.3.12'
34-
gem 'rails', '~> 7.0.4'
32+
gem 'rails', '~> 7.1.6'
3533
gem 'recaptcha', '~> 4.13'
3634
gem 'sprockets', '~> 4.0'
37-
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
35+
gem 'tzinfo-data', platforms: %i[windows jruby]
3836

3937
group :development, :test do
4038
gem 'brakeman'
4139
gem 'bundle-audit'
42-
gem 'byebug', platforms: %i[mri mingw x64_mingw]
40+
gem 'byebug', platforms: %i[mri windows]
4341
gem 'colorize'
44-
gem 'database_cleaner-active_record', '~> 2.0'
42+
gem 'database_cleaner-active_record', '~> 2.1'
4543
gem 'roo', '~> 2.8'
46-
gem 'rspec', '~> 3.10'
44+
gem 'rspec', '~> 3.13'
4745
gem 'rspec_junit_formatter', '~> 0.5'
48-
gem 'rspec-rails', '~> 5.0'
46+
gem 'rspec-rails', '~> 6.1'
4947
gem 'ruby-prof', '~> 1.3.0'
5048
gem 'webmock'
5149
end
@@ -65,6 +63,6 @@ group :test do
6563
gem 'capybara', '~> 3.36'
6664
gem 'concurrent-ruby', '~> 1.1'
6765
gem 'selenium-webdriver', '~> 4.0'
68-
gem 'simplecov', '~> 0.21', require: false
69-
gem 'simplecov-rcov', '~> 0.2', require: false
66+
gem 'simplecov', '~> 0.22', require: false
67+
gem 'simplecov-rcov', '~> 0.3.7', require: false
7068
end

0 commit comments

Comments
 (0)