Skip to content

Commit 4dd8410

Browse files
committed
[test] Test against JRuby 10 and Rails 8.0
(cherry picked from commit d794a22) # Conflicts: # .github/workflows/maven.yml # CHANGELOG.md # README.md # pom.xml # src/main/ruby/jruby/rack/version.rb
1 parent c5b027b commit 4dd8410

6 files changed

Lines changed: 47 additions & 8 deletions

File tree

.github/workflows/maven.yml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,16 @@ jobs:
1919

2020
strategy:
2121
matrix:
22-
jruby_version: [ '9.3.15.0', '9.4.14.0' ]
22+
jruby_version: [ '9.3.15.0', '9.4.14.0', '10.0.5.0' ]
2323
java_version: [ '8', '11', '17', '21', '25' ]
2424
rack_version: [ '~> 2.2.0' ]
25+
exclude:
26+
- jruby_version: '10.0.5.0'
27+
java_version: '8' # JRuby 10 requires Java 21
28+
- jruby_version: '10.0.5.0'
29+
java_version: '11' # JRuby 10 requires Java 21
30+
- jruby_version: '10.0.5.0'
31+
java_version: '17' # JRuby 10 requires Java 21
2532
fail-fast: false
2633

2734
steps:
@@ -59,16 +66,27 @@ jobs:
5966
'rails70_rack22',
6067
'rails71_rack22',
6168
'rails72_rack22',
69+
'rails80_rack22',
6270
]
63-
jruby_version: [ '9.3.15.0', '9.4.14.0' ]
71+
jruby_version: [ '9.3.15.0', '9.4.14.0', '10.0.5.0' ]
6472
java_version: [ '8', '11', '17', '21', '25' ]
6573
exclude:
74+
- jruby_version: '10.0.5.0'
75+
java_version: '8' # JRuby 10 requires Java 21
76+
- jruby_version: '10.0.5.0'
77+
java_version: '11' # JRuby 10 requires Java 21
78+
- jruby_version: '10.0.5.0'
79+
java_version: '17' # JRuby 10 requires Java 21
6680
- appraisal: 'rails70_rack22' # Requires Ruby 2.7 compatibility, which JRuby 9.3 does not support
6781
jruby_version: '9.3.15.0'
6882
- appraisal: 'rails71_rack22' # Requires Ruby 2.7 compatibility, which JRuby 9.3 does not support
6983
jruby_version: '9.3.15.0'
7084
- appraisal: 'rails72_rack22' # Requires Ruby 3.1 compatibility, which JRuby 9.3 does not support
7185
jruby_version: '9.3.15.0'
86+
- appraisal: 'rails80_rack22' # Requires Ruby 3.4 compatibility, which JRuby 9.3 does not support
87+
jruby_version: '9.3.15.0'
88+
- appraisal: 'rails80_rack22' # Requires Ruby 3.4 compatibility, which JRuby 9.4 does not support
89+
jruby_version: '9.4.14.0'
7290
fail-fast: false
7391

7492
env:

Appraisals

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ version_spec = ->(prefix, desc) { "~> #{desc.split(prefix).last.insert(1, ".")}.
99
"rails61" => %w[rack22],
1010
"rails70" => %w[rack22],
1111
"rails71" => %w[rack22],
12-
"rails72" => %w[rack22]
12+
"rails72" => %w[rack22],
13+
"rails80" => %w[rack22]
1314
}.each do |rails_desc, rack_descs|
1415
rack_descs.each do |rack_desc|
1516

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
- Ensure rack boot process leaves ENV['GEM_PATH'] and Gem.paths in a consistent state
1212
- Remove undocumented and unsafe jruby.rack.env.gem_path = false option (unusable on Bundler 1.6+)
1313
- Fix unintended Rubygems initialization too early in boot process with JRuby 9.4+
14+
- Adds basic compatibility with JRuby 10.0
1415

1516
## 1.2.5
1617

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ For more information on Rack, visit http://rack.github.io/.
1313

1414
## Compatibility
1515

16-
| JRuby-Rack Series | Status | Rack | JRuby | Java | Rails | Target Servlet API | Notes |
17-
|----------------------------------------------------------------|---------------|-----------|-----------|------|-----------|--------------------|----------------------------------------------------------------|
18-
| [**1.2**](https://github.com/jruby/jruby-rack/tree/1.2-stable) | Maintained | 2.2 | 9.3 → 9.4 | 8+ | 5.0 → 7.2 | 3.0 (Java EE 6) |_Unofficial_: Servlet 3.1 → 4.0 also OK with most containers |
19-
| [**1.1**](https://github.com/jruby/jruby-rack/tree/1.1-stable) | EOL @ 2024-05 | 1.x → 2.2 | 1.6 → 9.4 | 6+ | 2.1 → 5.2 | 2.5 (Java EE 5) |_Unofficial_: Servlet 3.0 → 4.0 also OK with most containers |
20-
| [**1.0**](https://github.com/jruby/jruby-rack/tree/1.0.10) | EOL @ 2011-11 | 0.9 → 1.x | 1.1 → 1.9 | 5+ | 2.1 → 3.x | 2.5 (Java EE 5) | |
16+
| JRuby-Rack Series | Status | Rack | JRuby | Java | Rails | Target Servlet API | Notes |
17+
|----------------------------------------------------------------|---------------|-----------|------------|------|-----------|--------------------|----------------------------------------------------------------|
18+
| [**1.2**](https://github.com/jruby/jruby-rack/tree/1.2-stable) | Maintained | 2.2 | 9.3 → 10.0 | 8+ | 5.0 → 8.0 | 3.0 (Java EE 6) |_Unofficial_: Servlet 3.1 → 4.0 also OK with most containers |
19+
| [**1.1**](https://github.com/jruby/jruby-rack/tree/1.1-stable) | EOL @ 2024-05 | 1.x → 2.2 | 1.6 → 9.4 | 6+ | 2.1 → 5.2 | 2.5 (Java EE 5) |_Unofficial_: Servlet 3.0 → 4.0 also OK with most containers |
20+
| [**1.0**](https://github.com/jruby/jruby-rack/tree/1.0.10) | EOL @ 2011-11 | 0.9 → 1.x | 1.1 → 1.9 | 5+ | 2.1 → 3.x | 2.5 (Java EE 5) | |
2121

2222
## Getting Started
2323

gemfiles/rails80_rack22.gemfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org"
4+
5+
gem "rake", "~> 13.3", group: :test, require: nil
6+
gem "rspec", group: :test
7+
8+
group :default do
9+
gem "rack", "~> 2.2.0"
10+
gem "rails", "~> 8.0.0"
11+
end
12+
13+
group :development do
14+
gem "appraisal", require: nil
15+
end

src/spec/ruby/jruby/rack/integration_spec.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,10 @@
219219
it_should_behave_like 'a rails app'
220220
end
221221

222+
describe 'rails 8.0', lib: :rails80 do
223+
it_should_behave_like 'a rails app'
224+
end
225+
222226
def expect_to_have_monkey_patched_chunked
223227
@runtime.evalScriptlet "require 'rack/chunked'"
224228
script = %{

0 commit comments

Comments
 (0)