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 +4 -4
- data/.github/release.yml +41 -0
- data/.github/workflows/release.yml +90 -16
- data/.github/workflows/test.yml +14 -17
- data/.rubocop_todo.yml +23 -35
- data/CHANGELOG.md +67 -170
- data/Gemfile +5 -28
- data/Rakefile +3 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb +3 -3
- data/acceptance/tests/base/dsl/structure_test.rb +2 -2
- data/beaker.gemspec +5 -2
- data/docs/tutorials/installation.md +1 -1
- data/docs/tutorials/quick_start_rake_tasks.md +1 -2
- data/lib/beaker/cli.rb +3 -3
- data/lib/beaker/dsl/helpers/host_helpers.rb +2 -2
- data/lib/beaker/dsl/structure.rb +1 -1
- data/lib/beaker/host/mac/pkg.rb +28 -2
- data/lib/beaker/host/unix/exec.rb +1 -1
- data/lib/beaker/logger_junit.rb +2 -2
- data/lib/beaker/ssh_connection.rb +1 -3
- data/lib/beaker/test_suite_result.rb +1 -1
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/host/mac/pkg_spec.rb +85 -0
- data/spec/helpers.rb +1 -0
- data/spec/spec_helper.rb +0 -24
- metadata +55 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a28ad824ad4e07560f270cface92f77a128b9312fedc0d667bbac78a81d9c175
|
4
|
+
data.tar.gz: 95c5f36c519f67217cc4e1b559253aa23a5eac9079cb7537f9983897967b5238
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02e35c0ff08482ad8003b1706360ac1a3699faacf196ace967352538c221621e9e53f08460131f464d8999695f84e7a86e8f2132df275282c56f7fb3d8533468
|
7
|
+
data.tar.gz: d0fa6e094a65b35868861d49a7ef658a31259a48803c4b08b057cccf4646ebad3bfbf7043ee89f25199f4e63eaa7606d4782eb20079a18be3d76e2807ca81a38
|
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,32 +1,106 @@
|
|
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
18
|
- uses: actions/checkout@v4
|
14
|
-
- name: Install Ruby
|
19
|
+
- name: Install Ruby
|
15
20
|
uses: ruby/setup-ruby@v1
|
16
21
|
with:
|
17
|
-
ruby-version: '
|
18
|
-
env:
|
19
|
-
BUNDLE_WITHOUT: release:development:rubocop
|
22
|
+
ruby-version: 'ruby'
|
20
23
|
- name: Build gem
|
21
|
-
|
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
|
-
|
25
|
-
|
26
|
-
|
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
|
-
|
29
|
-
|
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
|
data/.github/workflows/test.yml
CHANGED
@@ -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
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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.
|
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
|
-
|
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
|
-
|
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
|
-
-
|
53
|
+
- rubocop_and_matrix
|
57
54
|
- test
|
58
|
-
runs-on: ubuntu-
|
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
|
-
#
|
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:
|
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:
|
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:
|
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:
|
148
|
+
# Offense count: 232
|
159
149
|
# Configuration parameters: CountAsOne.
|
160
150
|
RSpec/ExampleLength:
|
161
151
|
Max: 44
|
162
152
|
|
163
|
-
# Offense count:
|
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:
|
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:
|
199
|
+
# Offense count: 140
|
212
200
|
# Configuration parameters: AllowSubject.
|
213
201
|
RSpec/MultipleMemoizedHelpers:
|
214
|
-
Max:
|
202
|
+
Max: 16
|
215
203
|
|
216
|
-
# Offense count:
|
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:
|
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:
|
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:
|
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:
|
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
|