beaker-hostgenerator 2.24.0 → 3.1.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: be396826e9a1cd04906ef6f736e90255fa90a670cd3256493f7bfe8fda2bd6e5
4
- data.tar.gz: 55c959a7a6f699ccee859d723dd46aa7d10da9e3cd7baf6a5fe91c98f5a26055
3
+ metadata.gz: d74b8aaebc91af2fb03445c1680951704a1ca95783cf454b8f9d2b46225f5c67
4
+ data.tar.gz: 8d13414639cbdc1ede5f668b9ab1dfb21964c20f763580af6fb448e40ec75a5b
5
5
  SHA512:
6
- metadata.gz: 12e17da041bbd786753ce399ee2875cd8a57ddfd82c5713a71fe48496a0d941bb3231461e4eb4626f9344c3052c5112067bb8ece58fee951df80cce56689be3a
7
- data.tar.gz: 810d04535939e093b559b90986400ec4af95ead72f3f9372e3aa0c32334ccd6c4aa45941e0e28a79b507ac4b2ac80a0265b9981077a507e5b6e4cafc8c458f0f
6
+ metadata.gz: 1aeb772fd9fb418f3a26ceb310539cca7316b1a009a80459d040250ddaf7fda51b824d6a7ffe17edf1e6c23eded2e487ad8af45ef1b47b95985eaa6c487aee1f
7
+ data.tar.gz: 153796b089fa820f86130ac7d9d4a3e450a78545161baa1b334439a711cd612fd5b862583dff092d763622da3b08055236c30bdc4194aa981b16167668b654aa
@@ -0,0 +1,41 @@
1
+ ---
2
+ # https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
3
+
4
+ changelog:
5
+ exclude:
6
+ labels:
7
+ - duplicate
8
+ - invalid
9
+ - modulesync
10
+ - question
11
+ - skip-changelog
12
+ - wont-fix
13
+ - wontfix
14
+ - github_actions
15
+
16
+ categories:
17
+ - title: Breaking Changes 🛠
18
+ labels:
19
+ - backwards-incompatible
20
+
21
+ - title: New Features 🎉
22
+ labels:
23
+ - enhancement
24
+
25
+ - title: Bug Fixes 🐛
26
+ labels:
27
+ - bug
28
+ - bugfix
29
+
30
+ - title: Documentation Updates 📚
31
+ labels:
32
+ - documentation
33
+ - docs
34
+
35
+ - title: Dependency Updates ⬆️
36
+ labels:
37
+ - dependencies
38
+
39
+ - title: Other Changes
40
+ labels:
41
+ - "*"
@@ -1,35 +1,104 @@
1
- name: Release
1
+ ---
2
+ name: Gem Release
2
3
 
3
4
  on:
4
5
  push:
5
6
  tags:
6
7
  - '*'
7
8
 
9
+ permissions: {}
10
+
8
11
  jobs:
9
- release:
10
- runs-on: ubuntu-latest
12
+ build-release:
13
+ # Prevent releases from forked repositories
11
14
  if: github.repository_owner == 'voxpupuli'
15
+ name: Build the gem
16
+ runs-on: ubuntu-24.04
12
17
  steps:
13
- - uses: actions/checkout@v4
14
- - name: Install Ruby 3.4
18
+ - uses: actions/checkout@v5
19
+ - name: Install Ruby
15
20
  uses: ruby/setup-ruby@v1
16
21
  with:
17
- ruby-version: '3.4'
18
- env:
19
- BUNDLE_WITHOUT: release
22
+ ruby-version: 'ruby'
20
23
  - name: Build gem
21
- run: gem build --strict --verbose *.gemspec
22
- - name: Publish gem to rubygems.org
23
- run: gem push *.gem
24
+ shell: bash
25
+ run: gem build --verbose *.gemspec
26
+ - name: Upload gem to GitHub cache
27
+ uses: actions/upload-artifact@v4
28
+ with:
29
+ name: gem-artifact
30
+ path: '*.gem'
31
+ retention-days: 1
32
+ compression-level: 0
33
+
34
+ create-github-release:
35
+ needs: build-release
36
+ name: Create GitHub release
37
+ runs-on: ubuntu-24.04
38
+ permissions:
39
+ contents: write # clone repo and create release
40
+ steps:
41
+ - name: Download gem from GitHub cache
42
+ uses: actions/download-artifact@v5
43
+ with:
44
+ name: gem-artifact
45
+ - name: Create Release
46
+ shell: bash
24
47
  env:
25
- GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
26
- - name: Setup GitHub packages access
27
- run: |
28
- mkdir -p ~/.gem
29
- echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
30
- chmod 0600 ~/.gem/credentials
48
+ GH_TOKEN: ${{ github.token }}
49
+ run: gh release create --repo ${{ github.repository }} ${{ github.ref_name }} --generate-notes *.gem
50
+
51
+ release-to-github:
52
+ needs: build-release
53
+ name: Release to GitHub
54
+ runs-on: ubuntu-24.04
55
+ permissions:
56
+ packages: write # publish to rubygems.pkg.github.com
57
+ steps:
58
+ - name: Download gem from GitHub cache
59
+ uses: actions/download-artifact@v5
60
+ with:
61
+ name: gem-artifact
31
62
  - name: Publish gem to GitHub packages
32
- run: gem push --key github --host https://rubygems.pkg.github.com/voxpupuli *.gem
63
+ run: gem push --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
64
+ env:
65
+ GEM_HOST_API_KEY: ${{ secrets.GITHUB_TOKEN }}
66
+
67
+ release-to-rubygems:
68
+ needs: build-release
69
+ name: Release gem to rubygems.org
70
+ runs-on: ubuntu-24.04
71
+ environment: release # recommended by rubygems.org
72
+ permissions:
73
+ id-token: write # rubygems.org authentication
74
+ steps:
75
+ - name: Download gem from GitHub cache
76
+ uses: actions/download-artifact@v5
77
+ with:
78
+ name: gem-artifact
79
+ - uses: rubygems/configure-rubygems-credentials@v1.0.0
80
+ - name: Publish gem to rubygems.org
81
+ shell: bash
82
+ run: gem push *.gem
83
+
84
+ release-verification:
85
+ name: Check that all releases are done
86
+ runs-on: ubuntu-24.04
87
+ permissions:
88
+ contents: read # minimal permissions that we have to grant
89
+ needs:
90
+ - create-github-release
91
+ - release-to-github
92
+ - release-to-rubygems
93
+ steps:
94
+ - name: Download gem from GitHub cache
95
+ uses: actions/download-artifact@v5
96
+ with:
97
+ name: gem-artifact
98
+ - name: Install Ruby
99
+ uses: ruby/setup-ruby@v1
100
+ with:
101
+ ruby-version: 'ruby'
33
102
  - name: Wait for release to propagate
34
103
  shell: bash
35
104
  run: |
@@ -6,8 +6,8 @@ on:
6
6
  branches:
7
7
  - master
8
8
 
9
- env:
10
- BUNDLE_WITHOUT: release
9
+ permissions:
10
+ contents: read
11
11
 
12
12
  jobs:
13
13
  rubocop_and_matrix:
@@ -15,7 +15,7 @@ jobs:
15
15
  outputs:
16
16
  ruby: ${{ steps.ruby.outputs.versions }}
17
17
  steps:
18
- - uses: actions/checkout@v4
18
+ - uses: actions/checkout@v5
19
19
  - name: Install Ruby 3.4
20
20
  uses: ruby/setup-ruby@v1
21
21
  with:
@@ -35,7 +35,7 @@ jobs:
35
35
  matrix:
36
36
  ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
37
37
  steps:
38
- - uses: actions/checkout@v4
38
+ - uses: actions/checkout@v5
39
39
  - name: Setup ruby
40
40
  uses: ruby/setup-ruby@v1
41
41
  with:
data/.rubocop.yml CHANGED
@@ -5,3 +5,6 @@ inherit_gem:
5
5
 
6
6
  Style/GuardClause:
7
7
  Enabled: False
8
+
9
+ AllCops:
10
+ TargetRubyVersion: 3.2
data/.rubocop_todo.yml CHANGED
@@ -1,19 +1,11 @@
1
1
  # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2023-05-05 09:15:09 UTC using RuboCop version 1.50.2.
2
+ # `rubocop --auto-gen-config --no-auto-gen-timestamp`
3
+ # using RuboCop version 1.75.8.
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
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 4
10
- # Configuration parameters: EnforcedStyle, AllowedGems, Include.
11
- # SupportedStyles: Gemfile, gems.rb, gemspec
12
- # Include: **/*.gemspec, **/Gemfile, **/gems.rb
13
- Gemspec/DevelopmentDependencies:
14
- Exclude:
15
- - 'beaker-hostgenerator.gemspec'
16
-
17
9
  # Offense count: 1
18
10
  Lint/MixedRegexpCaptureTypes:
19
11
  Exclude:
@@ -31,42 +23,6 @@ Lint/SuppressedException:
31
23
  - 'Rakefile'
32
24
  - 'bin/beaker-hostgenerator'
33
25
 
34
- # Offense count: 10
35
- # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
36
- Metrics/AbcSize:
37
- Max: 78
38
-
39
- # Offense count: 3
40
- # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
41
- # AllowedMethods: refine
42
- Metrics/BlockLength:
43
- Max: 98
44
-
45
- # Offense count: 1
46
- # Configuration parameters: CountComments, CountAsOne.
47
- Metrics/ClassLength:
48
- Max: 161
49
-
50
- # Offense count: 7
51
- # Configuration parameters: AllowedMethods, AllowedPatterns.
52
- Metrics/CyclomaticComplexity:
53
- Max: 23
54
-
55
- # Offense count: 20
56
- # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
57
- Metrics/MethodLength:
58
- Max: 1121
59
-
60
- # Offense count: 4
61
- # Configuration parameters: CountComments, CountAsOne.
62
- Metrics/ModuleLength:
63
- Max: 1199
64
-
65
- # Offense count: 3
66
- # Configuration parameters: AllowedMethods, AllowedPatterns.
67
- Metrics/PerceivedComplexity:
68
- Max: 25
69
-
70
26
  # Offense count: 1
71
27
  Naming/AccessorMethodName:
72
28
  Exclude:
@@ -78,6 +34,7 @@ Naming/AccessorMethodName:
78
34
  # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
79
35
  Naming/FileName:
80
36
  Exclude:
37
+ - 'Rakefile.rb'
81
38
  - 'lib/beaker-hostgenerator.rb'
82
39
 
83
40
  # Offense count: 2
@@ -98,9 +55,9 @@ Naming/HeredocDelimiterNaming:
98
55
  - 'lib/beaker-hostgenerator/cli.rb'
99
56
 
100
57
  # Offense count: 1
101
- # Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
102
- # NamePrefix: is_, has_, have_
103
- # ForbiddenPrefixes: is_, has_, have_
58
+ # Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros, UseSorbetSigs.
59
+ # NamePrefix: is_, has_, have_, does_
60
+ # ForbiddenPrefixes: is_, has_, have_, does_
104
61
  # AllowedMethods: is_a?
105
62
  # MethodDefinitionMacros: define_method, define_singleton_method
106
63
  Naming/PredicateName:
@@ -114,13 +71,6 @@ Performance/CollectionLiteralInLoop:
114
71
  Exclude:
115
72
  - 'lib/beaker-hostgenerator/parser.rb'
116
73
 
117
- # Offense count: 3
118
- # This cop supports safe autocorrection (--autocorrect).
119
- Performance/RegexpMatch:
120
- Exclude:
121
- - 'Rakefile'
122
- - 'lib/beaker-hostgenerator/hypervisor/vagrant.rb'
123
-
124
74
  # Offense count: 2
125
75
  # This cop supports unsafe autocorrection (--autocorrect-all).
126
76
  Performance/StringInclude:
@@ -128,12 +78,6 @@ Performance/StringInclude:
128
78
  - 'Rakefile'
129
79
  - 'lib/beaker-hostgenerator/generator.rb'
130
80
 
131
- # Offense count: 1
132
- # This cop supports safe autocorrection (--autocorrect).
133
- Performance/StringReplacement:
134
- Exclude:
135
- - 'lib/beaker-hostgenerator/parser.rb'
136
-
137
81
  # Offense count: 7
138
82
  # Configuration parameters: Prefixes, AllowedPatterns.
139
83
  # Prefixes: when, with, without
@@ -144,7 +88,7 @@ RSpec/ContextWording:
144
88
 
145
89
  # Offense count: 2
146
90
  # This cop supports unsafe autocorrection (--autocorrect-all).
147
- # Configuration parameters: SkipBlocks, EnforcedStyle.
91
+ # Configuration parameters: SkipBlocks, EnforcedStyle, OnlyStaticConstants.
148
92
  # SupportedStyles: described_class, explicit
149
93
  RSpec/DescribedClass:
150
94
  Exclude:
@@ -156,14 +100,6 @@ RSpec/DescribedClass:
156
100
  RSpec/ExampleLength:
157
101
  Max: 35
158
102
 
159
- # Offense count: 1
160
- # This cop supports safe autocorrection (--autocorrect).
161
- # Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples.
162
- # DisallowedExamples: works
163
- RSpec/ExampleWording:
164
- Exclude:
165
- - 'spec/beaker-hostgenerator/parser_spec.rb'
166
-
167
103
  # Offense count: 7
168
104
  RSpec/MultipleExpectations:
169
105
  Max: 4
@@ -179,12 +115,6 @@ RSpec/VerifiedDoubles:
179
115
  Exclude:
180
116
  - 'spec/helpers.rb'
181
117
 
182
- # Offense count: 2
183
- # This cop supports safe autocorrection (--autocorrect).
184
- Rake/Desc:
185
- Exclude:
186
- - 'Rakefile'
187
-
188
118
  # Offense count: 1
189
119
  Security/Eval:
190
120
  Exclude:
@@ -196,13 +126,6 @@ Security/JSONLoad:
196
126
  Exclude:
197
127
  - 'spec/beaker-hostgenerator/abs_support_spec.rb'
198
128
 
199
- # Offense count: 2
200
- # This cop supports unsafe autocorrection (--autocorrect-all).
201
- Security/YAMLLoad:
202
- Exclude:
203
- - 'spec/beaker-hostgenerator/generator_spec.rb'
204
- - 'test/util/generator_helpers.rb'
205
-
206
129
  # Offense count: 1
207
130
  # This cop supports unsafe autocorrection (--autocorrect-all).
208
131
  # Configuration parameters: EnforcedStyle.
@@ -220,14 +143,17 @@ Style/CaseLikeIf:
220
143
 
221
144
  # Offense count: 1
222
145
  # This cop supports unsafe autocorrection (--autocorrect-all).
223
- # Configuration parameters: EnforcedStyle.
146
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForClasses, EnforcedStyleForModules.
224
147
  # SupportedStyles: nested, compact
148
+ # SupportedStylesForClasses: ~, nested, compact
149
+ # SupportedStylesForModules: ~, nested, compact
225
150
  Style/ClassAndModuleChildren:
226
151
  Exclude:
227
152
  - 'lib/beaker-hostgenerator/hypervisor/unknown.rb'
228
153
 
229
154
  # Offense count: 1
230
155
  # This cop supports unsafe autocorrection (--autocorrect-all).
156
+ # Configuration parameters: AllowedReceivers.
231
157
  Style/CollectionCompact:
232
158
  Exclude:
233
159
  - 'lib/beaker-hostgenerator/data.rb'
@@ -250,7 +176,7 @@ Style/Documentation:
250
176
  - 'lib/beaker-hostgenerator/roles.rb'
251
177
  - 'lib/beaker-hostgenerator/util.rb'
252
178
 
253
- # Offense count: 30
179
+ # Offense count: 29
254
180
  # This cop supports unsafe autocorrection (--autocorrect-all).
255
181
  # Configuration parameters: EnforcedStyle.
256
182
  # SupportedStyles: always, always_true, never
@@ -263,14 +189,13 @@ Style/LineEndConcatenation:
263
189
  Exclude:
264
190
  - 'lib/beaker-hostgenerator/cli.rb'
265
191
 
266
- # Offense count: 15
192
+ # Offense count: 14
267
193
  # This cop supports unsafe autocorrection (--autocorrect-all).
268
194
  # Configuration parameters: EnforcedStyle.
269
195
  # SupportedStyles: literals, strict
270
196
  Style/MutableConstant:
271
197
  Exclude:
272
198
  - 'lib/beaker-hostgenerator/data.rb'
273
- - 'lib/beaker-hostgenerator/parser.rb'
274
199
  - 'lib/beaker-hostgenerator/roles.rb'
275
200
  - 'lib/beaker-hostgenerator/version.rb'
276
201
  - 'spec/helpers.rb'
@@ -307,7 +232,7 @@ Style/StringConcatenation:
307
232
 
308
233
  # Offense count: 2
309
234
  # This cop supports safe autocorrection (--autocorrect).
310
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
235
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
311
236
  # URISchemes: http, https
312
237
  Layout/LineLength:
313
238
  Max: 168
data/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [3.1.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/3.1.0) (2025-08-12)
6
+
7
+ [Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/3.0.0...3.1.0)
8
+
9
+ **Implemented enhancements:**
10
+
11
+ - Add Debian 13 support and make CentOS & Debian easier to maintain [\#422](https://github.com/voxpupuli/beaker-hostgenerator/pull/422) ([ekohl](https://github.com/ekohl))
12
+
13
+ ## [3.0.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/3.0.0) (2025-08-03)
14
+
15
+ [Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/2.24.0...3.0.0)
16
+
17
+ **Breaking changes:**
18
+
19
+ - Require Ruby 3.2 or newer [\#416](https://github.com/voxpupuli/beaker-hostgenerator/pull/416) ([bastelfreak](https://github.com/bastelfreak))
20
+ - Drop legacy EL6 data [\#322](https://github.com/voxpupuli/beaker-hostgenerator/pull/322) ([bastelfreak](https://github.com/bastelfreak))
21
+
22
+ **Implemented enhancements:**
23
+
24
+ - Add Redhat 10 AARCH [\#415](https://github.com/voxpupuli/beaker-hostgenerator/pull/415) ([smahima27](https://github.com/smahima27))
25
+
5
26
  ## [2.24.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/2.24.0) (2025-05-24)
6
27
 
7
28
  [Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/2.23.0...2.24.0)
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ gemspec
4
4
 
5
5
  eval(File.read("#{__FILE__}.local"), binding) if File.exist? "#{__FILE__}.local"
6
6
 
7
- group :release do
7
+ group :release, optional: true do
8
8
  gem 'faraday-retry', require: false
9
9
  gem 'github_changelog_generator', require: false
10
10
  end
data/Rakefile CHANGED
@@ -3,6 +3,7 @@ require 'rake/testtask'
3
3
 
4
4
  namespace :test do
5
5
  namespace :spec do
6
+ desc 'run minitest tests'
6
7
  task :minitest do
7
8
  desc 'Run minitest tests'
8
9
  Rake::TestTask.new do |task|
@@ -42,6 +43,7 @@ end
42
43
  task 'test:spec' => ['test:spec:run', 'test:spec:minitest']
43
44
 
44
45
  # global defaults
46
+ desc 'run all unit tests'
45
47
  task test: 'test:spec'
46
48
  task default: :test
47
49
 
@@ -57,7 +59,7 @@ begin
57
59
 
58
60
  # Workaround for https://github.com/github-changelog-generator/github-changelog-generator/issues/715
59
61
  require 'rbconfig'
60
- if RbConfig::CONFIG['host_os'] =~ /linux/
62
+ if /linux/.match?(RbConfig::CONFIG['host_os'])
61
63
  task :changelog do
62
64
  puts 'Fixing line endings...'
63
65
  changelog_file = File.join(__dir__, 'CHANGELOG.md')
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
20
20
  s.require_paths = ['lib']
21
21
 
22
- s.required_ruby_version = Gem::Requirement.new('>= 2.7')
22
+ s.required_ruby_version = Gem::Requirement.new('>= 3.2')
23
23
 
24
24
  # Testing dependencies
25
25
  s.add_development_dependency 'fakefs', '>= 0.6', '< 4.0'
@@ -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', '~> 3.1.0'
31
+ s.add_development_dependency 'voxpupuli-rubocop', '~> 4.2.0'
32
32
 
33
33
  # Run time dependencies
34
34
  s.add_dependency 'deep_merge', '~> 1.0'
@@ -1,6 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
- lib_dir = File.expand_path(File.dirname(File.dirname(__FILE__)), 'lib')
3
+ lib_dir = File.expand_path(File.dirname(__FILE__, 2), 'lib')
4
4
  $LOAD_PATH.unshift(lib_dir)
5
5
 
6
6
  require 'beaker-hostgenerator'
@@ -106,14 +106,6 @@ module BeakerHostGenerator
106
106
  'template' => 'aix-7.2-power',
107
107
  },
108
108
  },
109
- 'amazon6-64' => {
110
- general: {
111
- 'platform' => 'el-6-x86_64',
112
- },
113
- abs: {
114
- 'template' => 'amazon-6-x86_64',
115
- },
116
- },
117
109
  'amazon7-64' => {
118
110
  general: {
119
111
  'platform' => 'el-7-x86_64',
@@ -141,77 +133,6 @@ module BeakerHostGenerator
141
133
  'image' => 'archlinux/archlinux',
142
134
  },
143
135
  },
144
- 'centos7-64' => {
145
- general: {
146
- 'platform' => 'el-7-x86_64',
147
- },
148
- },
149
- 'centos8-64' => {
150
- general: {
151
- 'platform' => 'el-8-x86_64',
152
- },
153
- vagrant: {
154
- 'box' => 'centos/stream8',
155
- 'box_url' => 'https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-Vagrant-8-latest.x86_64.vagrant-libvirt.box',
156
- },
157
- },
158
- 'centos9-64' => {
159
- general: {
160
- 'platform' => 'el-9-x86_64',
161
- },
162
- vagrant: {
163
- 'box' => 'centos/stream9',
164
- 'box_url' => 'https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-Vagrant-9-latest.x86_64.vagrant-libvirt.box',
165
- },
166
- },
167
- 'centos10-64' => {
168
- general: {
169
- 'platform' => 'el-10-x86_64',
170
- },
171
- vagrant: {
172
- 'box' => 'centos/stream10',
173
- 'box_url' => 'https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-Vagrant-10-latest.x86_64.vagrant-libvirt.box',
174
- },
175
- },
176
- 'debian10-64' => {
177
- general: {
178
- 'platform' => 'debian-10-amd64',
179
- },
180
- vagrant: {
181
- 'box' => 'debian/buster64',
182
- },
183
- },
184
- 'debian10-32' => {
185
- general: {
186
- 'platform' => 'debian-10-i386',
187
- },
188
- },
189
- 'debian11-64' => {
190
- general: {
191
- 'platform' => 'debian-11-amd64',
192
- },
193
- vagrant: {
194
- 'box' => 'debian/bullseye64',
195
- },
196
- },
197
- 'debian11-AARCH64' => {
198
- general: {
199
- 'platform' => 'debian-11-aarch64',
200
- },
201
- },
202
- 'debian12-64' => {
203
- general: {
204
- 'platform' => 'debian-12-amd64',
205
- },
206
- vagrant: {
207
- 'box' => 'debian/bookworm64',
208
- },
209
- },
210
- 'debian12-AARCH64' => {
211
- general: {
212
- 'platform' => 'debian-12-aarch64',
213
- },
214
- },
215
136
  'panos61-64' => {
216
137
  general: {
217
138
  'platform' => 'palo-alto-6.1.0-x86_64',
@@ -283,27 +204,6 @@ module BeakerHostGenerator
283
204
  'template' => 'macos-13-arm64',
284
205
  },
285
206
  },
286
- 'redhat6-32' => {
287
- general: {
288
- 'platform' => 'el-6-i386',
289
- },
290
- vmpooler: {
291
- 'template' => 'redhat-6-i386',
292
- },
293
- },
294
- 'redhat6-64' => {
295
- general: {
296
- 'platform' => 'el-6-x86_64',
297
- },
298
- vmpooler: {
299
- 'template' => 'redhat-6-x86_64',
300
- },
301
- },
302
- 'redhat6-S390X' => {
303
- general: {
304
- 'platform' => 'el-6-s390x',
305
- },
306
- },
307
207
  'redhat7-64' => {
308
208
  general: {
309
209
  'platform' => 'el-7-x86_64',
@@ -405,6 +305,17 @@ module BeakerHostGenerator
405
305
  'platform' => 'el-10-x86_64',
406
306
  },
407
307
  },
308
+ 'redhat10-AARCH64' => {
309
+ general: {
310
+ 'platform' => 'el-10-aarch64',
311
+ },
312
+ abs: {
313
+ 'template' => 'redhat-10-arm64',
314
+ },
315
+ vmpooler: {
316
+ 'template' => 'redhat-10-arm64',
317
+ },
318
+ },
408
319
  'rocky8-64' => {
409
320
  general: {
410
321
  'platform' => 'el-8-x86_64',
@@ -1183,6 +1094,20 @@ module BeakerHostGenerator
1183
1094
  # AIX
1184
1095
  yield %w[aix73-POWER aix-7.3-power]
1185
1096
 
1097
+ # CentOS
1098
+ (7..10).each do |release|
1099
+ yield ["centos#{release}-64", "el-#{release}-x86_64"]
1100
+ end
1101
+
1102
+ # Debian
1103
+ (10..13).each do |release|
1104
+ yield ["debian#{release}-32", "debian-#{release}-i386"] if release < 11
1105
+
1106
+ yield ["debian#{release}-64", "debian-#{release}-amd64"]
1107
+
1108
+ yield ["debian#{release}-AARCH64", "debian-#{release}-aarch64"] if release >= 11
1109
+ end
1110
+
1186
1111
  # Fedora
1187
1112
  (19..41).each do |release|
1188
1113
  # 32 bit support was dropped in Fedora 31
@@ -1225,8 +1150,7 @@ module BeakerHostGenerator
1225
1150
  # Azure Linux
1226
1151
  yield %w[azure3-64 azure-3-x86_64]
1227
1152
  # Oracle / OracleLinux
1228
- yield ['oracle6-32', 'el-6-i386']
1229
- (6..9).each do |release|
1153
+ (7..9).each do |release|
1230
1154
  yield ["oracle#{release}-64", "el-#{release}-x86_64"]
1231
1155
  end
1232
1156
 
@@ -7,9 +7,17 @@ module BeakerHostGenerator
7
7
  class Vagrant < BeakerHostGenerator::Hypervisor::Interface
8
8
  include BeakerHostGenerator::Data
9
9
 
10
+ DEBIAN_VERSION_CODES = {
11
+ # No newer releases available
12
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104105
13
+ '12' => 'bookworm',
14
+ '11' => 'bullseye',
15
+ '10' => 'buster',
16
+ }.freeze
17
+
10
18
  def generate_node(node_info, base_config, bhg_version)
11
19
  base_config['box'] = case node_info['ostype']
12
- when /^centos/, /^almalinux/
20
+ when /^almalinux/
13
21
  node_info['ostype'].sub(/(\d)/, '/\1')
14
22
  when /^fedora/
15
23
  node_info['ostype'].sub(/(\d)/, '/\1') + '-cloud-base'
@@ -17,6 +25,22 @@ module BeakerHostGenerator
17
25
  "generic/#{node_info['ostype']}"
18
26
  end
19
27
 
28
+ case node_info['platform']
29
+ when /^debian(\d+)-64/
30
+ version = Regexp.last_match(1)
31
+ if (codename = DEBIAN_VERSION_CODES[version])
32
+ base_config['box'] = "debian/#{codename}64"
33
+ end
34
+ when /^centos(\d+)-64/
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
42
+ end
43
+
20
44
  # We don't use this by default
21
45
  base_config['synced_folder'] = 'disabled'
22
46
 
@@ -121,7 +121,7 @@ module BeakerHostGenerator
121
121
  end
122
122
  end
123
123
  tokens = spec.split('-')
124
- tokens.map { |t| t.gsub('|', '-') }
124
+ tokens.map { |t| t.tr('|', '-') }
125
125
  end
126
126
 
127
127
  # Tests if a string token represents an OS platform (i.e. "centos9" or
@@ -1,5 +1,5 @@
1
1
  module BeakerHostGenerator
2
2
  module Version
3
- STRING = '2.24.0'
3
+ STRING = '3.1.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: 2.24.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Branan Purvine-Riley
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 3.1.0
117
+ version: 4.2.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 3.1.0
124
+ version: 4.2.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: deep_merge
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -148,6 +148,7 @@ extensions: []
148
148
  extra_rdoc_files: []
149
149
  files:
150
150
  - ".github/dependabot.yml"
151
+ - ".github/release.yml"
151
152
  - ".github/workflows/release.yml"
152
153
  - ".github/workflows/test.yml"
153
154
  - ".gitignore"
@@ -192,14 +193,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
192
193
  requirements:
193
194
  - - ">="
194
195
  - !ruby/object:Gem::Version
195
- version: '2.7'
196
+ version: '3.2'
196
197
  required_rubygems_version: !ruby/object:Gem::Requirement
197
198
  requirements:
198
199
  - - ">="
199
200
  - !ruby/object:Gem::Version
200
201
  version: '0'
201
202
  requirements: []
202
- rubygems_version: 3.6.7
203
+ rubygems_version: 3.6.9
203
204
  specification_version: 4
204
205
  summary: Beaker Host Generator Utility
205
206
  test_files: []