Set up Java 21 for JRuby - #21
Open
sampokuokkanen wants to merge 1 commit into
Open
Conversation
JRuby is compiled for Java 21, but the runner provides Java 17 by default, so it fails to start before any tests run: UnsupportedClassVersionError: org/jruby/main/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JRuby is compiled for Java 21, but GitHub's runners provide Java 17 by default, so it fails to start before any tests run:
Set up Java 21 before
ruby/setup-ruby, only for JRuby, so the other entries in the matrix are unaffected.I verified this on a project using the current template: JRuby now starts and proceeds to install gems. That project happens to depend on a C extension, so its JRuby entry still fails afterwards for an unrelated reason — but the runtime itself is no longer the blocker.