1010 # Default versions for canonical release build
1111 DEFAULT_JAVA_VERSION : ' 8'
1212 DEFAULT_JRUBY_VERSION : ' 9.4.13.0' # Should match pom.xml <jruby.version> property (AND a version inside the test matrix)
13+ DEFAULT_RACK_VERSION : ' ~> 2.2' # Should match Gemfile (AND a version inside the test matrix)
1314
1415jobs :
1516 build :
16- name : JRuby ${{ matrix.jruby_version }} / Java ${{ matrix.java_version }}
17+ name : Rack ${{ matrix.rack_version }} on JRuby ${{ matrix.jruby_version }} / Java ${{ matrix.java_version }}
1718 runs-on : ubuntu-latest
1819
1920 strategy :
2021 matrix :
2122 jruby_version : [ '9.4.13.0', '10.0.2.0' ]
2223 java_version : [ '8', '11', '17', '21' ]
24+ rack_version : [ '~> 2.2' ]
2325 exclude :
2426 - jruby_version : ' 10.0.2.0'
2527 java_version : ' 8' # JRuby 10 requires Java 21
@@ -41,31 +43,42 @@ jobs:
4143
4244 - name : Build with Maven
4345 run : ./mvnw -B install -Djruby.version=${{ matrix.jruby_version }}
46+ env :
47+ RACK_VERSION : ${{ matrix.rack_version }}
4448
4549 # Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
4650 - name : Update dependency graph
4751 uses : advanced-security/maven-dependency-submission-action@b275d12641ac2d2108b2cbb7598b154ad2f2cee8 # v5.0.0
48- if : github.ref == 'refs/heads/master' && matrix.java_version == env.DEFAULT_JAVA_VERSION && matrix.jruby_version == env.DEFAULT_JRUBY_VERSION
52+ if : github.ref == 'refs/heads/master' && matrix.java_version == env.DEFAULT_JAVA_VERSION && matrix.jruby_version == env.DEFAULT_JRUBY_VERSION && matrix.rack_version == env.DEFAULT_RACK_VERSION
4953
5054 appraisals :
5155 needs : build
52- name : ${{ matrix.appraisal }} appraisal on ${{ matrix.jruby_version }} / Java ${{ matrix.java_version }}
56+ name : ${{ matrix.appraisal }} on ${{ matrix.jruby_version }} / Java ${{ matrix.java_version }}
5357 runs-on : ubuntu-latest
5458
5559 strategy :
5660 matrix :
61+ appraisal : [
62+ ' rails50_rack22' ,
63+ ' rails52_rack22' ,
64+ ' rails60_rack22' ,
65+ ' rails61_rack22' ,
66+ ' rails70_rack22' ,
67+ ' rails71_rack22' ,
68+ ' rails72_rack22' ,
69+ ' rails80_rack22' ,
70+ ]
5771 jruby_version : [ '9.4.13.0', '10.0.2.0' ]
5872 java_version : [ '8', '11', '17', '21' ]
59- appraisal : [ 'rails50', 'rails52', 'rails60', 'rails61', 'rails70', 'rails71', 'rails72', 'rails80' ]
6073 exclude :
61- - jruby_version : ' 9.4.13.0'
62- appraisal : ' rails80' # Requires Ruby 3.4 compatibility, which JRuby 9.4 does not support
6374 - jruby_version : ' 10.0.2.0'
6475 java_version : ' 8' # JRuby 10 requires Java 21
6576 - jruby_version : ' 10.0.2.0'
6677 java_version : ' 11' # JRuby 10 requires Java 21
6778 - jruby_version : ' 10.0.2.0'
6879 java_version : ' 17' # JRuby 10 requires Java 21
80+ - appraisal : ' rails80_rack22'
81+ jruby_version : ' 9.4.13.0' # Rails 8 requires Ruby 3.4 compatibility, which JRuby 9.4 does not support
6982 fail-fast : false
7083
7184 env :
0 commit comments