Skip to content

Add Ruby 4.0 / Puppet 9 support - #117

Merged
david22swan merged 2 commits into
mainfrom
add-puppet9-ruby4-support
Aug 18, 2026
Merged

david22swan merged 2 commits into
mainfrom
add-puppet9-ruby4-support

Conversation

@LukasAud

Copy link
Copy Markdown
Contributor

With the arrival of Puppetcore 9, we need to ensure our tools are compatible with Ruby 4.

  • Adds a ruby_version: 4.0 / puppet_gem_version: ~> 9.0 lane to both ci.yml and nightly.yml's spec and acceptance jobs.
  • The Gemfile had no puppetcore-sourcing logic at all previously — it just used a hardcoded https://rubygems.org source. Sources puppet from rubygems-puppetcore.puppet.com when a forge token is present, same pattern as our other tool repos. Also picked up ENV['GEM_SOURCE'] support while touching this, matching the standard pattern elsewhere.

No puppetlabs_spec_helper/puppet_litmus/bolt dependency in this gem, so it's clear of both known blockers hitting some of our other tools right now.

Verified locally: full spec suite passes (38 examples, 0 failures), rubocop clean.

Checklist

  • 🟢 Spec tests.
  • 🟢 Acceptance tests.
  • Manually verified.

With the arrival of Puppetcore 9, we need to ensure our tools are
compatible with Ruby 4. Adds a ruby_version: 4.0 / puppet_gem_version:
~> 9.0 lane to ci.yml and nightly.yml's spec and acceptance jobs.

The Gemfile had no puppetcore-sourcing logic at all - it just used a
hardcoded rubygems.org source. Sources puppet from
rubygems-puppetcore.puppet.com when a forge token is present, same
pattern as our other tool repos.
@LukasAud
LukasAud requested a review from a team as a code owner August 17, 2026 13:11
Ruby 4.0 unbundled win32ole from the standard library. puppet 9.0.0's
Windows code (lib/puppet/util/windows.rb) still expects it to just be
there, so the windows-latest/ruby-4.0/puppet-9.0 acceptance lane fails
with "cannot load such file -- win32ole". Add it explicitly, same
pattern as the existing ffi/minitar Windows-only gems.
@LukasAud LukasAud added the feature New feature or request label Aug 18, 2026
@david22swan
david22swan merged commit d1a7cd8 into main Aug 18, 2026
13 of 14 checks passed
@david22swan
david22swan deleted the add-puppet9-ruby4-support branch August 18, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants