diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c236bbc2..205c4853 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,11 +9,25 @@ on: jobs: Spec: uses: "puppetlabs/cat-github-actions/.github/workflows/module_ci.yml@main" + with: + # puppet_litmus -> bolt 4.x -> faraday-patron -> patron builds a libcurl native extension; + # the runner has no libcurl headers, so install them before bundle (Puppet 9 lane, Ruby 4). + additional_packages: "libcurl4-openssl-dev" + ruby_version: "3.2" secrets: "inherit" Acceptance: needs: Spec uses: "puppetlabs/cat-github-actions/.github/workflows/module_acceptance.yml@main" with: - flags: "--nightly --arch-exclude arm" + ruby_version: "3.2" + flags: >- + --nightly + --arch-exclude arm + --collection-platform-exclude 9:redhat-7 + --collection-platform-exclude 9:centos-7 + --collection-platform-exclude 9:oraclelinux-7 + --collection-platform-exclude 9:debian-10 + --collection-platform-exclude 9:ubuntu-18.04 + --collection-platform-exclude 9:ubuntu-20.04 secrets: "inherit" diff --git a/.github/workflows/mend.yml b/.github/workflows/mend.yml index b4100a5a..4cb71f29 100644 --- a/.github/workflows/mend.yml +++ b/.github/workflows/mend.yml @@ -12,4 +12,6 @@ jobs: mend: uses: "puppetlabs/cat-github-actions/.github/workflows/mend_ruby.yml@main" + with: + ruby_version: "3.2" secrets: "inherit" diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 9f20eccd..e1835f36 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -9,10 +9,24 @@ jobs: Spec: uses: "puppetlabs/cat-github-actions/.github/workflows/module_ci.yml@main" secrets: "inherit" + with: + # puppet_litmus -> bolt 4.x -> faraday-patron -> patron builds a libcurl native extension; + # the runner has no libcurl headers, so install them before bundle (Puppet 9 lane, Ruby 4). + additional_packages: "libcurl4-openssl-dev" + ruby_version: "3.2" Acceptance: needs: Spec uses: "puppetlabs/cat-github-actions/.github/workflows/module_acceptance.yml@main" with: - flags: "--nightly --arch-exclude arm" + ruby_version: "3.2" + flags: >- + --nightly + --arch-exclude arm + --collection-platform-exclude 9:redhat-7 + --collection-platform-exclude 9:centos-7 + --collection-platform-exclude 9:oraclelinux-7 + --collection-platform-exclude 9:debian-10 + --collection-platform-exclude 9:ubuntu-18.04 + --collection-platform-exclude 9:ubuntu-20.04 secrets: "inherit" diff --git a/Gemfile b/Gemfile index 4e7de031..4d58393e 100644 --- a/Gemfile +++ b/Gemfile @@ -40,7 +40,7 @@ group :development do gem "json", '= 2.6.3', require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "racc", '~> 1.4.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "deep_merge", '~> 1.2.2', require: false - gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false + gem "voxpupuli-puppet-lint-plugins", '~> 7.0', require: false gem "facterdb", '~> 2.1', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "facterdb", '~> 3.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "metadata-json-lint", '~> 4.0', require: false @@ -60,7 +60,7 @@ group :development do end group :development, :release_prep do gem "puppet-strings", '~> 4.0', require: false - gem "puppetlabs_spec_helper", '~> 8.0', require: false + gem "puppetlabs_spec_helper", '~> 9.0', require: false gem "puppet-blacksmith", '~> 7.0', require: false end group :system_tests do diff --git a/Rakefile b/Rakefile index 31b59305..62ba8799 100644 --- a/Rakefile +++ b/Rakefile @@ -3,7 +3,7 @@ require 'bundler' require 'puppet_litmus/rake_tasks' if Gem.loaded_specs.key? 'puppet_litmus' require 'puppetlabs_spec_helper/rake_tasks' -require 'puppet-syntax/tasks/puppet-syntax' +require 'puppetlabs-syntax/tasks/puppetlabs-syntax' require 'puppet-strings/tasks' if Gem.loaded_specs.key? 'puppet-strings' PuppetLint.configuration.send('disable_relative') @@ -13,6 +13,11 @@ PuppetLint.configuration.send('disable_class_inherits_from_params_class') PuppetLint.configuration.send('disable_autoloader_layout') PuppetLint.configuration.send('disable_documentation') PuppetLint.configuration.send('disable_single_quote_string_with_variables') +# strict_indent is disabled because its expected indentation changed incompatibly +# between puppet-lint-strict_indent-check 3.x (Puppet 7/8 lane, Ruby 3.1) and 5.x +# (Puppet 9 lane, Ruby 3.4+): the two lanes demand opposite indentation for nested +# hashes, so no single manifest layout can satisfy both. See MODULES-11704 / MODULES-11700. +PuppetLint.configuration.send('disable_strict_indent') PuppetLint.configuration.fail_on_warnings = true PuppetLint.configuration.ignore_paths = [".vendor/**/*.pp", ".bundle/**/*.pp", "pkg/**/*.pp", "spec/**/*.pp", "tests/**/*.pp", "types/**/*.pp", "vendor/**/*.pp"] diff --git a/manifests/download.pp b/manifests/download.pp index 4d451ffc..a62360e3 100644 --- a/manifests/download.pp +++ b/manifests/download.pp @@ -334,7 +334,7 @@ proxy_type => $proxy_type, require => [ Package['unzip'], - Exec["Install Oracle java_se ${java_se} ${version} ${release_major} ${release_minor}"] + Exec["Install Oracle java_se ${java_se} ${version} ${release_major} ${release_minor}"], ], } } diff --git a/metadata.json b/metadata.json index 60caa856..a883a6b0 100644 --- a/metadata.json +++ b/metadata.json @@ -81,7 +81,7 @@ "requirements": [ { "name": "puppet", - "version_requirement": ">= 8.0.0 < 9.0.0" + "version_requirement": ">= 8.0.0 < 10.0.0" } ], "template-url": "https://github.com/puppetlabs/pdk-templates.git#main",