Conversation
The puppet gem is dead and won't be updated anymore. And it doesn't work on Ruby 4.
There was a problem hiding this comment.
Pull request overview
This PR updates octocatalog-diff’s gem dependencies to replace the deprecated puppet gem with openvox, aiming to keep the project compatible with newer Ruby versions.
Changes:
- Replace
puppetruntime/development dependencies with anopenvoxruntime dependency. - Remove Puppet-version-specific development dependency logic from the gemspec.
- Delete
config/puppet-versions.json(previously used by the gemspec to add conditional dev deps).
Reviewed changes
Copilot reviewed 2 out of 39 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
octocatalog-diff.gemspec |
Switch dependency from puppet to openvox and remove Puppet-version-based dependency injection logic. |
config/puppet-versions.json |
Remove Puppet version matrix config that was consumed by the gemspec. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| s.add_runtime_dependency 'parallel', '>= 1.12.0' | ||
| s.add_runtime_dependency 'rugged', '>= 0.25.0b2' | ||
| s.add_runtime_dependency 'puppet', '>= 5.5.0' | ||
| s.add_development_dependency 'puppet', '>= 5.5.0' | ||
| s.add_runtime_dependency 'openvox', '< 9' | ||
| s.add_development_dependency 'rspec', '~> 3.4.0' |
There was a problem hiding this comment.
script/bootstrap runs bundle install --local (offline) and the repository’s vendor/cache currently does not include an openvox-*.gem. With this new runtime dependency, bootstrap/CI will fail unless the OpenVox gem is vendored (or --local is removed/changed).
| s.add_runtime_dependency 'rugged', '>= 0.25.0b2' | ||
| s.add_runtime_dependency 'puppet', '>= 5.5.0' | ||
| s.add_development_dependency 'puppet', '>= 5.5.0' | ||
| s.add_runtime_dependency 'openvox', '< 9' |
There was a problem hiding this comment.
Removing the puppet gem dependency breaks the current bootstrap/CI tooling: script/bootstrap runs bundle binstubs puppet ... and extracts .puppet_version by grepping for puppet in Gemfile.lock, and script/puppet then executes bin/puppet. This PR needs corresponding updates so a bin/puppet binstub is still generated (or scripts are updated to use OpenVox) and the version file is derived from the correct gem/executable.
| s.add_runtime_dependency 'openvox', '< 9' | |
| s.add_runtime_dependency 'openvox', '< 9' | |
| s.add_development_dependency 'puppet', puppet_version |
| s.add_runtime_dependency 'rugged', '>= 0.25.0b2' | ||
| s.add_runtime_dependency 'puppet', '>= 5.5.0' | ||
| s.add_development_dependency 'puppet', '>= 5.5.0' | ||
| s.add_runtime_dependency 'openvox', '< 9' |
There was a problem hiding this comment.
With the removal of the Puppet version matrix block from this gemspec, require 'json', DEFAULT_PUPPET_VERSION, and puppet_version = ... are now unused. Please remove them (or repurpose puppet_version to constrain the openvox dependency) to avoid dead/misleading configuration.
The puppet gem is dead and won't be updated anymore. And it doesn't work on Ruby 4.
Overview
This pull request replaces puppet with openvox
the puppet gem is dead. It has outdated dependencies, it contains openssl monkey patches that prevents us from using Ruby 4, and it won't receive updates. openvox is the open source successor.
Checklist
rakein your checkout directory, or review the CI job triggered whenever you push to a pull request.rake coverage:specor ignoring untestable sections of code with# :nocovcomments. If you need help getting to 100% coverage please ask; however, don't just submit code with no tests..gemfile into the vendor/cache directory./cc [related issues] [teams and individuals, making sure to mention why you're CC-ing them]