beaker_puppet_helpers 1.1.1 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d28abba553fcbffcbb66b9a3c822f7b287489ea2f6178b99f2a39b074cda9bf2
4
- data.tar.gz: 252d2c337b2d98674bb4e1c9ad7738db7026de09c257a4e198b782489f585e6c
3
+ metadata.gz: ecec587a641c9175b474f3f5862cce202097db3a13c6085e96e38b5795dbb42a
4
+ data.tar.gz: 0cda17558b4ccfd995d8747158460a7e9793739b1601bbc14a3265057445a3a5
5
5
  SHA512:
6
- metadata.gz: 673fca50dfbe74636f9742007806293adda15db06ce871a654f0d8a7325c182eefc08737a7dfd98222a5ead19d13ad17ff15646ba2e44a12a58f8aba7b9ac03c
7
- data.tar.gz: 3819be2fbf16501df9229a7d6b3b727643fbf4a7c9de2b20b6214855f4d866d173951f841badf63fa651287901cd23153783ab2d65fce874068c668e2d7da693
6
+ metadata.gz: 69df43481f5173128fffc205b27a9a7b91b73bc707986092b7626065e3072c1601b89addb7e8223417ecefbbc5525397a28d44dda4a60bf60c833c29a75e95cc
7
+ data.tar.gz: 76b71365c7c9821195f7e6c94b49924dc0a84612173fad6d2f057c86b952c1a6483e5bfe1d804aa6464408407fe47f87e7cc25041b2cdc0f88619772ba5495a6
@@ -10,7 +10,7 @@ jobs:
10
10
  runs-on: ubuntu-latest
11
11
  if: github.repository_owner == 'voxpupuli'
12
12
  steps:
13
- - uses: actions/checkout@v3
13
+ - uses: actions/checkout@v4
14
14
  - name: Install Ruby 3.0
15
15
  uses: ruby/setup-ruby@v1
16
16
  with:
@@ -15,7 +15,7 @@ jobs:
15
15
  runs-on: ubuntu-latest
16
16
  name: Rubocop
17
17
  steps:
18
- - uses: actions/checkout@v3
18
+ - uses: actions/checkout@v4
19
19
  - name: Install Ruby ${{ matrix.ruby }}
20
20
  uses: ruby/setup-ruby@v1
21
21
  with:
@@ -36,7 +36,7 @@ jobs:
36
36
  - "2.7"
37
37
  name: Ruby ${{ matrix.ruby }}
38
38
  steps:
39
- - uses: actions/checkout@v3
39
+ - uses: actions/checkout@v4
40
40
  - name: Install Ruby ${{ matrix.ruby }}
41
41
  uses: ruby/setup-ruby@v1
42
42
  with:
data/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.2.1](https://github.com/voxpupuli/beaker_puppet_helpers/tree/1.2.1) (2024-01-08)
6
+
7
+ [Full Changelog](https://github.com/voxpupuli/beaker_puppet_helpers/compare/1.2.0...1.2.1)
8
+
9
+ **Fixed bugs:**
10
+
11
+ - shell escape Puppet command options [\#40](https://github.com/voxpupuli/beaker_puppet_helpers/pull/40) ([ekohl](https://github.com/ekohl))
12
+ - FreeBSD has the Puppet major version in the package name [\#39](https://github.com/voxpupuli/beaker_puppet_helpers/pull/39) ([evgeni](https://github.com/evgeni))
13
+
14
+ ## [1.2.0](https://github.com/voxpupuli/beaker_puppet_helpers/tree/1.2.0) (2023-10-17)
15
+
16
+ [Full Changelog](https://github.com/voxpupuli/beaker_puppet_helpers/compare/1.1.1...1.2.0)
17
+
18
+ **Implemented enhancements:**
19
+
20
+ - Always use puppet-agent for Debian 12+ & Ubuntu 23.04+ [\#37](https://github.com/voxpupuli/beaker_puppet_helpers/pull/37) ([ekohl](https://github.com/ekohl))
21
+
5
22
  ## [1.1.1](https://github.com/voxpupuli/beaker_puppet_helpers/tree/1.1.1) (2023-06-16)
6
23
 
7
24
  [Full Changelog](https://github.com/voxpupuli/beaker_puppet_helpers/compare/1.1.0...1.1.1)
@@ -54,7 +71,6 @@ All notable changes to this project will be documented in this file.
54
71
  - Fix various RSpec cops before enabling rubocop-rspec [\#13](https://github.com/voxpupuli/beaker_puppet_helpers/pull/13) ([ekohl](https://github.com/ekohl))
55
72
  - Drop Ruby 2.5 and 2.6 support [\#12](https://github.com/voxpupuli/beaker_puppet_helpers/pull/12) ([ekohl](https://github.com/ekohl))
56
73
  - Make RuboCop mostly happy [\#11](https://github.com/voxpupuli/beaker_puppet_helpers/pull/11) ([ekohl](https://github.com/ekohl))
57
- - Bump actions/checkout from 2 to 3 [\#10](https://github.com/voxpupuli/beaker_puppet_helpers/pull/10) ([dependabot[bot]](https://github.com/apps/dependabot))
58
74
  - Simplify variable setting [\#9](https://github.com/voxpupuli/beaker_puppet_helpers/pull/9) ([ekohl](https://github.com/ekohl))
59
75
  - Use rubocop config from voxpupuli-rubocop [\#6](https://github.com/voxpupuli/beaker_puppet_helpers/pull/6) ([bastelfreak](https://github.com/bastelfreak))
60
76
  - dependabot: check for github actions and gems [\#5](https://github.com/voxpupuli/beaker_puppet_helpers/pull/5) ([bastelfreak](https://github.com/bastelfreak))
data/Rakefile CHANGED
@@ -35,7 +35,7 @@ DESC
35
35
  task :acceptance do
36
36
  hosts = {
37
37
  aio: %w[centos7 centos8 debian10 debian11],
38
- foss: %w[debian10 debian11],
38
+ foss: %w[debian10 debian11 debian12 fedora37 fedora38],
39
39
  }
40
40
  default_hosts = hosts.map { |type, h| h.map { |host| "#{host}-64{type=#{type}}" }.join('-') }.join('-')
41
41
  hosts = ENV['BEAKER_HOSTS'] || default_hosts
@@ -66,7 +66,7 @@ rescue LoadError
66
66
  else
67
67
  GitHubChangelogGenerator::RakeTask.new :changelog do |config|
68
68
  config.header = "# Changelog\n\nAll notable changes to this project will be documented in this file."
69
- config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog]
69
+ config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog github_actions]
70
70
  config.user = 'voxpupuli'
71
71
  config.project = 'beaker_puppet_helpers'
72
72
  config.future_release = Gem::Specification.load("#{config.project}.gemspec").version.to_s
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'beaker_puppet_helpers'
5
- s.version = '1.1.1'
5
+ s.version = '1.2.1'
6
6
  s.authors = ['Vox Pupuli']
7
7
  s.email = ['voxpupuli@groups.io']
8
8
  s.homepage = 'https://github.com/voxpupuli/beaker_puppet_helpers'
@@ -78,10 +78,16 @@ module BeakerPuppetHelpers
78
78
  # @return [String] The Puppet package name
79
79
  def self.puppet_package_name(host, prefer_aio: true)
80
80
  case host['packaging_platform'].split('-', 3).first
81
- when /el|fedora|sles|cisco_|debian|ubuntu/
81
+ when 'debian'
82
+ # 12 started to ship puppet-agent with puppet as a legacy package
83
+ prefer_aio || host['packaging_platform'].split('-', 3)[1].to_i >= 12 ? 'puppet-agent' : 'puppet'
84
+ when /el|fedora|sles|cisco_/
82
85
  prefer_aio ? 'puppet-agent' : 'puppet'
83
86
  when /freebsd/
84
- 'sysutils/puppet'
87
+ 'sysutils/puppet8'
88
+ when 'ubuntu'
89
+ # 23.04 started to ship puppet-agent with puppet as a legacy package
90
+ prefer_aio || host['packaging_platform'].split('-', 3)[1].to_i >= 2304 ? 'puppet-agent' : 'puppet'
85
91
  else
86
92
  'puppet'
87
93
  end
@@ -1,12 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'shellwords'
3
4
  require 'beaker/command'
4
5
  require 'puppet/modulebuilder'
5
6
 
6
7
  module BeakerPuppetHelpers
7
8
  # Methods to help install puppet modules
8
9
  module ModuleUtils
9
- # Install the desired module with the PMT on a given host
10
+ # Install the desired module with the Puppet Module Tool (PMT) on a given host
10
11
  #
11
12
  # @param [Beaker::Host, Array<Beaker::Host>, String, Symbol] hosts
12
13
  # One or more hosts to act upon, or a role (String or Symbol) that
@@ -21,8 +22,8 @@ module BeakerPuppetHelpers
21
22
  block_on hosts do |host|
22
23
  puppet_opts = {}
23
24
  puppet_opts.merge!(host[:default_module_install_opts]) if host[:default_module_install_opts]
24
- puppet_opts[:version] = version if version
25
- puppet_opts[:module_repository] = module_repository if module_repository
25
+ puppet_opts[:version] = Shellwords.escape(version) if version
26
+ puppet_opts[:module_repository] = Shellwords.escape(module_repository) if module_repository
26
27
 
27
28
  on host, Beaker::PuppetCommand.new('module', ['install', module_name], puppet_opts)
28
29
  end
@@ -37,6 +37,13 @@ describe BeakerPuppetHelpers::ModuleUtils do
37
37
  dsl.install_puppet_module_via_pmt_on(host, 'test', '1.2.3')
38
38
  end
39
39
 
40
+ it 'escapes the version parameter' do
41
+ expect(Beaker::PuppetCommand).to receive(:new).with('module', %w[install test], { version: '\\>\\=\\ 4.0\\ \\<\\ 6.0' }).once
42
+ expect(dsl).to receive(:on).with(host, anything).once
43
+
44
+ dsl.install_puppet_module_via_pmt_on(host, 'test', '>= 4.0 < 6.0')
45
+ end
46
+
40
47
  it 'accepts the module_repository parameter' do
41
48
  expect(Beaker::PuppetCommand).to receive(:new).with('module', %w[install test], { module_repository: 'http://forge.example.com' }).once
42
49
  expect(dsl).to receive(:on).with(host, anything).once
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker_puppet_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vox Pupuli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-16 00:00:00.000000000 Z
11
+ date: 2024-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: beaker