Repository navigation
Conversation
423acc9 to
db08eaf
Compare
|
I wonder if it will be better to make a breaking change and have |
|
I agree. As it is a breaking change, I'd like to hear from @eregon before changing it in this PR. |
A missing bundle now fails the setup, so it is reported there rather than as a certificate error later. The bundle is found on every runner image, windows-11-arm included. #971 (comment) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
||
| export function isBundler1Default(engine, rubyVersion) { | ||
| if (engine === 'ruby') { | ||
| if (isCRuby(engine)) { |
There was a problem hiding this comment.
This is quite error-prone as engine === 'ruby' has always been used and might be in the future.
Not sure what's a good solution though.
There was a problem hiding this comment.
Another approach I can think of that is potentially less error-prone is to make this more object oriented. E.g. introduce a class RubyVersion. If we only pass the object around, and only call the instance method provided by the class, so there is less chance to have errors?
class RubyVersion {
constructor(rubyVersion) {
...
}
get engine() {
...
}
get isCRuby() {
...
}
get version() {
...
}
get floatVersion() {
...
}
}|
I'll think a bit about this. I agree if we add those names that it would be natural for I would like to know more about the longer-term plans for those builds. I'm unsure it's worth having 2 variants of builds on Windows. |
| | ----------- | -------- | | ||
| | `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 4.1.0-preview1, head, debug, mingw, mswin, ucrt | | ||
| | `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 4.1.0-preview1, head, debug, mingw, ucrt | | ||
| | `mswin` | 3.4.11 - 4.0.9, head (Windows only) | |
There was a problem hiding this comment.
mswin isn't really an interpreter so this reads a bit strange.
|
Relevant ticket: https://bugs.ruby-lang.org/issues/22180 |
The mswin builds are downloaded from cache.ruby-lang.org, which does not take the token. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The mswin build of ruby-loco has not been updated since 2026-10-14. The builds at cache.ruby-lang.org are published daily under dated names for x64 and arm64, so the latest one is picked from index.json. Their OpenSSL looks for certificates in a directory that does not exist on runners, so SSL_CERT_FILE points at the bundle of Git for Windows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0b0e3f0 to
56f33e1
Compare
|
I narrowed this PR to switching where |
|
@ntkme Thanks for the commits you pushed here. They are kept on a branch for the follow-up PR with the release versions, where I'll also consider your |
ruby-version: mswininstalls the mswin build of ruby-loco, which has not been updated since 2026-10-14 (see #972). The stale build already gets in the way:rb_len_tlanded in master in November, and nobu's PRs updating ruby/openssl, ruby/date and ruby/zlib for it cannot be tested on mswin, because their CI still gets the October build.This PR keeps
mswinas the master build and only changes where it comes from: the daily builds at https://cache.ruby-lang.org/pub/ruby/binaries/mswin64/, which I maintain as the official mswin builds of https://bugs.ruby-lang.org/issues/22180. The latest one is picked from index.json at runtime, and arm64 is available too. As larskanis noted in #972,mswinhas always been a development build, so the switch needs no deprecation period. The download token is now sent only to github.com, so it does not reach cache.ruby-lang.org.Release versions such as
mswin-4.0are left for a separate PR.Generated with Claude Code