diff --git a/.github/workflows/pr_tests.yml b/.github/workflows/pr_tests.yml
index 8b70da5..69ee672 100644
--- a/.github/workflows/pr_tests.yml
+++ b/.github/workflows/pr_tests.yml
@@ -86,7 +86,7 @@ jobs:
bundle exec rake pkg:compare_latest_tag[,true]
bundle exec rake pkg:create_tag_changelog
- name: 'Test-build the Puppet module'
- run: 'bundle exec pdk build --force'
+ run: 'bundle exec rake pupmod:build'
spec-tests:
name: 'Puppet Spec'
@@ -95,10 +95,20 @@ jobs:
strategy:
matrix:
puppet:
- - label: 'Puppet 8.x'
+ - label: 'OpenVox 8.x (Ruby 3.2)'
puppet_version: '~> 8.0'
ruby_version: '3.2'
experimental: false
+ - label: 'OpenVox 8.x (Ruby 3.4)'
+ puppet_version: '~> 8.0'
+ ruby_version: '3.4'
+ experimental: false
+ # OpenVox 9 is unreleased; preview the future Ruby 4.0 / OpenVox 9
+ # combo by running the OpenVox 8 gem on Ruby 4.0.
+ - label: 'OpenVox 9.x preview (Ruby 4.0, OpenVox 8 gem)'
+ puppet_version: '~> 8.0'
+ ruby_version: '4.0'
+ experimental: false
fail-fast: false
env:
PUPPET_VERSION: ${{matrix.puppet.puppet_version}}
diff --git a/.github/workflows/tag_deploy.yml b/.github/workflows/tag_deploy.yml
index a299b58..5800c6a 100644
--- a/.github/workflows/tag_deploy.yml
+++ b/.github/workflows/tag_deploy.yml
@@ -55,14 +55,14 @@ jobs:
clean: true
- uses: ruby/setup-ruby@v1
with:
- ruby-version: 3.2.11
+ ruby-version: 3.4.9
bundler-cache: true
- run: bundle exec rake pkg:check_version
- run: bundle exec rake pkg:compare_latest_tag
- run: bundle exec rake pkg:create_tag_changelog
- run: bundle exec rake metadata_lint
- name: "Test that Puppet module can build"
- run: "bundle exec pdk build --force"
+ run: "bundle exec rake pupmod:build"
create-github-release:
@@ -180,10 +180,10 @@ jobs:
clean: true
- uses: ruby/setup-ruby@v1
with:
- ruby-version: 3.2.11
+ ruby-version: 3.4.9
bundler-cache: true
- name: Build Puppet module (PDK)
- run: bundle exec pdk build --force
+ run: bundle exec rake pupmod:build
- name: Deploy to Puppet Forge (skipped when prerelease)
run: |
curl -X POST --silent --show-error --fail \
diff --git a/Gemfile b/Gemfile
index 73b9747..dbc41b2 100644
--- a/Gemfile
+++ b/Gemfile
@@ -6,37 +6,31 @@
# ------------------------------------------------------------------------------
gem_sources = ENV.fetch('GEM_SERVERS', 'https://rubygems.org').split(%r{[, ]+})
-ENV['PDK_DISABLE_ANALYTICS'] ||= 'true'
-
gem_sources.each { |gem_source| source gem_source }
group :syntax do
gem 'metadata-json-lint'
gem 'puppet-lint-trailing_comma-check', require: false
- gem 'rubocop', '~> 1.85'
+ # rubocop, rubocop-rake, and rubocop-rspec are pulled in and version-pinned by
+ # voxpupuli-test (via simp-rake-helpers); pinning them here conflicts with its
+ # constraints. rubocop-performance is not a voxpupuli-test dependency, so it
+ # stays explicit.
gem 'rubocop-performance', '~> 1.26.0'
- gem 'rubocop-rake', '~> 0.7.0'
- gem 'rubocop-rspec', '~> 3.9'
end
group :test do
puppet_version = ENV.fetch('PUPPET_VERSION', ['>= 8', '< 9'])
openvox_version = ENV.fetch('OPENVOX_VERSION', puppet_version)
- major_puppet_version = Array(puppet_version).first.scan(%r{(\d+)(?:\.|\Z)}).flatten.first.to_i
gem 'hiera-puppet-helper'
- # renovate: datasource=rubygems versioning=ruby
- gem('pdk', ENV.fetch('PDK_VERSION', ['>= 2.0', '< 4.0']), require: false) if major_puppet_version > 5
- # Temporarily include both openvox and puppet gems until the puppet dependency is removed from other gems
- ['openvox', 'puppet'].each do |gem_name|
- gem gem_name, binding.local_variable_get("#{gem_name}_version".to_sym)
- end
- gem 'puppet-strings'
+ gem 'openvox', openvox_version
+ gem 'openvox-strings'
gem 'rake'
gem 'rspec'
gem 'rspec-puppet'
# renovate: datasource=rubygems versioning=ruby
gem 'simp-rake-helpers', ENV.fetch('SIMP_RAKE_HELPERS_VERSION', '~> 6.0')
# renovate: datasource=rubygems versioning=ruby
+ gem 'observer', require: false
gem 'simp-rspec-puppet-facts', ENV.fetch('SIMP_RSPEC_PUPPET_FACTS_VERSION', '~> 4.0.0')
end
diff --git a/REFERENCE.md b/REFERENCE.md
index f625f93..8f438f8 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -208,6 +208,8 @@ Data type: `String`
The rsync daemon package
+Default value: `'rsync-daemon'`
+
### `rsync::server::global`
Setup the global section of /etc/rsyncd.conf.
@@ -1082,7 +1084,7 @@ Default value: `false`
Exclude files matching PATTERN. Multiple values may be specified as an
array. Defaults to ['.svn/','.git/']
-Default value: `['.svn/','.git/']`
+Default value: `['.svn/', '.git/']`
##### `hard_links`
diff --git a/Rakefile b/Rakefile
index b3ed91e..cdf682a 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,4 +1,4 @@
require 'simp/rake/pupmod/helpers'
-require 'puppet-strings/tasks'
+require 'openvox-strings/tasks'
Simp::Rake::Pupmod::Helpers.new(File.dirname(__FILE__))