(MODULES-11710) Add Puppet 9 support#1482
Draft
skyamgarp wants to merge 1 commit into
Draft
Conversation
Bumps the puppet version_requirement to < 10.0.0, drops EOL platforms Puppet 8/9 don't ship agents for (EL7 family, CentOS 8, Debian 10, SLES 12, Ubuntu 18.04), gates lint tooling (voxpupuli-puppet-lint-plugins, puppetlabs_spec_helper, puppet_litmus) and the puppet/facter gem source behind a Puppet 9 (8.99.x) stream check in the Gemfile, disables the strict_indent lint check whose rules conflict between the two plugin versions, and wires ci.yml to the companion branches needed for the Puppet 9 spec/acceptance lanes. Co-Authored-By: Claude Sonnet 5 <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.
Summary
Adds Puppet 9 support to
puppetlabs-stdlib, following the same pattern established in puppetlabs-apache#2638 (MODULES-11700).Jira: MODULES-11710
What's included
metadata.json: raises the Puppet upper bound (< 9.0.0→< 10.0.0) and drops EOL platforms that Puppet 8/9 don't ship agents for (EL7 family, CentOS 8, Debian 10, SLES 12, Ubuntu 18.04).Gemfile): the Puppet 9 lane runs on Ruby 3.4+, where puppet-lint 4.x crashes; the Puppet 7/8 lane runs on Ruby 3.1, wherevoxpupuli-puppet-lint-plugins ~> 7.0won't resolve. Gated behind apuppet9_streamcheck derived fromPUPPET_GEM_VERSION, keeping released tooling on 7/8.strict_indentdisabled (Rakefile):puppet-lint-strict_indent-checkdemands opposite indentation between the 3.x (7/8) and 5.x (9) plugin versions, so no single manifest layout passes both lanes.Gemfile): the 8.99.x prerelease is fetched viaPUPPET_GEM_SOURCE(internal Artifactory), reachable over Twingate in CI.ci.yml: Spec job points at thecat-github-actionsbranch that wiresPUPPET_GEM_SOURCE/Twingate for the Puppet 9 lane; Acceptance flags gain--collection-platform-exclude 9:ubuntu-20.04(Focal has no Puppet 9 agent).Dependencies
Like the Apache PR, this temporarily pins two companion branches; both should revert to released refs once merged:
--collection-platform-excludetomatrix_from_metadata_v3(Gemfile pins the branch).PUPPET_GEM_SOURCE+ Twingate for the Puppet 9 spec lane (ci.ymlSpec pins the branch).Testing
bundle exec rake lintclean on Ruby 3.1 (Puppet 7/8 lane, current tooling).bundle exec metadata-json-lint metadata.jsonclean.on_supported_os-driven specs correctly reflect the trimmed OS matrix.🤖 Generated with Claude Code