Skip to content

Commit 169bd93

Browse files
committed
Rip out support for end-of-life Ruby versions
We've been carrying support for a bunch of EOL Ruby versions on the basis that it was easy. Adding support for Ruby 4.0 means adding `cgi` as an explicit dependency as it is no longer a default gem. The latest version of it is incompatible with JRuby 9.1, which targets Ruby 2.x compatibility (while JRuby targets more specific Ruby versions now, before JRuby 9.2, it followed whatever the latest version of 2.x was). We might be able to find a way to conditionally avoid installing the gem on that version of JRuby and let it use the included version, but at this point I don't want to pile on more hacks to support EOL versions of Ruby that have been out of support for a long time. There are better places to spend effort on this library. Let's take the opportunity to officially drop all currently EOL Ruby versions. I'll bump the major version in the next release. Signed-off-by: Chris Sinjakli <chris@sinjakli.co.uk>
1 parent 5c64546 commit 169bd93

1 file changed

Lines changed: 1 addition & 34 deletions

File tree

.circleci/config.yml

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,7 @@ jobs:
1212

1313
steps:
1414
- checkout
15-
# We need to limit the version of Rubygems that we update to for some of the older
16-
# JRuby versions. Specifically:
17-
#
18-
# - JRuby 9.2.x targets Ruby 2.5, and Rubygems 3.3.26 was the last version to
19-
# support that
20-
# - JRuby 9.3.x targets Ruby 2.6, and version 3.4.22 was the last version to
21-
# support that
22-
#
23-
# For now, we'll pin to the last supported version. We can drop this check once we
24-
# drop all those versions of JRuby.
25-
- run: |
26-
running_very_old_ruby=$(ruby -e 'puts Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.6.0")')
27-
running_moderately_old_ruby=$(ruby -e 'puts Gem::Version.new(RUBY_VERSION) < Gem::Version.new("3.0.0")')
28-
if [[ "${running_very_old_ruby}" == "true" ]]; then
29-
gem update --system 3.3.26
30-
elif [[ "${running_moderately_old_ruby}" == "true" ]]; then
31-
gem update --system 3.4.22
32-
else
33-
gem update --system
34-
fi
15+
- run: gem update --system
3516
- run: bundle install
3617
- run: bundle exec rake
3718

@@ -43,21 +24,7 @@ workflows:
4324
matrix:
4425
parameters:
4526
ruby_image:
46-
- cimg/ruby:2.6
47-
- cimg/ruby:2.7
48-
- cimg/ruby:3.0
49-
- cimg/ruby:3.1
5027
- cimg/ruby:3.2
5128
- cimg/ruby:3.3
5229
- cimg/ruby:3.4
53-
# We've switched to JRuby's own Docker image as CircleCI decided to
54-
# stop supporting it when they deprecated their legacy images. For
55-
# some reason, the official JRuby image for 9.1 fails with an
56-
# inscrutable error message that isn't worth debugging.
57-
#
58-
# We'll drop this version on our next major release anyway, as it's
59-
# out of security support.
60-
- circleci/jruby:9.1
61-
- jruby:9.2
62-
- jruby:9.3
6330
- jruby:9.4

0 commit comments

Comments
 (0)