Skip to content

Commit fbe31d8

Browse files
authored
Merge pull request rails#47472 from skipkayhil/fix-old-ruby-dockerfile-packages
Fix parsing ruby version for Dockerfile packages
2 parents 6d2e4de + 95b3b31 commit fbe31d8

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

railties/lib/rails/generators/app_base.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -520,11 +520,11 @@ def dockerfile_build_packages
520520
# how python is installed with the bullseye release. Below
521521
# is based on debian release included with the Ruby images on
522522
# Dockerhub.
523-
case Gem.ruby_version
524-
when /^2.7/
525-
bullseye = ruby_version >= "2.7.4"
526-
when /^3.0/
527-
bullseye = ruby_version >= "3.0.2"
523+
case Gem.ruby_version.to_s
524+
when /^2\.7/
525+
bullseye = Gem.ruby_version >= "2.7.4"
526+
when /^3\.0/
527+
bullseye = Gem.ruby_version >= "3.0.2"
528528
else
529529
bullseye = true
530530
end

railties/test/generators/app_generator_test.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1047,6 +1047,17 @@ def test_dockerfile
10471047
end
10481048
end
10491049

1050+
def test_old_rubies_do_not_use_bullseye_python
1051+
Gem.stub(:ruby_version, Gem::Version.new("2.7.0")) do
1052+
run_generator [destination_root, "--js=esbuild"]
1053+
end
1054+
1055+
assert_file "Dockerfile" do |content|
1056+
assert_match(/python/, content)
1057+
assert_no_match(/python-is-python3/, content)
1058+
end
1059+
end
1060+
10501061
def test_skip_docker
10511062
run_generator [destination_root, "--skip-docker"]
10521063

0 commit comments

Comments
 (0)