beaker 6.6.0 → 6.8.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: 1a7f2cf603e697740aab5a108dc690a6b5dd4800c52a9678941b826e422ee5e1
4
- data.tar.gz: ce8bc6743384545f0d501fd54f221928bb731a16b3e1ce30a5494563aec0c69f
3
+ metadata.gz: a28ad824ad4e07560f270cface92f77a128b9312fedc0d667bbac78a81d9c175
4
+ data.tar.gz: 95c5f36c519f67217cc4e1b559253aa23a5eac9079cb7537f9983897967b5238
5
5
  SHA512:
6
- metadata.gz: 4ec0253cd6bec780eac93937595b9f53a0be31e966123fd9c753b80661d145d226747537ca23b18aa79afcd7cc8932b83f3c8057a1f5a23cca4aa6ca332c7614
7
- data.tar.gz: 5e495a3074e6fe7821bd810f7955542e130bb5673231d48c5107d138bfff7b15e22e3aacd84bd4adea66c4cfc52b20b6513b733051cf7bd4138e987e197774ec
6
+ metadata.gz: 02e35c0ff08482ad8003b1706360ac1a3699faacf196ace967352538c221621e9e53f08460131f464d8999695f84e7a86e8f2132df275282c56f7fb3d8533468
7
+ data.tar.gz: d0fa6e094a65b35868861d49a7ef658a31259a48803c4b08b057cccf4646ebad3bfbf7043ee89f25199f4e63eaa7606d4782eb20079a18be3d76e2807ca81a38
@@ -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,32 +1,106 @@
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
18
  - uses: actions/checkout@v4
14
- - name: Install Ruby 3.0
19
+ - name: Install Ruby
15
20
  uses: ruby/setup-ruby@v1
16
21
  with:
17
- ruby-version: '3.3'
18
- env:
19
- BUNDLE_WITHOUT: release:development:rubocop
22
+ ruby-version: 'ruby'
20
23
  - name: Build gem
21
- run: gem build --strict --verbose *.gemspec
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@v4
43
+ with:
44
+ name: gem-artifact
45
+ - name: Create Release
46
+ shell: bash
47
+ env:
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@v4
60
+ with:
61
+ name: gem-artifact
62
+ - name: Publish gem to GitHub packages
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@v4
77
+ with:
78
+ name: gem-artifact
79
+ - uses: rubygems/configure-rubygems-credentials@v1.0.0
22
80
  - name: Publish gem to rubygems.org
81
+ shell: bash
23
82
  run: gem push *.gem
24
- env:
25
- GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
26
- - name: Setup GitHub packages access
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@v4
96
+ with:
97
+ name: gem-artifact
98
+ - name: Install Ruby
99
+ uses: ruby/setup-ruby@v1
100
+ with:
101
+ ruby-version: 'ruby'
102
+ - name: Wait for release to propagate
103
+ shell: bash
27
104
  run: |
28
- mkdir -p ~/.gem
29
- echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
30
- chmod 0600 ~/.gem/credentials
31
- - name: Publish gem to GitHub packages
32
- run: gem push --key github --host https://rubygems.pkg.github.com/voxpupuli *.gem
105
+ gem install rubygems-await
106
+ gem await *.gem
@@ -1,3 +1,4 @@
1
+ ---
1
2
  name: Test
2
3
 
3
4
  on:
@@ -7,35 +8,31 @@ on:
7
8
  - master
8
9
 
9
10
  jobs:
10
- rubocop:
11
- env:
12
- BUNDLE_WITHOUT: release
13
- runs-on: ubuntu-latest
11
+ rubocop_and_matrix:
12
+ runs-on: ubuntu-24.04
13
+ outputs:
14
+ ruby: ${{ steps.ruby.outputs.versions }}
14
15
  steps:
15
16
  - uses: actions/checkout@v4
16
17
  - name: Install Ruby ${{ matrix.ruby }}
17
18
  uses: ruby/setup-ruby@v1
18
19
  with:
19
- ruby-version: "3.3"
20
+ ruby-version: "3.4"
20
21
  bundler-cache: true
21
22
  - name: Run Rubocop
22
23
  run: bundle exec rake rubocop
24
+ - id: ruby
25
+ uses: voxpupuli/ruby-version@v1
23
26
 
24
27
  test:
25
- runs-on: ubuntu-latest
28
+ name: "Ruby ${{ matrix.ruby }}"
29
+ runs-on: ubuntu-24.04
30
+ needs: rubocop_and_matrix
26
31
  strategy:
27
32
  fail-fast: false
28
33
  matrix:
29
- include:
30
- - ruby: "2.7"
31
- - ruby: "3.0"
32
- - ruby: "3.1"
33
- - ruby: "3.2"
34
- - ruby: "3.3"
35
- coverage: "yes"
34
+ ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
36
35
  env:
37
- COVERAGE: ${{ matrix.coverage }}
38
- BUNDLE_WITHOUT: release:rubocop
39
36
  BEAKER_HYPERVISOR: docker
40
37
  steps:
41
38
  - uses: actions/checkout@v4
@@ -53,9 +50,9 @@ jobs:
53
50
 
54
51
  tests:
55
52
  needs:
56
- - rubocop
53
+ - rubocop_and_matrix
57
54
  - test
58
- runs-on: ubuntu-latest
55
+ runs-on: ubuntu-24.04
59
56
  name: Test suite
60
57
  steps:
61
58
  - run: echo Test suite completed
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2024-05-11 14:14:06 UTC using RuboCop version 1.62.1.
2
+ # `rubocop --auto-gen-config --no-auto-gen-timestamp`
3
+ # using RuboCop version 1.75.7.
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
@@ -43,13 +43,7 @@ Lint/NonAtomicFileOperation:
43
43
  Exclude:
44
44
  - 'acceptance/tests/base/dsl/helpers/host_helpers/archive_file_from_test.rb'
45
45
 
46
- # Offense count: 2
47
- Lint/RescueException:
48
- Exclude:
49
- - 'lib/beaker/dsl/structure.rb'
50
- - 'lib/beaker/test_suite_result.rb'
51
-
52
- # Offense count: 27
46
+ # Offense count: 26
53
47
  Lint/ShadowingOuterLocalVariable:
54
48
  Exclude:
55
49
  - 'lib/beaker/dsl/helpers/host_helpers.rb'
@@ -60,16 +54,6 @@ Lint/ShadowingOuterLocalVariable:
60
54
  - 'lib/beaker/host_prebuilt_steps.rb'
61
55
  - 'lib/beaker/perf.rb'
62
56
 
63
- # Offense count: 12
64
- # This cop supports unsafe autocorrection (--autocorrect-all).
65
- # Configuration parameters: AutoCorrect.
66
- Lint/UselessAssignment:
67
- Exclude:
68
- - 'acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb'
69
- - 'lib/beaker/cli.rb'
70
- - 'lib/beaker/dsl/helpers/host_helpers.rb'
71
- - 'lib/beaker/logger_junit.rb'
72
-
73
57
  # Offense count: 5
74
58
  # This cop supports unsafe autocorrection (--autocorrect-all).
75
59
  Minitest/AssertTruthy:
@@ -92,7 +76,7 @@ Minitest/RefuteFalse:
92
76
  - 'acceptance/tests/base/dsl/helpers/host_helpers/check_for_package_test.rb'
93
77
  - 'acceptance/tests/base/host/host_test.rb'
94
78
 
95
- # Offense count: 19
79
+ # Offense count: 21
96
80
  # Configuration parameters: ForbiddenDelimiters.
97
81
  # ForbiddenDelimiters: (?i-mx:(^|\s)(EO[A-Z]{1}|END)(\s|$))
98
82
  Naming/HeredocDelimiterNaming:
@@ -124,6 +108,12 @@ Performance/CollectionLiteralInLoop:
124
108
  - 'lib/beaker/dsl/structure.rb'
125
109
  - 'lib/beaker/test_suite_result.rb'
126
110
 
111
+ # Offense count: 1
112
+ # This cop supports unsafe autocorrection (--autocorrect-all).
113
+ Performance/ZipWithoutBlock:
114
+ Exclude:
115
+ - 'spec/beaker/dsl/test_tagging_spec.rb'
116
+
127
117
  # Offense count: 17
128
118
  RSpec/AnyInstance:
129
119
  Exclude:
@@ -143,7 +133,7 @@ RSpec/BeEq:
143
133
  - 'spec/beaker/subcommand/subcommand_util_spec.rb'
144
134
  - 'spec/beaker/test_suite_spec.rb'
145
135
 
146
- # Offense count: 113
136
+ # Offense count: 115
147
137
  # Configuration parameters: Prefixes, AllowedPatterns.
148
138
  # Prefixes: when, with, without
149
139
  RSpec/ContextWording:
@@ -155,24 +145,23 @@ RSpec/Eq:
155
145
  Exclude:
156
146
  - 'spec/beaker/logger_spec.rb'
157
147
 
158
- # Offense count: 231
148
+ # Offense count: 232
159
149
  # Configuration parameters: CountAsOne.
160
150
  RSpec/ExampleLength:
161
151
  Max: 44
162
152
 
163
- # Offense count: 27
153
+ # Offense count: 24
164
154
  RSpec/ExpectInHook:
165
155
  Exclude:
166
156
  - 'spec/beaker/cli_spec.rb'
167
157
  - 'spec/beaker/dsl/helpers/host_helpers_spec.rb'
168
158
  - 'spec/beaker/host/unix/exec_spec.rb'
169
159
  - 'spec/beaker/host/windows/group_spec.rb'
170
- - 'spec/beaker/host_prebuilt_steps_spec.rb'
171
160
  - 'spec/beaker/logger_spec.rb'
172
161
  - 'spec/beaker/options/parser_spec.rb'
173
162
  - 'spec/beaker/ssh_connection_spec.rb'
174
163
 
175
- # Offense count: 22
164
+ # Offense count: 20
176
165
  # Configuration parameters: AssignmentOnly.
177
166
  RSpec/InstanceVariable:
178
167
  Exclude:
@@ -180,7 +169,6 @@ RSpec/InstanceVariable:
180
169
  - 'spec/beaker/dsl/helpers/test_helpers_spec.rb'
181
170
  - 'spec/beaker/dsl/roles_spec.rb'
182
171
  - 'spec/beaker/dsl/test_tagging_spec.rb'
183
- - 'spec/beaker/host_prebuilt_steps_spec.rb'
184
172
 
185
173
  # Offense count: 3
186
174
  RSpec/IteratedExpectation:
@@ -208,12 +196,12 @@ RSpec/MultipleDescribes:
208
196
  Exclude:
209
197
  - 'spec/beaker/dsl/test_tagging_spec.rb'
210
198
 
211
- # Offense count: 134
199
+ # Offense count: 140
212
200
  # Configuration parameters: AllowSubject.
213
201
  RSpec/MultipleMemoizedHelpers:
214
- Max: 18
202
+ Max: 16
215
203
 
216
- # Offense count: 495
204
+ # Offense count: 497
217
205
  # Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
218
206
  # SupportedStyles: always, named_only
219
207
  RSpec/NamedSubject:
@@ -230,13 +218,12 @@ RSpec/NoExpectationExample:
230
218
  - 'spec/beaker/logger_spec.rb'
231
219
  - 'spec/beaker/options/subcommand_options_parser_spec.rb'
232
220
 
233
- # Offense count: 60
221
+ # Offense count: 58
234
222
  # This cop supports unsafe autocorrection (--autocorrect-all).
235
223
  RSpec/ReceiveMessages:
236
224
  Exclude:
237
225
  - 'spec/beaker/cli_spec.rb'
238
226
  - 'spec/beaker/command_spec.rb'
239
- - 'spec/beaker/host_prebuilt_steps_spec.rb'
240
227
  - 'spec/beaker/host_spec.rb'
241
228
  - 'spec/beaker/options/parser_spec.rb'
242
229
  - 'spec/beaker/shared/error_handler_spec.rb'
@@ -256,7 +243,7 @@ RSpec/RepeatedExample:
256
243
  - 'spec/beaker/dsl/roles_spec.rb'
257
244
  - 'spec/beaker/logger_spec.rb'
258
245
 
259
- # Offense count: 13
246
+ # Offense count: 14
260
247
  # Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata.
261
248
  # Include: **/*_spec.rb
262
249
  RSpec/SpecFilePathFormat:
@@ -271,12 +258,13 @@ RSpec/SpecFilePathFormat:
271
258
  - 'spec/beaker/dsl/structure_spec.rb'
272
259
  - 'spec/beaker/dsl/wrappers_spec.rb'
273
260
  - 'spec/beaker/host/mac/group_spec.rb'
261
+ - 'spec/beaker/host/mac/pkg_spec.rb'
274
262
  - 'spec/beaker/host/mac/user_spec.rb'
275
263
  - 'spec/beaker/host/pswindows/user_spec.rb'
276
264
  - 'spec/beaker/host/windows/user_spec.rb'
277
265
  - 'spec/beaker/host_prebuilt_steps_spec.rb'
278
266
 
279
- # Offense count: 175
267
+ # Offense count: 176
280
268
  RSpec/SubjectStub:
281
269
  Exclude:
282
270
  - 'spec/beaker/dsl/assertions_spec.rb'
@@ -301,7 +289,7 @@ RSpec/UnspecifiedException:
301
289
  - 'spec/beaker/host_spec.rb'
302
290
  - 'spec/beaker/test_suite_spec.rb'
303
291
 
304
- # Offense count: 86
292
+ # Offense count: 87
305
293
  # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
306
294
  RSpec/VerifiedDoubles:
307
295
  Enabled: false
@@ -330,7 +318,7 @@ Security/Open:
330
318
 
331
319
  # Offense count: 104
332
320
  # This cop supports safe autocorrection (--autocorrect).
333
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
321
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
334
322
  # URISchemes: http, https
335
323
  Layout/LineLength:
336
324
  Max: 225