Conversation
ruby.NewCommandFactory used to return an error whenever the Ruby install type could not be determined, conflating no ruby in PATH with ruby present but installed somewhere we do not recognise. This Step treats that error as fatal, so the second case failed the build even though the factory works fine without version manager specific handling. bitrise-io/go-steputils#154 separated the two, and the new signature takes a logger, so the call site passes the one already in scope. go-xcode/v2 goes to alpha.85 in the same commit, because it is not optional: its devportalclient and xcpretty packages call ruby.NewCommandFactory too, and the versions before alpha.85 still use the two-parameter form, which no longer compiles against the bumped library. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Why
ruby.NewCommandFactoryused to return an error whenever the Ruby install type could not be determined, which conflated two different situations:rubyinPATHat all — genuinely fatal, andrubypresent but installed somewhere we do not recognise — not a failure: the factory works, just without version-manager-specific handling.This Step treats the error as fatal, so case 2 failed the build for no good reason:
bitrise-io/go-steputils#154 separated the two: only a missing
rubyerrors, an unrecognised install type warns. The new signature takes a logger, so the call site passes the one already in scope.Found while fixing the other half of the same library bug in bitrise-steplib/steps-fastlane#116, which warned on the error and then panicked on the nil factory it kept. This Step never had that panic — it fails fast — so this is purely about not failing on case 2.
What
go-steputils/v2alpha.53 → alpha.54go-xcode/v2alpha.80 → alpha.85loggerThe go-xcode/v2 bump is not optional: its
autocodesign/devportalclientandxcprettypackages callruby.NewCommandFactoryas well, and every version before alpha.85 still uses the two-parameter form, so they no longer compile against the bumped library. alpha.85 (bitrise-io/go-xcode#345) fixes those call sites.Most of the diff is
vendor/andgo.sum: MVS pulls newer transitive versions along with go-xcode/v2 alpha.85. No first-party code changes beyond the one call site.Verification
go build ./...,go vet ./...andgo test ./...are green.