beaker 7.4.1 → 7.6.0

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: c88dbc0a39e7bec5a8b9b3a5b49ec0c38d89acf20509254041704824d01c67b2
4
- data.tar.gz: 33fe3dbdfd1a1597492d20b1b01a3055e01cbff7d4cdc15b244f6ef4db864c15
3
+ metadata.gz: a103ea29759ffc3723d465fd0f0f06803701524d48b2c602a87a1a10a59cc5ed
4
+ data.tar.gz: 79ce1b1f90e3e435c36cb48c3f2c93f36e2a0506507bdd6fc2d2d22bebc71084
5
5
  SHA512:
6
- metadata.gz: 645d419b3a2926cefc9a46880ca983edcb20b63e0794e3296eb77e8e8ff707ffc71afb9afd6f1a3c29e1348b60c27a177e9be0d06223769c1750715f7a89fa40
7
- data.tar.gz: 7e4de01ddfeb8a4d851c40adf4e0938001c90f9dbc55b44eb28401964365631beb77adf54067853ade8e36a648b0eb3db4ac8c7b36288dd9c8d130bd3a6b7828
6
+ metadata.gz: 25ce805f5b3303d8a8cc828b11652fd19fb47fd36c33795ec2df9a99e7eecce41402bc6d7fc118050d5265bad087a42459fab783e0061c18c622d7a27f333bfc
7
+ data.tar.gz: d41c8a37470b9f5c4e6440437e9f2643b96410d0a4010aaba6a8549337ea0867cb53992b74a03d44987cdce910e6215318e3a9dd25d2a02432fd39819adce188
@@ -15,16 +15,16 @@ jobs:
15
15
  name: Build the gem
16
16
  runs-on: ubuntu-24.04
17
17
  steps:
18
- - uses: actions/checkout@v6
18
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
19
19
  - name: Install Ruby
20
- uses: ruby/setup-ruby@v1
20
+ uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0
21
21
  with:
22
22
  ruby-version: 'ruby'
23
23
  - name: Build gem
24
24
  shell: bash
25
25
  run: gem build --verbose *.gemspec
26
26
  - name: Upload gem to GitHub cache
27
- uses: actions/upload-artifact@v6
27
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
28
28
  with:
29
29
  name: gem-artifact
30
30
  path: '*.gem'
@@ -39,7 +39,7 @@ jobs:
39
39
  contents: write # clone repo and create release
40
40
  steps:
41
41
  - name: Download gem from GitHub cache
42
- uses: actions/download-artifact@v7
42
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
43
43
  with:
44
44
  name: gem-artifact
45
45
  - name: Create Release
@@ -56,7 +56,7 @@ jobs:
56
56
  packages: write # publish to rubygems.pkg.github.com
57
57
  steps:
58
58
  - name: Download gem from GitHub cache
59
- uses: actions/download-artifact@v7
59
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
60
60
  with:
61
61
  name: gem-artifact
62
62
  - name: Publish gem to GitHub packages
@@ -73,10 +73,10 @@ jobs:
73
73
  id-token: write # rubygems.org authentication
74
74
  steps:
75
75
  - name: Download gem from GitHub cache
76
- uses: actions/download-artifact@v7
76
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
77
77
  with:
78
78
  name: gem-artifact
79
- - uses: rubygems/configure-rubygems-credentials@v1.0.0
79
+ - uses: rubygems/configure-rubygems-credentials@dc5a8d8553e6ee01fc26761a49e99e733d17954a # v2.1.0
80
80
  - name: Publish gem to rubygems.org
81
81
  shell: bash
82
82
  run: gem push *.gem
@@ -92,11 +92,11 @@ jobs:
92
92
  - release-to-rubygems
93
93
  steps:
94
94
  - name: Download gem from GitHub cache
95
- uses: actions/download-artifact@v7
95
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
96
96
  with:
97
97
  name: gem-artifact
98
98
  - name: Install Ruby
99
- uses: ruby/setup-ruby@v1
99
+ uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0
100
100
  with:
101
101
  ruby-version: 'ruby'
102
102
  - name: Wait for release to propagate
@@ -16,16 +16,16 @@ jobs:
16
16
  outputs:
17
17
  ruby: ${{ steps.ruby.outputs.versions }}
18
18
  steps:
19
- - uses: actions/checkout@v6
19
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
20
20
  - name: Install Ruby ${{ matrix.ruby }}
21
- uses: ruby/setup-ruby@v1
21
+ uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0
22
22
  with:
23
23
  ruby-version: '4.0'
24
24
  bundler-cache: true
25
25
  - name: Run Rubocop
26
26
  run: bundle exec rake rubocop
27
27
  - id: ruby
28
- uses: voxpupuli/ruby-version@v2
28
+ uses: voxpupuli/ruby-version@656370e339050da63b86b1c631f5f88a3f4c0803 # 1.0.1
29
29
 
30
30
  test:
31
31
  name: "Ruby ${{ matrix.ruby }}"
@@ -38,9 +38,9 @@ jobs:
38
38
  env:
39
39
  BEAKER_HYPERVISOR: docker
40
40
  steps:
41
- - uses: actions/checkout@v6
41
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
42
42
  - name: Install Ruby ${{ matrix.ruby }}
43
- uses: ruby/setup-ruby@v1
43
+ uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0
44
44
  with:
45
45
  ruby-version: ${{ matrix.ruby }}
46
46
  bundler-cache: true
data/CHANGELOG.md CHANGED
@@ -2,9 +2,30 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [7.4.1](https://github.com/voxpupuli/beaker/tree/7.4.1) (2026-01-31)
5
+ ## [7.6.0](https://github.com/voxpupuli/beaker/tree/7.6.0) (2026-07-13)
6
6
 
7
- [Full Changelog](https://github.com/voxpupuli/beaker/compare/v7.4.0...7.4.1)
7
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/v7.5.0...7.6.0)
8
+
9
+ **Implemented enhancements:**
10
+
11
+ - Update puppet\_configprint helper [\#2008](https://github.com/voxpupuli/beaker/pull/2008) ([Sharpie](https://github.com/Sharpie))
12
+
13
+ **Fixed bugs:**
14
+
15
+ - Ensure verify\_host\_key is symbolized before use [\#2010](https://github.com/voxpupuli/beaker/pull/2010) ([Sharpie](https://github.com/Sharpie))
16
+ - Ensure .beaker dir exists before writing options [\#2009](https://github.com/voxpupuli/beaker/pull/2009) ([Sharpie](https://github.com/Sharpie))
17
+
18
+ ## [v7.5.0](https://github.com/voxpupuli/beaker/tree/v7.5.0) (2026-07-01)
19
+
20
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/v7.4.1...v7.5.0)
21
+
22
+ **Implemented enhancements:**
23
+
24
+ - \(maint\) Add Ubuntu 26.04 \(resolute\) codename mapping [\#2002](https://github.com/voxpupuli/beaker/pull/2002) ([SugatD](https://github.com/SugatD))
25
+
26
+ ## [v7.4.1](https://github.com/voxpupuli/beaker/tree/v7.4.1) (2026-01-31)
27
+
28
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/v7.4.0...v7.4.1)
8
29
 
9
30
  **Fixed bugs:**
10
31
 
data/Gemfile CHANGED
@@ -9,7 +9,5 @@ end
9
9
 
10
10
  group :release, optional: true do
11
11
  gem 'faraday-retry', '~> 2.1', require: false
12
- # fix from smortex to properly process commits that exist in multiple branches
13
- gem 'github_changelog_generator', github: 'smortex/github-changelog-generator', branch: 'avoid-processing-a-single-commit-multiple-time', require: false
14
- # gem 'github_changelog_generator', '~> 1.16.4', require: false
12
+ gem 'github_changelog_generator', '~> 1.18', require: false
15
13
  end
data/beaker.gemspec CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
23
23
  s.add_development_dependency 'rake', '~> 13.0'
24
24
  s.add_development_dependency 'rspec', '~> 3.0'
25
25
  s.add_development_dependency 'rspec-github', '~> 3.0'
26
- s.add_development_dependency 'voxpupuli-rubocop', '~> 5.1.0'
26
+ s.add_development_dependency 'voxpupuli-rubocop', '~> 5.2.0'
27
27
 
28
28
  # Run time dependencies
29
29
  # Required for Ruby 3.3+ support
data/lib/beaker/host.rb CHANGED
@@ -21,15 +21,15 @@ module Beaker
21
21
  class RebootFailure < CommandFailure; end
22
22
  class RebootWarning < StandardError; end
23
23
 
24
- # This class provides array syntax for using puppet --configprint on a host
24
+ # This class provides array syntax for using "puppet config print" on a host
25
25
  class PuppetConfigReader
26
- def initialize(host, command)
26
+ def initialize(host, section)
27
27
  @host = host
28
- @command = command
28
+ @section = section
29
29
  end
30
30
 
31
31
  def has_key?(k)
32
- cmd = PuppetCommand.new(@command, '--configprint all')
32
+ cmd = PuppetCommand.new('config', 'print', "--section=#{@section}")
33
33
  keys = @host.exec(cmd).stdout.split("\n").collect do |x|
34
34
  x[/^[^\s]+/]
35
35
  end
@@ -37,7 +37,7 @@ module Beaker
37
37
  end
38
38
 
39
39
  def [](k)
40
- cmd = PuppetCommand.new(@command, "--configprint #{k}")
40
+ cmd = PuppetCommand.new('config', 'print', "--section=#{@section}", k)
41
41
  @host.exec(cmd).stdout.strip
42
42
  end
43
43
  end
@@ -128,10 +128,11 @@ module Beaker
128
128
 
129
129
  # Returning our PuppetConfigReader here allows users of the Host
130
130
  # class to do things like `host.puppet['vardir']` to query the
131
- # 'main' section or, if they want the configuration for a
132
- # particular run type, `host.puppet('agent')['vardir']`
133
- def puppet_configprint(command = 'agent')
134
- PuppetConfigReader.new(self, command)
131
+ # 'agent' section or, if they want the configuration for a
132
+ # particular run type, `host.puppet('main')['vardir']`, or
133
+ # `host.puppet('server')['hostcert']`
134
+ def puppet_configprint(section = 'agent')
135
+ PuppetConfigReader.new(self, section)
135
136
  end
136
137
  alias puppet puppet_configprint
137
138
 
@@ -11,7 +11,8 @@ module Beaker
11
11
  "bookworm" => "12",
12
12
  "bullseye" => "11",
13
13
  "buster" => "10", },
14
- :ubuntu => { "noble" => "2404",
14
+ :ubuntu => { "resolute" => "2604",
15
+ "noble" => "2404",
15
16
  "jammy" => "2204",
16
17
  "focal" => "2004",
17
18
  "bionic" => "1804", },
@@ -76,6 +76,12 @@ module Beaker
76
76
  end
77
77
  end
78
78
 
79
+ # Beaker stringifies options when storing them in a config file.
80
+ # net-ssh raises a fatal error if it does not get a symbol.
81
+ if ssh_opts[:verify_host_key].is_a?(String)
82
+ ssh_opts[:verify_host_key] = ssh_opts[:verify_host_key].to_sym
83
+ end
84
+
79
85
  Net::SSH.start(host, user, ssh_opts)
80
86
  rescue *RETRYABLE_EXCEPTIONS => e
81
87
  if try <= max_connection_tries
@@ -84,6 +84,7 @@ module Beaker
84
84
  options_to_write = SubcommandUtil.sanitize_options_for_save(@cli.configured_options)
85
85
 
86
86
  @cli.logger.notify 'Writing configured options to disk'
87
+ FileUtils.mkdir_p(SubcommandUtil::CONFIG_DIR)
87
88
  SubcommandUtil::SUBCOMMAND_OPTIONS.write(options_to_write.to_yaml)
88
89
  @cli.logger.notify "Options written to #{SubcommandUtil::SUBCOMMAND_OPTIONS}"
89
90
 
@@ -1,5 +1,5 @@
1
1
  module Beaker
2
2
  module Version
3
- STRING = '7.4.1'
3
+ STRING = '7.6.0'
4
4
  end
5
5
  end
@@ -78,6 +78,11 @@ module Beaker
78
78
  expect(platform.with_version_codename).to be === 'debian-bullseye-xxx'
79
79
  end
80
80
 
81
+ it "can convert ubuntu-2604-xxx to ubuntu-resolute-xxx" do
82
+ @name = 'ubuntu-2604-xxx'
83
+ expect(platform.with_version_codename).to be === 'ubuntu-resolute-xxx'
84
+ end
85
+
81
86
  it "can convert ubuntu-2404-xxx to ubuntu-noble-xxx" do
82
87
  @name = 'ubuntu-2404-xxx'
83
88
  expect(platform.with_version_codename).to be === 'ubuntu-noble-xxx'
@@ -122,6 +127,11 @@ module Beaker
122
127
  expect(platform.with_version_number).to be === 'ubuntu-2204-xxx'
123
128
  end
124
129
 
130
+ it "can convert ubuntu-resolute-xxx to ubuntu-2604-xxx" do
131
+ @name = 'ubuntu-resolute-xxx'
132
+ expect(platform.with_version_number).to be === 'ubuntu-2604-xxx'
133
+ end
134
+
125
135
  %w[centos redhat].each do |p|
126
136
  it "leaves #{p}-7-xxx alone" do
127
137
  @name = "#{p}-7-xxx"
@@ -150,7 +150,6 @@ module Beaker
150
150
 
151
151
  it "does not run in parallel if there is only 1 host in the array" do
152
152
  myhosts = host_handler.run_block_on([hosts[0]], nil, { :run_in_parallel => true }) do |host|
153
- puts host
154
153
  host
155
154
  end
156
155
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.4.1
4
+ version: 7.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: 5.1.0
81
+ version: 5.2.0
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: 5.1.0
88
+ version: 5.2.0
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: base64
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -754,7 +754,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
754
754
  - !ruby/object:Gem::Version
755
755
  version: '0'
756
756
  requirements: []
757
- rubygems_version: 4.0.3
757
+ rubygems_version: 4.0.10
758
758
  specification_version: 4
759
759
  summary: Let's test Puppet!
760
760
  test_files: []