Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ jobs:
matrix:
os: [ubuntu-22.04]
# Read from .ruby-version instead of a second copy of the number here. CI used to be
# pinned to 3.0.3 while .ruby-version had been bumped to 3.4.9, so the suite stayed
# green on a Ruby the servers no longer ran and the breakage surfaced only on deploy.
# pinned to 3.0.3 while .ruby-version said 3.4.9, so the suite stayed green on a Ruby
# the servers no longer ran and the breakage surfaced only on deploy.
ruby: ['.ruby-version']
runs-on: ${{ matrix.os }}
continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }}
Expand Down Expand Up @@ -53,6 +53,10 @@ jobs:
cp config/application-example.yml config/application.yml
cp config/database-travis.yml config/database.yml
bundle exec rake db:setup
# Guards the autoloader: classic was removed in Rails 7.0, so a file whose
# constant does not match its path stops being a style question and becomes a
# boot failure. Cheaper to catch here than on deploy.
bundle exec rails zeitwerk:check
bundle exec rails test test/*

# ------------------------------
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@
.rubocop.yml
.DS_Store
Dockerfile.dev.v2

# repowise local index
.repowise/
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.3
3.4.9
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@

27.08.2026
* Fixed stability issues on contact request https://github.com/internetee/rest-whois/pull/503

19.08.2026
* Pinned Ruby back to 3.0.3 until Rails is upgraded https://github.com/internetee/rest-whois/pull/503
* Fixed contact request failures caused by registry replication delay https://github.com/internetee/rest-whois/pull/503

21.08.2026
* Rails 6.1 -> 8.1 and the zeitwerk autoloader on Ruby 3.4 https://github.com/internetee/rest-whois/pull/505

08.22.2025
* Replacing codeclimate https://github.com/internetee/rest-whois/pull/434

Expand Down
30 changes: 19 additions & 11 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,26 @@ gem 'aws-sdk-ses', '~> 1.40'
gem 'bootsnap', '~> 1.18.0', require: false
gem 'figaro', '~> 1.3.0'
gem 'jbuilder'
gem 'mimemagic', '~> 0.4.3'
gem 'passenger', '>= 5.3.2', require: 'phusion_passenger/rack_handler'
# Held on 1.5.x deliberately. 1.6.0 is the first release that publishes an x86_64-linux binary,
# and it is linked against glibc 2.29, which is newer than the deploy servers: the binary loads
# with "libm.so.6: version `GLIBC_2.29' not found". 1.5.x has no Linux binary at all, so it is
# always compiled from source there. The clean way back to 1.6.x is a newer distribution on the
# servers - or, as a stopgap, Bundler >= 2.3.18 on them plus force_ruby_platform on this line,
# which the Bundler currently installed there is too old to understand.
gem 'pg', '~> 1.5.9'
gem 'rails', '>= 6.0.3.1'

# Both are built from source on purpose: the deploy servers run a glibc older than 2.29, and the
# precompiled x86_64-linux gems that pg ships since 1.6 and nokogiri since 1.18 are linked against
# 2.29, so they load with "libm.so.6: version `GLIBC_2.29' not found". force_ruby_platform makes
# Bundler ignore those binaries and compile from source there, which is how both were installed
# before they started publishing Linux binaries. Needs bundler >= 2.3.18. nokogiri is listed here
# only for that flag - it is pulled in by Rails, not used directly. Drop both once the servers get
# a newer distribution; anything below glibc 2.29 is an out-of-support release and these two will
# not be the last gems to ship binaries it cannot load.
gem 'nokogiri', force_ruby_platform: true
gem 'pg', '~> 1.6.3', force_ruby_platform: true
gem 'rails', '~> 8.1.3'
gem 'recaptcha', '~> 5.21', require: 'recaptcha/rails'
gem 'sassc', '~> 2.4'
gem 'sassc-rails'
gem 'simpleidn', '0.2.1' # For Punycode
gem 'uglifier'
# Ruby 3.4 demoted syslog from a default gem to a bundled one, so Bundler no longer puts it on the
# load path unless it is asked for. config/environments/production.rb logs through Syslog::Logger.
gem 'syslog'

group :development do
gem 'listen', '>= 3.0.5', '< 3.10.1'
Expand All @@ -35,6 +40,9 @@ group :development, :test do
end

group :test do
# minitest 6 moved mocks and stubs out of the gem itself; test_helper requires
# minitest/mock and the mailer test stubs a method with it.
gem 'minitest-mock'
gem 'selenium-webdriver'
gem 'simplecov', '0.17.1', require: false # CC last supported v0.17
gem 'simplecov', require: false
end
Loading
Loading