Skip to content

(MODULES-11707) Add Puppet 9 support - #381

Merged
skyamgarp merged 1 commit into
mainfrom
MODULES-11707
Aug 24, 2026
Merged

skyamgarp merged 1 commit into
mainfrom
MODULES-11707

Conversation

@skyamgarp

Copy link
Copy Markdown
Contributor

Summary

Adds Puppet 9 support, following the same approach as puppetlabs-stdlib#1482.

  • metadata.json: bump the puppet version_requirement upper bound from < 9.0.0 to < 10.0.0.
  • .github/workflows/ci.yml: exclude EOL platforms (EL7 family, CentOS 8, SLES 12, Debian 10) from the Puppet 9 acceptance lane only, since Puppet 9 ships no agent for them. They remain supported for Puppet 8.
  • Gemfile: temporarily point puppet_litmus at main, since --collection-platform-exclude support (puppetlabs/puppet_litmus#627) hasn't shipped in a release yet. Revert to a released ~> 2.x+ gem once one ships.

Jira: MODULES-11707

🤖 Generated with Claude Code

@skyamgarp
skyamgarp requested a review from a team as a code owner August 12, 2026 11:10
@skyamgarp
skyamgarp force-pushed the MODULES-11707 branch 6 times, most recently from bfb7add to 87fd77d Compare August 12, 2026 12:12
- metadata.json: bump the puppet version_requirement upper bound from
  < 9.0.0 to < 10.0.0.
- ci.yml / nightly.yml:
  - install libcurl dev headers for the Spec job (puppet_litmus ->
    bolt 4.x -> faraday-patron -> patron builds a native extension
    that needs them).
  - bump ruby_version to 3.2 for the Spec and Acceptance jobs,
    required by voxpupuli-puppet-lint-plugins ~> 7.0.
  - exclude EOL platforms with no Puppet 9 agent package (EL7 family,
    Debian 10) from the Puppet 9 acceptance lane only, verified
    against the puppetcore9-nightly repo. They remain supported for
    Puppet 8. SLES 12 and CentOS 8 do have Puppet 9 agents, so they
    stay on both lanes.
- mend.yml: bump ruby_version to 3.2 to match.
- Gemfile:
  - bump voxpupuli-puppet-lint-plugins to ~> 7.0, since puppet-lint
    4.x crashes under Ruby 4.0 (used for the Puppet 9 lane).
  - bump puppetlabs_spec_helper to ~> 9.0, which depends on the
    puppetlabs-syntax gem (puppet-syntax's successor) instead of the
    old puppet-syntax gem, and puppet-lint ~> 5.0.
- Rakefile: require puppetlabs-syntax instead of puppet-syntax,
  matching the Gemfile bump.
- plans/init.pp: fix indentation flagged by the newer puppet-lint's
  strict_indent check (pre-existing style drift the older linter
  didn't catch).

Ref: puppetlabs/puppetlabs-inifile#573

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@skyamgarp

Copy link
Copy Markdown
Contributor Author

Note: the SLES-12 acceptance job (both Puppet 8 and Puppet 9 lanes) is currently failing due to a known, separately-tracked provisioning infra issue — CAT-2765. This is unrelated to the Puppet 9 support changes in this PR; every other platform across the Puppet 8 and Puppet 9 acceptance lanes passes.

@skyamgarp
skyamgarp merged commit 009911a into main Aug 24, 2026
45 of 47 checks passed
@skyamgarp
skyamgarp deleted the MODULES-11707 branch August 24, 2026 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants