Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,21 @@ on:
jobs:
Spec:
uses: "puppetlabs/cat-github-actions/.github/workflows/module_ci.yml@main"
with:
# voxpupuli-puppet-lint-plugins 7.0 (needed for Puppet 9 support) requires
# ruby >= 3.2; the default (3.1) can no longer resolve the :development group.
ruby_version: "3.2"
# 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"
secrets: "inherit"

Acceptance:
needs: Spec
uses: "puppetlabs/cat-github-actions/.github/workflows/module_acceptance.yml@main"
secrets: "inherit"
with:
flags: "--nightly"
flags: "--nightly --collection-platform-exclude 9:redhat-7 --collection-platform-exclude 9:centos-7 --collection-platform-exclude 9:oraclelinux-7 --collection-platform-exclude 9:scientific-7 --collection-platform-exclude 9:debian-10 --collection-platform-exclude 9:ubuntu-18.04 --collection-platform-exclude 9:ubuntu-20.04"
# voxpupuli-puppet-lint-plugins 7.0 (needed for Puppet 9 support) requires
# ruby >= 3.2; the default (3.1) can no longer resolve the :development group.
ruby_version: "3.2"
4 changes: 4 additions & 0 deletions .github/workflows/mend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,8 @@ jobs:

mend:
uses: "puppetlabs/cat-github-actions/.github/workflows/mend_ruby.yml@main"
with:
# voxpupuli-puppet-lint-plugins 7.0 (needed for Puppet 9 support) requires
# ruby >= 3.2; `bundle lock` resolves all groups at the default ruby (3.1).
ruby_version: "3.2"
secrets: "inherit"
10 changes: 9 additions & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,19 @@ on:
jobs:
Spec:
uses: "puppetlabs/cat-github-actions/.github/workflows/module_ci.yml@main"
with:
# voxpupuli-puppet-lint-plugins 7.0 (needed for Puppet 9 support) requires
# ruby >= 3.2; the default (3.1) can no longer resolve the :development group.
ruby_version: "3.2"
# 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"
secrets: "inherit"

Acceptance:
needs: Spec
uses: "puppetlabs/cat-github-actions/.github/workflows/module_acceptance.yml@main"
secrets: "inherit"
with:
flags: "--nightly"
flags: "--nightly --collection-platform-exclude 9:redhat-7 --collection-platform-exclude 9:centos-7 --collection-platform-exclude 9:oraclelinux-7 --collection-platform-exclude 9:scientific-7 --collection-platform-exclude 9:debian-10 --collection-platform-exclude 9:ubuntu-18.04 --collection-platform-exclude 9:ubuntu-20.04"
ruby_version: "3.2"
42 changes: 40 additions & 2 deletions .sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ Gemfile:
optional:
":development":
- gem: ruby-pwsh
# MODULES-11721: pin puppetlabs_spec_helper and puppet_litmus above pdk-templates'
# own defaults (>= 8.0 and ~> 2.5 respectively), which are loose enough for a
# scheduled `pdk update` to silently revert this PR: puppetlabs_spec_helper 8.0.0
# still pins puppet-lint ~> 4.0 (conflicts with voxpupuli-puppet-lint-plugins ~> 7.0,
# needed for Puppet 9), and puppet_litmus below 2.8.0 doesn't support
# --collection-platform-exclude, which ci.yml/nightly.yml pass unconditionally.
overrides:
- gem: 'puppetlabs_spec_helper'
version: '~> 9.0'
- gem: 'puppet_litmus'
version: '~> 2.8'
spec/spec_helper.rb:
mock_with: ":rspec"
coverage_report: true
Expand All @@ -17,10 +28,37 @@ spec/spec_helper.rb:
unmanaged: false
.github/workflows/auto_release.yml:
unmanaged: false
# MODULES-11721: ci.yml and nightly.yml are maintained by hand because they carry
# Puppet 9 customisations that pdk-templates cannot express -- the `ruby_version`
# and `additional_packages` inputs (no such keys in the templates). Leaving them
# managed means the scheduled `pdk update` PR silently reverts Puppet 9 support.
# acceptance_flags below is kept in step with the hand-written `flags:` -- that part
# IS expressible via the template's own acceptance_flags key, so it isn't itself a
# reason for unmanaged: true; these files stay unmanaged solely for ruby_version and
# additional_packages. They can go back to template management once pdk-templates
# supports those two inputs.
.github/workflows/ci.yml:
unmanaged: false
unmanaged: true
acceptance_flags:
- '--nightly'
- '--collection-platform-exclude 9:redhat-7'
- '--collection-platform-exclude 9:centos-7'
- '--collection-platform-exclude 9:oraclelinux-7'
- '--collection-platform-exclude 9:scientific-7'
- '--collection-platform-exclude 9:debian-10'
- '--collection-platform-exclude 9:ubuntu-18.04'
- '--collection-platform-exclude 9:ubuntu-20.04'
.github/workflows/nightly.yml:
unmanaged: false
unmanaged: true
acceptance_flags:
- '--nightly'
- '--collection-platform-exclude 9:redhat-7'
- '--collection-platform-exclude 9:centos-7'
- '--collection-platform-exclude 9:oraclelinux-7'
- '--collection-platform-exclude 9:scientific-7'
- '--collection-platform-exclude 9:debian-10'
- '--collection-platform-exclude 9:ubuntu-18.04'
- '--collection-platform-exclude 9:ubuntu-20.04'
.github/workflows/release.yml:
unmanaged: false
.travis.yml:
Expand Down
20 changes: 15 additions & 5 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,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
Expand All @@ -39,12 +39,11 @@ 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
gem "puppet_litmus", '~> 2.0', require: false, platforms: [:ruby, :x64_mingw] if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw] if ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
gem "puppet_litmus", '~> 2.8', require: false, platforms: [:ruby, :x64_mingw]
gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "serverspec", '~> 2.41', require: false
end
Expand All @@ -61,7 +60,18 @@ hiera_version = ENV.fetch('HIERA_GEM_VERSION', nil)

# If PUPPET_FORGE_TOKEN is set then use authenticated source for both puppet and facter, since facter is a transitive dependency of puppet
# Otherwise, do as before and use location_for to fetch gems from the default source
if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
if puppet_version.to_s.match?(/\A(?:~>\s*)?(?:8\.99|9)/)
# Puppet 9.0.0 is a released gem on the standard puppetcore source (confirmed:
# puppetlabs-windows_eventlog#100's CI resolves `puppet (9.0.0)` from
# gemsource_puppetcore with no PUPPET_GEM_SOURCE set) -- no separate internal/Twingate
# source or prerelease-specific version matching is needed for it anymore. Uses the
# literal array form (not location_for) because this file's location_for is the
# 2-arg variant that doesn't accept/merge a :source option. Still checked ahead of
# the PUPPET_FORGE_TOKEN branch below, since that branch hardcodes puppet ~> 8.11
# and would otherwise silently override PUPPET_GEM_VERSION for a Puppet 9 CI leg.
gems['puppet'] = [puppet_version, { require: false, source: 'https://rubygems-puppetcore.puppet.com' }]
gems['facter'] = [facter_version, { require: false, source: 'https://rubygems-puppetcore.puppet.com' }]
elsif !ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
gems['puppet'] = ['~> 8.11', { require: false, source: 'https://rubygems-puppetcore.puppet.com' }]
gems['facter'] = ['~> 4.11', { require: false, source: 'https://rubygems-puppetcore.puppet.com' }]
else
Expand Down
2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down
2 changes: 1 addition & 1 deletion metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
"requirements": [
{
"name": "puppet",
"version_requirement": ">= 8.0.0 < 9.0.0"
"version_requirement": ">= 8.0.0 < 10.0.0"
}
],
"description": "Uses a combination of keytool and Ruby openssl library to manage entries in a Java keystore.",
Expand Down
Loading