Conversation
|
I'm not sure the best path forward so this is to start a conversation. JRuby 10 will be released soon, and in preparation for that we are moving it to master. At some point, jruby-head will refer to 10.x snapshot builds. However, we want to ease into that given the large number of users running CI against jruby-head. This may be a setup-ruby question, but is there a way to have multiple "head" references? I believe we will have two possible situations for existing jruby-head users:
And there may be users who want to explicitly opt into 10-head. What's the best way to start making this move? |
JRuby 10 is about to become the new "jruby-head" but we want to ease into that transition. This PR filters available snapshot versions to just "9.4" releases until we are ready to support 10.
|
Tested locally to confirm that it only accepts 9.4 builds. Need to merge before tomorrow's release because there are now 10 snapshot builds in Maven and they will be picked up without this change. |
No, there is nothing like that, it hasn't been needed so far and I would rather avoid the complexity from it. Delaying it like this PR does has never been done for CRuby/TruffleRuby, but that's your choice and it may make sense temporarily in this situation.
So those use
Those can then simply use |
|
|
||
| versions.delete('9000.dev-SNAPSHOT') | ||
| most_recent = versions.max_by { |v| Gem::Version.new(v) } | ||
| most_recent = versions.grep(/9\.4/).max_by { |v| Gem::Version.new(v) } |
There was a problem hiding this comment.
Could you use an anchor here like /^9\.4/ to avoid potentially wrong matches?
There was a problem hiding this comment.
It won't be here long enough to matter.
There was a problem hiding this comment.
Since I couldn't review before your merged, and this is my review, and I'm the main maintainer of setup-ruby & related repos I would like you to address this. I want to be sure we don't get some strange behavior because it matches e.g. 9.3.9.4. And it's just more correct.
There was a problem hiding this comment.
There will never be a 9.3.9.4, nor a .9.4 for any previous release. In theory there could someday be a 10.0.9.4 or 10.9.4.0 but this patch will be gone before 10.0 is even released (within the next month).
Since I couldn't review before your merged
It was necessary to expedite because we started pushing 10 snapshot builds and I knew users would start seeing those in setup-ruby before we're ready. Given the time-sensitive nature I opted to merge in a working patch. I'll add your refinement now.
I already pointed out, and you mentioned, that this is a temporary move. Two things need to happen for 10 to become jruby-head in setup-ruby:
I'm currently working on tasks 1 and 2. Task 3 is under discussion at ruby/setup-ruby#684. |
I suppose this is valid. Once 10 is released, nearly all day-today development will focus on that line. The 9.4 line should not see heavy day-to-day development so testing against 9.4-head is probably not an important use case. |
JRuby 10 is about to become the new "jruby-head" but we want to ease into that transition. This PR filters available snapshot versions to just "9.4" releases until we are ready to support 10.