beaker-hostgenerator 3.4.0 → 3.5.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: ba90981da63e88c468dd80004c4c6bad485110d6261b07dd00e66bdcf07b445d
4
- data.tar.gz: f7e11d24ff7b3c4a113979cbf41bb25ae2833f6d3095311d436f05a5bd23c06e
3
+ metadata.gz: 3d684b7c52b23c91818f1c412732a5804a971086dc4ea96e3bc17291a6af736e
4
+ data.tar.gz: 367d300c983a2c19ac39363c0ee03ec18c69c12e6322dff265b876f396a9b65a
5
5
  SHA512:
6
- metadata.gz: cada79e670dae8986f80f5e2945a90ebab962cc38b85622cd49415e9112003ed38556498aa118b54889af8ce1046da447d2bd021c9302140a5e5da9b0f91e62f
7
- data.tar.gz: 462e8c8c30428318d26bbede4284dd640736c4fde6dca64e3b4a0446f8000f3d1f4e0c82ccd65a193402ab9d9b4fb10c1c3cbcee12afb937a1647f3c2765930b
6
+ metadata.gz: 1f89e7e60e9ffa3b538698f7fcce73b87fab82be0f723f6a8da3a2344ec1ed6cc87c553ef6dd3d8b7ddc48840f5161098b4b019d74fdfa4ad6ea41dfc55469ed
7
+ data.tar.gz: 35d714392a9e7f9a2fa56643d1fd3755b986bd48024c3b156b6c96c7055d167173876cdad75d755807835e1b5e05d675e7b514bf7104bcd2faae8cce2cb3d0bc
@@ -24,7 +24,7 @@ jobs:
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@v7
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@v8
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@v8
60
60
  with:
61
61
  name: gem-artifact
62
62
  - name: Publish gem to GitHub packages
@@ -73,7 +73,7 @@ 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@v8
77
77
  with:
78
78
  name: gem-artifact
79
79
  - uses: rubygems/configure-rubygems-credentials@v1.0.0
@@ -92,7 +92,7 @@ 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@v8
96
96
  with:
97
97
  name: gem-artifact
98
98
  - name: Install Ruby
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config --no-auto-gen-timestamp`
3
- # using RuboCop version 1.81.7.
3
+ # using RuboCop version 1.85.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -201,6 +201,13 @@ Style/MutableConstant:
201
201
  - 'lib/beaker-hostgenerator/version.rb'
202
202
  - 'spec/helpers.rb'
203
203
 
204
+ # Offense count: 2
205
+ # Configuration parameters: AllowedClasses.
206
+ Style/OneClassPerFile:
207
+ Exclude:
208
+ - 'spec/helpers.rb'
209
+ - 'test/util/generator_helpers.rb'
210
+
204
211
  # Offense count: 1
205
212
  Style/OpenStructUse:
206
213
  Exclude:
@@ -233,7 +240,7 @@ Style/StringConcatenation:
233
240
 
234
241
  # Offense count: 2
235
242
  # This cop supports safe autocorrection (--autocorrect).
236
- # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
243
+ # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
237
244
  # URISchemes: http, https
238
245
  Layout/LineLength:
239
246
  Max: 168
data/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [3.5.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/3.5.0) (2026-03-18)
6
+
7
+ [Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/3.4.0...3.5.0)
8
+
9
+ **Implemented enhancements:**
10
+
11
+ - Add Lima hypervisor support with template and arch support on qemu [\#452](https://github.com/voxpupuli/beaker-hostgenerator/pull/452) ([Valantin](https://github.com/Valantin))
12
+ - Pull CentOS vagrant boxes from the registry [\#451](https://github.com/voxpupuli/beaker-hostgenerator/pull/451) ([silug](https://github.com/silug))
13
+
14
+ **Fixed bugs:**
15
+
16
+ - Correct non-stream CentOS boxes [\#448](https://github.com/voxpupuli/beaker-hostgenerator/pull/448) ([ekohl](https://github.com/ekohl))
17
+
5
18
  ## [3.4.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/3.4.0) (2025-12-27)
6
19
 
7
20
  [Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/3.3.0...3.4.0)
@@ -852,7 +865,7 @@ All notable changes to this project will be documented in this file.
852
865
 
853
866
  **Merged pull requests:**
854
867
 
855
- - \(QENG-7134\) Individualize cisco IOS platforms [\#153](https://github.com/voxpupuli/beaker-hostgenerator/pull/153) ([smcelmurry](https://github.com/smcelmurry))
868
+ - \(QENG-7134\) Individualize cisco IOS platforms [\#153](https://github.com/voxpupuli/beaker-hostgenerator/pull/153) ([junebug-spencer](https://github.com/junebug-spencer))
856
869
 
857
870
  ## [1.1.27](https://github.com/voxpupuli/beaker-hostgenerator/tree/1.1.27) (2019-04-25)
858
871
 
@@ -28,7 +28,7 @@ Gem::Specification.new do |s|
28
28
  s.add_development_dependency 'rake', '~> 13.0'
29
29
  s.add_development_dependency 'rspec', '~> 3.0'
30
30
  s.add_development_dependency 'rspec-its', '>= 1.3.1', '< 3'
31
- s.add_development_dependency 'voxpupuli-rubocop', '~> 5.1.0'
31
+ s.add_development_dependency 'voxpupuli-rubocop', '~> 5.2.0'
32
32
 
33
33
  # Run time dependencies
34
34
  s.add_dependency 'deep_merge', '~> 1.0'
@@ -0,0 +1,83 @@
1
+ require 'beaker-hostgenerator/data'
2
+ require 'beaker-hostgenerator/hypervisor'
3
+
4
+ module BeakerHostGenerator
5
+ module Hypervisor
6
+ # Implementation of the Lima hypervisor interface to generate host configurations
7
+ # for nodes that use Lima as their hypervisor.
8
+ class Lima < BeakerHostGenerator::Hypervisor::Interface
9
+ include BeakerHostGenerator::Data
10
+
11
+ def generate_node(node_info, base_config, bhg_version)
12
+ # Generate the Lima template URL based on the OS type
13
+ template = get_template(node_info['ostype'])
14
+ arch = case node_info['bits']
15
+ when '64'
16
+ 'x86_64'
17
+ when 'AARCH64'
18
+ 'aarch64'
19
+ end
20
+
21
+ base_config['lima'] = {
22
+ 'config' => {
23
+ 'arch' => arch,
24
+ 'vmType' => 'qemu',
25
+ 'base' => [template],
26
+ },
27
+ }
28
+
29
+ base_generate_node(node_info, base_config, bhg_version, :lima)
30
+ end
31
+
32
+ private
33
+
34
+ def get_template(ostype)
35
+ case ostype
36
+ # Ubuntu - use ubuntu-lts for LTS releases
37
+ when /^ubuntu(\d+)$/
38
+ version = Regexp.last_match(1)
39
+ "template:ubuntu-#{version[0, 2]}.#{version[2, 2]}"
40
+
41
+ # Debian
42
+ when /^debian(\d+)$/
43
+ version = Regexp.last_match(1)
44
+ "template:debian-#{version}"
45
+
46
+ # CentOS and variants
47
+ when /^centos(\d+)$/
48
+ version = Regexp.last_match(1)
49
+ (version.to_i == 7) ? "template:centos-#{version}" : "template:centos-stream-#{version}"
50
+
51
+ # AlmaLinux
52
+ when /^almalinux(\d+)$/
53
+ version = Regexp.last_match(1)
54
+ "template:almalinux-#{version}"
55
+
56
+ # Rocky Linux
57
+ when /^rocky(\d+)$/
58
+ version = Regexp.last_match(1)
59
+ "template:rocky-#{version}"
60
+
61
+ # Oracle Linux
62
+ when /^oracle(\d+)$/
63
+ version = Regexp.last_match(1)
64
+ "template:oraclelinux-#{version}"
65
+
66
+ # Fedora
67
+ when /^fedora(\d+)$/
68
+ version = Regexp.last_match(1)
69
+ "template:fedora-#{version}"
70
+
71
+ # OpenSUSE
72
+ when /^opensuse(\d+)$/
73
+ version = Regexp.last_match(1)
74
+ "template:opensuse-leap-#{version}"
75
+
76
+ # Default fallback - use ostype as-is
77
+ else
78
+ "template:#{ostype}"
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -33,12 +33,7 @@ module BeakerHostGenerator
33
33
  end
34
34
  when /^centos(\d+)-64/
35
35
  version = Regexp.last_match(1)
36
- if version.to_i >= 8
37
- base_config['box'] = "centos/stream#{version}"
38
- base_config['box_url'] = "https://cloud.centos.org/centos/#{version}-stream/x86_64/images/CentOS-Stream-Vagrant-#{version}-latest.x86_64.vagrant-libvirt.box"
39
- else
40
- base_config = "centos/#{version}"
41
- end
36
+ base_config['box'] = (version.to_i >= 8) ? "centos/stream#{version}" : "centos/#{version}"
42
37
  end
43
38
 
44
39
  # We don't use this by default
@@ -46,6 +46,7 @@ module BeakerHostGenerator
46
46
  'container_swarm' => BeakerHostGenerator::Hypervisor::Docker,
47
47
  'docker' => BeakerHostGenerator::Hypervisor::Docker,
48
48
  'hcloud' => BeakerHostGenerator::Hypervisor::Hcloud,
49
+ 'lima' => BeakerHostGenerator::Hypervisor::Lima,
49
50
  'vagrant' => BeakerHostGenerator::Hypervisor::Vagrant,
50
51
  'vagrant_libvirt' => BeakerHostGenerator::Hypervisor::Vagrant,
51
52
  'vmpooler' => BeakerHostGenerator::Hypervisor::Vmpooler,
@@ -118,3 +119,4 @@ require 'beaker-hostgenerator/hypervisor/vagrant'
118
119
  require 'beaker-hostgenerator/hypervisor/docker'
119
120
  require 'beaker-hostgenerator/hypervisor/abs'
120
121
  require 'beaker-hostgenerator/hypervisor/hcloud'
122
+ require 'beaker-hostgenerator/hypervisor/lima'
@@ -1,5 +1,5 @@
1
1
  module BeakerHostGenerator
2
2
  module Version
3
- STRING = '3.4.0'
3
+ STRING = '3.5.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker-hostgenerator
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Branan Purvine-Riley
@@ -120,14 +120,14 @@ dependencies:
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: 5.1.0
123
+ version: 5.2.0
124
124
  type: :development
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: 5.1.0
130
+ version: 5.2.0
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: deep_merge
133
133
  requirement: !ruby/object:Gem::Requirement
@@ -181,6 +181,7 @@ files:
181
181
  - lib/beaker-hostgenerator/hypervisor/abs.rb
182
182
  - lib/beaker-hostgenerator/hypervisor/docker.rb
183
183
  - lib/beaker-hostgenerator/hypervisor/hcloud.rb
184
+ - lib/beaker-hostgenerator/hypervisor/lima.rb
184
185
  - lib/beaker-hostgenerator/hypervisor/unknown.rb
185
186
  - lib/beaker-hostgenerator/hypervisor/vagrant.rb
186
187
  - lib/beaker-hostgenerator/hypervisor/vmpooler.rb
@@ -206,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
207
  - !ruby/object:Gem::Version
207
208
  version: '0'
208
209
  requirements: []
209
- rubygems_version: 4.0.3
210
+ rubygems_version: 4.0.6
210
211
  specification_version: 4
211
212
  summary: Beaker Host Generator Utility
212
213
  test_files: []