diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 7c918db..d8538a1 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -51,6 +51,9 @@ jobs: - label: 'OpenVox 8' openvox_version: '~> 8' ruby_version: '3.2' + - label: 'OpenVox 9 Preview (OpenVox 8 + Ruby 4.0)' + openvox_version: '~> 8' + ruby_version: '4.0' env: OPENVOX_GEM_VERSION: ${{matrix.openvox.openvox_version}} steps: diff --git a/site/profile/Gemfile b/site/profile/Gemfile index 9f61a3d..95ec58d 100644 --- a/site/profile/Gemfile +++ b/site/profile/Gemfile @@ -17,29 +17,22 @@ group :development do gem "json", '= 2.19.5', require: false gem "racc", '~> 1.8.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 "facterdb", '~> 4.0', require: false - gem "metadata-json-lint", '~> 5.0', require: false - gem "rspec-puppet-facts", '~> 6.0', require: false + gem "voxpupuli-test", '~> 14.0', require: false + gem "voxpupuli-rubocop", '~> 5.0', require: false gem "dependency_checker", '~> 1.0.0', require: false - gem "parallel_tests", '= 5.7.0', require: false gem "pry", '~> 0.10', require: false gem "simplecov-console", '~> 0.9', require: false gem "puppet-debugger", '~> 1.0', require: false - gem "rubocop", '~> 1.86.0', require: false - gem "rubocop-performance", '= 1.26.1', require: false - gem "rubocop-rspec", '= 3.9.0', require: false gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "rexml", '>= 3.0.0', '< 3.4.5', require: false end group :development, :release_prep do gem "openvox-strings", '~> 7.0', require: false - gem "puppetlabs_spec_helper", '~> 8.0', require: false gem "puppet-blacksmith", '~> 9.0', require: false end -group :system_tests do - gem "CFPropertyList", '< 3.0.9', require: false, platforms: [:mswin, :mingw, :x64_mingw] - gem "serverspec", '~> 2.41', require: false +group :acceptance do + gem "voxpupuli-acceptance", '~> 4.0', require: false + gem "vagrant-wrapper", require: false end openvox_version = ENV['OPENVOX_GEM_VERSION'] diff --git a/site/profile/REFERENCE.md b/site/profile/REFERENCE.md index 2a443c9..48f3055 100644 --- a/site/profile/REFERENCE.md +++ b/site/profile/REFERENCE.md @@ -42,18 +42,24 @@ Data type: `Variant[String, Array[String]]` Puppet agent service name +Default value: `'puppet'` + ##### `service_ensure` Data type: `String` The `ensure` attribute for the agent service +Default value: `'running'` + ##### `service_enable` Data type: `Boolean` The `enable` attribute for the agent service +Default value: `true` + ### `profile::base` Base OS customization @@ -78,6 +84,8 @@ Data type: `Array` A list of packages to manage +Default value: `[]` + ### `profile::db` Configure db @@ -140,6 +148,8 @@ Data type: `Array[String]` List of certnames or domain name globs +Default value: `[]` + ### `profile::server::install` Install server package diff --git a/site/profile/Rakefile b/site/profile/Rakefile index 31b5930..f2b8573 100644 --- a/site/profile/Rakefile +++ b/site/profile/Rakefile @@ -1,10 +1,8 @@ # frozen_string_literal: true 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 'puppet-strings/tasks' if Gem.loaded_specs.key? 'puppet-strings' +require 'voxpupuli/test/rake' +require 'openvox-strings/tasks' if Gem.loaded_specs.key? 'openvox-strings' PuppetLint.configuration.send('disable_relative') PuppetLint.configuration.send('disable_80chars') @@ -16,3 +14,9 @@ PuppetLint.configuration.send('disable_single_quote_string_with_variables') PuppetLint.configuration.fail_on_warnings = true PuppetLint.configuration.ignore_paths = [".vendor/**/*.pp", ".bundle/**/*.pp", "pkg/**/*.pp", "spec/**/*.pp", "tests/**/*.pp", "types/**/*.pp", "vendor/**/*.pp"] +# Restore the original `check` task prerequisites (drop `check:trailing_whitespace`, +# which was not run by puppetlabs_spec_helper). +if Rake::Task.task_defined?('check') + Rake::Task['check'].clear_prerequisites + task check: ['check:test_file', 'check:dot_underscore', 'check:git_ignore'] +end diff --git a/site/profile/spec/spec_helper.rb b/site/profile/spec/spec_helper.rb index ae7c1f6..d3afc99 100644 --- a/site/profile/spec/spec_helper.rb +++ b/site/profile/spec/spec_helper.rb @@ -1,16 +1,9 @@ # frozen_string_literal: true -RSpec.configure do |c| - c.mock_with :rspec -end - -require 'puppetlabs_spec_helper/module_spec_helper' -require 'rspec-puppet-facts' +require 'voxpupuli/test/spec_helper' require 'spec_helper_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_local.rb')) -include RspecPuppetFacts - default_facts = { puppetversion: Puppet.version, facterversion: Facter.version, @@ -46,9 +39,6 @@ Puppet.settings[:strict_variables] = true end c.filter_run_excluding(bolt: true) unless ENV['GEM_BOLT'] - c.after(:suite) do - RSpec::Puppet::Coverage.report!(0) - end # Filter backtrace noise backtrace_exclusion_patterns = [ diff --git a/site/role/.fixtures.yml b/site/role/.fixtures.yml index 89cbf9a..83c4cbe 100644 --- a/site/role/.fixtures.yml +++ b/site/role/.fixtures.yml @@ -31,4 +31,4 @@ fixtures: firewalld: puppet-firewalld augeas_core: puppetlabs-augeas_core symlinks: - profile: "#{source_dir}/../profile" + profile: "../../../../profile" diff --git a/site/role/Gemfile b/site/role/Gemfile index 9f61a3d..95ec58d 100644 --- a/site/role/Gemfile +++ b/site/role/Gemfile @@ -17,29 +17,22 @@ group :development do gem "json", '= 2.19.5', require: false gem "racc", '~> 1.8.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 "facterdb", '~> 4.0', require: false - gem "metadata-json-lint", '~> 5.0', require: false - gem "rspec-puppet-facts", '~> 6.0', require: false + gem "voxpupuli-test", '~> 14.0', require: false + gem "voxpupuli-rubocop", '~> 5.0', require: false gem "dependency_checker", '~> 1.0.0', require: false - gem "parallel_tests", '= 5.7.0', require: false gem "pry", '~> 0.10', require: false gem "simplecov-console", '~> 0.9', require: false gem "puppet-debugger", '~> 1.0', require: false - gem "rubocop", '~> 1.86.0', require: false - gem "rubocop-performance", '= 1.26.1', require: false - gem "rubocop-rspec", '= 3.9.0', require: false gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "rexml", '>= 3.0.0', '< 3.4.5', require: false end group :development, :release_prep do gem "openvox-strings", '~> 7.0', require: false - gem "puppetlabs_spec_helper", '~> 8.0', require: false gem "puppet-blacksmith", '~> 9.0', require: false end -group :system_tests do - gem "CFPropertyList", '< 3.0.9', require: false, platforms: [:mswin, :mingw, :x64_mingw] - gem "serverspec", '~> 2.41', require: false +group :acceptance do + gem "voxpupuli-acceptance", '~> 4.0', require: false + gem "vagrant-wrapper", require: false end openvox_version = ENV['OPENVOX_GEM_VERSION'] diff --git a/site/role/Rakefile b/site/role/Rakefile index 31b5930..f2b8573 100644 --- a/site/role/Rakefile +++ b/site/role/Rakefile @@ -1,10 +1,8 @@ # frozen_string_literal: true 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 'puppet-strings/tasks' if Gem.loaded_specs.key? 'puppet-strings' +require 'voxpupuli/test/rake' +require 'openvox-strings/tasks' if Gem.loaded_specs.key? 'openvox-strings' PuppetLint.configuration.send('disable_relative') PuppetLint.configuration.send('disable_80chars') @@ -16,3 +14,9 @@ PuppetLint.configuration.send('disable_single_quote_string_with_variables') PuppetLint.configuration.fail_on_warnings = true PuppetLint.configuration.ignore_paths = [".vendor/**/*.pp", ".bundle/**/*.pp", "pkg/**/*.pp", "spec/**/*.pp", "tests/**/*.pp", "types/**/*.pp", "vendor/**/*.pp"] +# Restore the original `check` task prerequisites (drop `check:trailing_whitespace`, +# which was not run by puppetlabs_spec_helper). +if Rake::Task.task_defined?('check') + Rake::Task['check'].clear_prerequisites + task check: ['check:test_file', 'check:dot_underscore', 'check:git_ignore'] +end diff --git a/site/role/plans/init.pp b/site/role/plans/init.pp index f4e8c2f..7debf4c 100644 --- a/site/role/plans/init.pp +++ b/site/role/plans/init.pp @@ -77,7 +77,7 @@ -> class { 'r10k': remote => $control_repo, } - -> exec { 'r10k deploy environment -pv': + -> exec { 'r10k deploy environment -pv': # lint:ignore:exec_idempotency path => '/opt/puppetlabs/bin:/bin:/usr/bin:/sbin:/usr/sbin', # Always run this command to ensure that the environment is deployed. } diff --git a/site/role/spec/spec_helper.rb b/site/role/spec/spec_helper.rb index 52175b7..4f70ded 100644 --- a/site/role/spec/spec_helper.rb +++ b/site/role/spec/spec_helper.rb @@ -1,16 +1,9 @@ # frozen_string_literal: true -RSpec.configure do |c| - c.mock_with :rspec -end - -require 'puppetlabs_spec_helper/module_spec_helper' -require 'rspec-puppet-facts' +require 'voxpupuli/test/spec_helper' require 'spec_helper_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_local.rb')) -include RspecPuppetFacts - default_facts = { puppetversion: Puppet.version, facterversion: Facter.version, @@ -47,9 +40,6 @@ Puppet.settings[:strict_variables] = true end c.filter_run_excluding(bolt: true) unless ENV['GEM_BOLT'] - c.after(:suite) do - RSpec::Puppet::Coverage.report!(0) - end # Filter backtrace noise backtrace_exclusion_patterns = [