Skip to content

Switch from puppet to openvox#347

Open
bastelfreak wants to merge 1 commit intogithub:masterfrom
bastelfreak:openvox
Open

Switch from puppet to openvox#347
bastelfreak wants to merge 1 commit intogithub:masterfrom
bastelfreak:openvox

Conversation

@bastelfreak
Copy link

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

  • Make sure that all of the tests pass, and fix any that don't. Just run rake in your checkout directory, or review the CI job triggered whenever you push to a pull request.
  • Make sure that there is 100% test coverage by running rake coverage:spec or ignoring untestable sections of code with # :nocov comments. If you need help getting to 100% coverage please ask; however, don't just submit code with no tests.
  • If you have added a new command line option, we would greatly appreciate a corresponding integration test that exercises it from start to finish. This is optional but recommended.
  • If you have added any new gem dependencies, make sure those gems are licensed under the MIT or Apache 2.0 license. We cannot add any dependencies on gems licensed under GPL.
  • If you have added any new gem dependencies, make sure you've checked in a copy of the .gem file into the vendor/cache directory.

/cc [related issues] [teams and individuals, making sure to mention why you're CC-ing them]

The puppet gem is dead and won't be updated anymore. And it doesn't work
on Ruby 4.
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 puppet runtime/development dependencies with an openvox runtime 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.

Comment on lines 31 to 34
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'
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
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'
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
s.add_runtime_dependency 'openvox', '< 9'
s.add_runtime_dependency 'openvox', '< 9'
s.add_development_dependency 'puppet', puppet_version

Copilot uses AI. Check for mistakes.
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'
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants