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 +4 -4
- data/.github/workflows/release.yml +9 -9
- data/.github/workflows/test.yml +5 -5
- data/CHANGELOG.md +23 -2
- data/Gemfile +1 -3
- data/beaker.gemspec +1 -1
- data/lib/beaker/host.rb +10 -9
- data/lib/beaker/platform.rb +2 -1
- data/lib/beaker/ssh_connection.rb +6 -0
- data/lib/beaker/subcommand.rb +1 -0
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/platform_spec.rb +10 -0
- data/spec/beaker/shared/host_manager_spec.rb +0 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a103ea29759ffc3723d465fd0f0f06803701524d48b2c602a87a1a10a59cc5ed
|
|
4
|
+
data.tar.gz: 79ce1b1f90e3e435c36cb48c3f2c93f36e2a0506507bdd6fc2d2d22bebc71084
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
76
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
77
77
|
with:
|
|
78
78
|
name: gem-artifact
|
|
79
|
-
- uses: rubygems/configure-rubygems-credentials@
|
|
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@
|
|
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
|
data/.github/workflows/test.yml
CHANGED
|
@@ -16,16 +16,16 @@ jobs:
|
|
|
16
16
|
outputs:
|
|
17
17
|
ruby: ${{ steps.ruby.outputs.versions }}
|
|
18
18
|
steps:
|
|
19
|
-
- uses: actions/checkout@
|
|
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@
|
|
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@
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
|
24
|
+
# This class provides array syntax for using "puppet config print" on a host
|
|
25
25
|
class PuppetConfigReader
|
|
26
|
-
def initialize(host,
|
|
26
|
+
def initialize(host, section)
|
|
27
27
|
@host = host
|
|
28
|
-
@
|
|
28
|
+
@section = section
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def has_key?(k)
|
|
32
|
-
cmd = PuppetCommand.new(
|
|
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(
|
|
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
|
-
# '
|
|
132
|
-
# particular run type, `host.puppet('
|
|
133
|
-
|
|
134
|
-
|
|
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
|
|
data/lib/beaker/platform.rb
CHANGED
|
@@ -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
|
data/lib/beaker/subcommand.rb
CHANGED
|
@@ -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
|
|
data/lib/beaker/version.rb
CHANGED
|
@@ -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"
|
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
|
+
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.
|
|
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.
|
|
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.
|
|
757
|
+
rubygems_version: 4.0.10
|
|
758
758
|
specification_version: 4
|
|
759
759
|
summary: Let's test Puppet!
|
|
760
760
|
test_files: []
|