beaker-hostgenerator 3.0.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: f276dad6906ee76b4cc7cffb911691a5d94232510dc6da471d62ddb7382a3ab9
4
- data.tar.gz: 83e51abc94ec84aebb7c190772c8519418256497f36998b12824f437fd599433
3
+ metadata.gz: d74b8aaebc91af2fb03445c1680951704a1ca95783cf454b8f9d2b46225f5c67
4
+ data.tar.gz: 8d13414639cbdc1ede5f668b9ab1dfb21964c20f763580af6fb448e40ec75a5b
5
5
  SHA512:
6
- metadata.gz: daf745a1e9df53f70541309a87d2f671b6454f7772292bec38333a3d93353f74e981f81a005ff16ff469b9892e4bcf5560b94f58e65020400208f209a6b7ddad
7
- data.tar.gz: 10ec395ae998aaa58807432142e788d69a39e99b82459c2f1995ede532888044b280517ef416c108414eac8a02c6d5a7dad2d3011c5d8fed7fe34a271296f728
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
+ - "*"
@@ -15,7 +15,7 @@ jobs:
15
15
  name: Build the gem
16
16
  runs-on: ubuntu-24.04
17
17
  steps:
18
- - uses: actions/checkout@v4
18
+ - uses: actions/checkout@v5
19
19
  - name: Install Ruby
20
20
  uses: ruby/setup-ruby@v1
21
21
  with:
@@ -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@v4
42
+ uses: actions/download-artifact@v5
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@v4
59
+ uses: actions/download-artifact@v5
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@v4
76
+ uses: actions/download-artifact@v5
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@v4
95
+ uses: actions/download-artifact@v5
96
96
  with:
97
97
  name: gem-artifact
98
98
  - name: Install Ruby
@@ -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/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
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
+
5
13
  ## [3.0.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/3.0.0) (2025-08-03)
6
14
 
7
15
  [Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/2.24.0...3.0.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
@@ -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', '~> 4.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'
@@ -133,77 +133,6 @@ module BeakerHostGenerator
133
133
  'image' => 'archlinux/archlinux',
134
134
  },
135
135
  },
136
- 'centos7-64' => {
137
- general: {
138
- 'platform' => 'el-7-x86_64',
139
- },
140
- },
141
- 'centos8-64' => {
142
- general: {
143
- 'platform' => 'el-8-x86_64',
144
- },
145
- vagrant: {
146
- 'box' => 'centos/stream8',
147
- 'box_url' => 'https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-Vagrant-8-latest.x86_64.vagrant-libvirt.box',
148
- },
149
- },
150
- 'centos9-64' => {
151
- general: {
152
- 'platform' => 'el-9-x86_64',
153
- },
154
- vagrant: {
155
- 'box' => 'centos/stream9',
156
- 'box_url' => 'https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-Vagrant-9-latest.x86_64.vagrant-libvirt.box',
157
- },
158
- },
159
- 'centos10-64' => {
160
- general: {
161
- 'platform' => 'el-10-x86_64',
162
- },
163
- vagrant: {
164
- 'box' => 'centos/stream10',
165
- 'box_url' => 'https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-Vagrant-10-latest.x86_64.vagrant-libvirt.box',
166
- },
167
- },
168
- 'debian10-64' => {
169
- general: {
170
- 'platform' => 'debian-10-amd64',
171
- },
172
- vagrant: {
173
- 'box' => 'debian/buster64',
174
- },
175
- },
176
- 'debian10-32' => {
177
- general: {
178
- 'platform' => 'debian-10-i386',
179
- },
180
- },
181
- 'debian11-64' => {
182
- general: {
183
- 'platform' => 'debian-11-amd64',
184
- },
185
- vagrant: {
186
- 'box' => 'debian/bullseye64',
187
- },
188
- },
189
- 'debian11-AARCH64' => {
190
- general: {
191
- 'platform' => 'debian-11-aarch64',
192
- },
193
- },
194
- 'debian12-64' => {
195
- general: {
196
- 'platform' => 'debian-12-amd64',
197
- },
198
- vagrant: {
199
- 'box' => 'debian/bookworm64',
200
- },
201
- },
202
- 'debian12-AARCH64' => {
203
- general: {
204
- 'platform' => 'debian-12-aarch64',
205
- },
206
- },
207
136
  'panos61-64' => {
208
137
  general: {
209
138
  'platform' => 'palo-alto-6.1.0-x86_64',
@@ -1165,6 +1094,20 @@ module BeakerHostGenerator
1165
1094
  # AIX
1166
1095
  yield %w[aix73-POWER aix-7.3-power]
1167
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
+
1168
1111
  # Fedora
1169
1112
  (19..41).each do |release|
1170
1113
  # 32 bit support was dropped in Fedora 31
@@ -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
 
@@ -1,5 +1,5 @@
1
1
  module BeakerHostGenerator
2
2
  module Version
3
- STRING = '3.0.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: 3.0.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: 4.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: 4.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"