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 +4 -4
- data/.github/release.yml +41 -0
- data/.github/workflows/release.yml +87 -18
- data/.github/workflows/test.yml +4 -4
- data/.rubocop.yml +3 -0
- data/.rubocop_todo.yml +14 -89
- data/CHANGELOG.md +21 -0
- data/Gemfile +1 -1
- data/Rakefile +3 -1
- data/beaker-hostgenerator.gemspec +2 -2
- data/bin/beaker-hostgenerator +1 -1
- data/lib/beaker-hostgenerator/data.rb +26 -102
- data/lib/beaker-hostgenerator/hypervisor/vagrant.rb +25 -1
- data/lib/beaker-hostgenerator/parser.rb +1 -1
- data/lib/beaker-hostgenerator/version.rb +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d74b8aaebc91af2fb03445c1680951704a1ca95783cf454b8f9d2b46225f5c67
|
4
|
+
data.tar.gz: 8d13414639cbdc1ede5f668b9ab1dfb21964c20f763580af6fb448e40ec75a5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1aeb772fd9fb418f3a26ceb310539cca7316b1a009a80459d040250ddaf7fda51b824d6a7ffe17edf1e6c23eded2e487ad8af45ef1b47b95985eaa6c487aee1f
|
7
|
+
data.tar.gz: 153796b089fa820f86130ac7d9d4a3e450a78545161baa1b334439a711cd612fd5b862583dff092d763622da3b08055236c30bdc4194aa981b16167668b654aa
|
data/.github/release.yml
ADDED
@@ -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
|
-
|
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
|
-
|
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@
|
14
|
-
- name: Install Ruby
|
18
|
+
- uses: actions/checkout@v5
|
19
|
+
- name: Install Ruby
|
15
20
|
uses: ruby/setup-ruby@v1
|
16
21
|
with:
|
17
|
-
ruby-version: '
|
18
|
-
env:
|
19
|
-
BUNDLE_WITHOUT: release
|
22
|
+
ruby-version: 'ruby'
|
20
23
|
- name: Build gem
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
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 --
|
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: |
|
data/.github/workflows/test.yml
CHANGED
@@ -6,8 +6,8 @@ on:
|
|
6
6
|
branches:
|
7
7
|
- master
|
8
8
|
|
9
|
-
|
10
|
-
|
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@
|
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@
|
38
|
+
- uses: actions/checkout@v5
|
39
39
|
- name: Setup ruby
|
40
40
|
uses: ruby/setup-ruby@v1
|
41
41
|
with:
|
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
@@ -1,19 +1,11 @@
|
|
1
1
|
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config`
|
3
|
-
#
|
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:
|
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:
|
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
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']
|
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
|
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', '~>
|
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'
|
data/bin/beaker-hostgenerator
CHANGED
@@ -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
|
-
|
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 /^
|
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
|
|
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:
|
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:
|
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:
|
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
|
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.
|
203
|
+
rubygems_version: 3.6.9
|
203
204
|
specification_version: 4
|
204
205
|
summary: Beaker Host Generator Utility
|
205
206
|
test_files: []
|