Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Constrain orchestrator_client #743

Merged

Conversation

mhashizume
Copy link
Contributor

The 0.7.1 release of orchestrator_client broadened its dependency on Faraday (see puppetlabs/orchestrator_client-ruby@6f8661e). This change has caused Bundler to resolve Faraday in unexpected ways when there are other Gems with dependencies on Faraday.

This commit constrains orchestrator_client to < 0.7.1 until this issue is resolved.

The 0.7.1 release of orchestrator_client broadened its dependency on
Faraday (see puppetlabs/orchestrator_client-ruby@6f8661e). This
change has caused Bundler to resolve Faraday in unexpected ways when
there are other Gems with dependencies on Faraday.

This commit constrains orchestrator_client to < 0.7.1 until this issue
is resolved.
@mhashizume mhashizume added the maintenance Maintenance chores are typically excluded from changelogs label Nov 22, 2024
@mhashizume mhashizume requested review from bastelfreak and a team as code owners November 22, 2024 19:15
@mhashizume
Copy link
Contributor Author

To be more specific, without this change we're seeing Bundler resolve Faraday to 1.9.0 when I would expect it to resolve to 1.10.4. 1.9.0 has requirements on a version of patron that uses native extensions.

I can't figure out why Bundler is resolving to 1.9.0, none of our dependencies seem to require that version specifically:

bundle info faraday
  * faraday (1.9.0)
	Summary: HTTP/REST API client library.
	Homepage: https://lostisland.github.io/faraday
	Source Code: https://github.com/lostisland/faraday
	Changelog: https://github.com/lostisland/faraday/releases/tag/v1.9.0
	Bug Tracker: https://github.com/lostisland/faraday/issues
	Path: /Users/michael.hashizume/.rbenv/versions/3.2.6/lib/ruby/gems/3.2.0/gems/faraday-1.9.0
	Reverse Dependencies:
		faraday_middleware (1.2.1) depends on faraday (~> 1.0)
		orchestrator_client (0.7.1) depends on faraday (>= 1.4, < 3.0)
		puppet_forge (3.2.0) depends on faraday (~> 1.3)
		vmfloaty (1.8.1) depends on faraday (~> 1.5, >= 1.5.1)

I thought this may be an issue with older Rubies/Bundler, but I was able to reproduce this with a minimal set up with the latest Ruby and Bundler:

$ cat Gemfile
source "https://rubygems.org/"

gem 'orchestrator_client'
gem 'vmfloaty'
$ ruby -v
ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [arm64-darwin23]
$ bundler -v
Bundler version 2.5.22
$ bundle install
...
$ bundle info faraday
  * faraday (1.9.0)
	Summary: HTTP/REST API client library.
	Homepage: https://lostisland.github.io/faraday
	Source Code: https://github.com/lostisland/faraday
	Changelog: https://github.com/lostisland/faraday/releases/tag/v1.9.0
	Bug Tracker: https://github.com/lostisland/faraday/issues
	Path: /Users/michael.hashizume/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/faraday-1.9.0
	Reverse Dependencies:
		orchestrator_client (0.7.1) depends on faraday (>= 1.4, < 3.0)
		vmfloaty (1.8.1) depends on faraday (~> 1.5, >= 1.5.1)

I think this may be an issue with Bundler. I'll open an issue upstream if I can't find another explanation

@joshcooper joshcooper merged commit 7a5bedd into puppetlabs:main Nov 22, 2024
16 checks passed
@mhashizume mhashizume deleted the maint/main/pin-orchestator-client branch November 22, 2024 19:33
@mhashizume
Copy link
Contributor Author

I've opened an issue upstream rubygems/rubygems#8286

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Maintenance chores are typically excluded from changelogs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants