beaker-google 1.1.0 → 1.3.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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.github/release.yml +41 -0
  3. data/.github/workflows/ci.yml +30 -17
  4. data/.github/workflows/release.yml +91 -17
  5. data/.gitignore +1 -0
  6. data/.rubocop.yml +4 -518
  7. data/.rubocop_todo.yml +20 -0
  8. data/.simplecov +2 -0
  9. data/CHANGELOG.md +50 -1
  10. data/Gemfile +13 -2
  11. data/README.md +2 -2
  12. data/Rakefile +23 -6
  13. data/beaker-google.gemspec +27 -23
  14. data/bin/beaker-google +1 -0
  15. data/lib/beaker/hypervisor/google.rb +5 -1
  16. data/lib/beaker/hypervisor/google_compute.rb +55 -25
  17. data/lib/beaker/hypervisor/google_compute_helper.rb +599 -581
  18. data/lib/beaker-google/version.rb +3 -1
  19. data/spec/classes/beaker/google_compute_constants_and_defaults_spec.rb +141 -0
  20. data/spec/classes/beaker/google_compute_helper_api_version_spec.rb +37 -0
  21. data/spec/classes/beaker/google_compute_helper_configuration_validation_spec.rb +100 -0
  22. data/spec/classes/beaker/google_compute_helper_constants_and_defaults_spec.rb +66 -0
  23. data/spec/classes/beaker/google_compute_helper_edge_cases_spec.rb +173 -0
  24. data/spec/classes/beaker/google_compute_helper_error_handling_spec.rb +105 -0
  25. data/spec/classes/beaker/google_compute_helper_spec.rb +368 -0
  26. data/spec/classes/beaker/google_compute_helper_utilities_spec.rb +95 -0
  27. data/spec/classes/beaker/google_compute_initialization_spec.rb +52 -0
  28. data/spec/classes/beaker/google_compute_provision_spec.rb +68 -0
  29. data/spec/classes/beaker/google_compute_spec.rb +95 -0
  30. data/spec/classes/beaker/google_compute_ssh_key_management_spec.rb +115 -0
  31. data/spec/classes/beaker/google_spec.rb +68 -0
  32. data/spec/classes/beaker-google/beaker_google_version_spec.rb +19 -0
  33. data/spec/classes/beaker_integration_spec.rb +67 -0
  34. data/spec/spec_helper.rb +45 -0
  35. data/spec/support/google_compute_shared_setup.rb +138 -0
  36. data/spec/support/shared_mocks.rb +89 -0
  37. metadata +102 -38
  38. data/.github/workflows/codeql-analysis.yml +0 -70
data/.rubocop.yml CHANGED
@@ -1,519 +1,5 @@
1
1
  ---
2
- require:
3
- - rubocop-performance
4
- - rubocop-rspec
5
- AllCops:
6
- DisplayCopNames: true
7
- TargetRubyVersion: '2.7'
8
- Include:
9
- - "**/*.rb"
10
- Exclude:
11
- - bin/*
12
- - ".vendor/**/*"
13
- - "**/Gemfile"
14
- - "**/Rakefile"
15
- - pkg/**/*
16
- - spec/fixtures/**/*
17
- - vendor/**/*
18
- - "**/Puppetfile"
19
- - "**/Vagrantfile"
20
- - "**/Guardfile"
21
- Layout/LineLength:
22
- Description: People have wide screens, use them.
23
- Max: 200
24
- RSpec/BeforeAfterAll:
25
- Description: Beware of using after(:all) as it may cause state to leak between tests.
26
- A necessary evil in acceptance testing.
27
- Exclude:
28
- - spec/acceptance/**/*.rb
29
- RSpec/HookArgument:
30
- Description: Prefer explicit :each argument, matching existing module's style
31
- EnforcedStyle: each
32
- RSpec/DescribeSymbol:
33
- Exclude:
34
- - spec/unit/facter/**/*.rb
35
- Style/BlockDelimiters:
36
- Description: Prefer braces for chaining. Mostly an aesthetical choice. Better to
37
- be consistent then.
38
- EnforcedStyle: braces_for_chaining
39
- Style/ClassAndModuleChildren:
40
- Description: Compact style reduces the required amount of indentation.
41
- EnforcedStyle: compact
42
- Style/EmptyElse:
43
- Description: Enforce against empty else clauses, but allow `nil` for clarity.
44
- EnforcedStyle: empty
45
- Style/FormatString:
46
- Description: Following the main puppet project's style, prefer the % format format.
47
- EnforcedStyle: percent
48
- Style/FormatStringToken:
49
- Description: Following the main puppet project's style, prefer the simpler template
50
- tokens over annotated ones.
51
- EnforcedStyle: template
52
- Style/Lambda:
53
- Description: Prefer the keyword for easier discoverability.
54
- EnforcedStyle: literal
55
- Style/RegexpLiteral:
56
- Description: Community preference. See https://github.com/voxpupuli/modulesync_config/issues/168
57
- EnforcedStyle: percent_r
58
- Style/TernaryParentheses:
59
- Description: Checks for use of parentheses around ternary conditions. Enforce parentheses
60
- on complex expressions for better readability, but seriously consider breaking
61
- it up.
62
- EnforcedStyle: require_parentheses_when_complex
63
- Style/TrailingCommaInArguments:
64
- Description: Prefer always trailing comma on multiline argument lists. This makes
65
- diffs, and re-ordering nicer.
66
- EnforcedStyleForMultiline: comma
67
- Style/TrailingCommaInArrayLiteral:
68
- Description: Prefer always trailing comma on multiline literals. This makes diffs,
69
- and re-ordering nicer.
70
- EnforcedStyleForMultiline: comma
71
- Style/SymbolArray:
72
- Description: Using percent style obscures symbolic intent of array's contents.
73
- EnforcedStyle: brackets
74
- RSpec/MessageSpies:
75
- EnforcedStyle: receive
76
- Style/Documentation:
77
- Exclude:
78
- - lib/puppet/parser/functions/**/*
79
- - spec/**/*
80
- Style/WordArray:
81
- EnforcedStyle: brackets
82
- Performance/AncestorsInclude:
83
- Enabled: true
84
- Performance/BigDecimalWithNumericArgument:
85
- Enabled: true
86
- Performance/BlockGivenWithExplicitBlock:
87
- Enabled: true
88
- Performance/CaseWhenSplat:
89
- Enabled: true
90
- Performance/ConstantRegexp:
91
- Enabled: true
92
- Performance/MethodObjectAsBlock:
93
- Enabled: true
94
- Performance/RedundantSortBlock:
95
- Enabled: true
96
- Performance/RedundantStringChars:
97
- Enabled: true
98
- Performance/ReverseFirst:
99
- Enabled: true
100
- Performance/SortReverse:
101
- Enabled: true
102
- Performance/Squeeze:
103
- Enabled: true
104
- Performance/StringInclude:
105
- Enabled: true
106
- Performance/Sum:
107
- Enabled: true
108
- Style/CollectionMethods:
109
- Enabled: true
110
- Style/MethodCalledOnDoEndBlock:
111
- Enabled: true
112
- Style/StringMethods:
113
- Enabled: true
114
- Bundler/InsecureProtocolSource:
115
- Enabled: false
116
- Gemspec/DuplicatedAssignment:
117
- Enabled: false
118
- Gemspec/OrderedDependencies:
119
- Enabled: false
120
- Gemspec/RequiredRubyVersion:
121
- Enabled: false
122
- Gemspec/RubyVersionGlobalsUsage:
123
- Enabled: false
124
- Layout/ArgumentAlignment:
125
- Enabled: false
126
- Layout/BeginEndAlignment:
127
- Enabled: false
128
- Layout/ClosingHeredocIndentation:
129
- Enabled: false
130
- Layout/EmptyComment:
131
- Enabled: false
132
- Layout/EmptyLineAfterGuardClause:
133
- Enabled: false
134
- Layout/EmptyLinesAroundArguments:
135
- Enabled: false
136
- Layout/EmptyLinesAroundAttributeAccessor:
137
- Enabled: false
138
- Layout/EndOfLine:
139
- Enabled: false
140
- Layout/FirstArgumentIndentation:
141
- Enabled: false
142
- Layout/HashAlignment:
143
- Enabled: false
144
- Layout/HeredocIndentation:
145
- Enabled: false
146
- Layout/LeadingEmptyLines:
147
- Enabled: false
148
- Layout/SpaceAroundMethodCallOperator:
149
- Enabled: false
150
- Layout/SpaceInsideArrayLiteralBrackets:
151
- Enabled: false
152
- Layout/SpaceInsideReferenceBrackets:
153
- Enabled: false
154
- Lint/BigDecimalNew:
155
- Enabled: false
156
- Lint/BooleanSymbol:
157
- Enabled: false
158
- Lint/ConstantDefinitionInBlock:
159
- Enabled: false
160
- Lint/DeprecatedOpenSSLConstant:
161
- Enabled: false
162
- Lint/DisjunctiveAssignmentInConstructor:
163
- Enabled: false
164
- Lint/DuplicateElsifCondition:
165
- Enabled: false
166
- Lint/DuplicateRequire:
167
- Enabled: false
168
- Lint/DuplicateRescueException:
169
- Enabled: false
170
- Lint/EmptyConditionalBody:
171
- Enabled: false
172
- Lint/EmptyFile:
173
- Enabled: false
174
- Lint/ErbNewArguments:
175
- Enabled: false
176
- Lint/FloatComparison:
177
- Enabled: false
178
- Lint/HashCompareByIdentity:
179
- Enabled: false
180
- Lint/IdentityComparison:
181
- Enabled: false
182
- Lint/InterpolationCheck:
183
- Enabled: false
184
- Lint/MissingCopEnableDirective:
185
- Enabled: false
186
- Lint/MixedRegexpCaptureTypes:
187
- Enabled: false
188
- Lint/NestedPercentLiteral:
189
- Enabled: false
190
- Lint/NonDeterministicRequireOrder:
191
- Enabled: false
192
- Lint/OrderedMagicComments:
193
- Enabled: false
194
- Lint/OutOfRangeRegexpRef:
195
- Enabled: false
196
- Lint/RaiseException:
197
- Enabled: false
198
- Lint/RedundantCopEnableDirective:
199
- Enabled: false
200
- Lint/RedundantRequireStatement:
201
- Enabled: false
202
- Lint/RedundantSafeNavigation:
203
- Enabled: false
204
- Lint/RedundantWithIndex:
205
- Enabled: false
206
- Lint/RedundantWithObject:
207
- Enabled: false
208
- Lint/RegexpAsCondition:
209
- Enabled: false
210
- Lint/ReturnInVoidContext:
211
- Enabled: false
212
- Lint/SafeNavigationConsistency:
213
- Enabled: false
214
- Lint/SafeNavigationWithEmpty:
215
- Enabled: false
216
- Lint/SelfAssignment:
217
- Enabled: false
218
- Lint/SendWithMixinArgument:
219
- Enabled: false
220
- Lint/ShadowedArgument:
221
- Enabled: false
222
- Lint/StructNewOverride:
223
- Enabled: false
224
- Lint/ToJSON:
225
- Enabled: false
226
- Lint/TopLevelReturnWithArgument:
227
- Enabled: false
228
- Lint/TrailingCommaInAttributeDeclaration:
229
- Enabled: false
230
- Lint/UnreachableLoop:
231
- Enabled: false
232
- Lint/UriEscapeUnescape:
233
- Enabled: false
234
- Lint/UriRegexp:
235
- Enabled: false
236
- Lint/UselessMethodDefinition:
237
- Enabled: false
238
- Lint/UselessTimes:
239
- Enabled: false
240
- Metrics/AbcSize:
241
- Enabled: false
242
- Metrics/BlockLength:
243
- Enabled: false
244
- Metrics/BlockNesting:
245
- Enabled: false
246
- Metrics/ClassLength:
247
- Enabled: false
248
- Metrics/CyclomaticComplexity:
249
- Enabled: false
250
- Metrics/MethodLength:
251
- Enabled: false
252
- Metrics/ModuleLength:
253
- Enabled: false
254
- Metrics/ParameterLists:
255
- Enabled: false
256
- Metrics/PerceivedComplexity:
257
- Enabled: false
258
- Migration/DepartmentName:
259
- Enabled: false
260
- Naming/AccessorMethodName:
261
- Enabled: false
262
- Naming/BlockParameterName:
263
- Enabled: false
264
- Naming/HeredocDelimiterCase:
265
- Enabled: false
266
- Naming/HeredocDelimiterNaming:
267
- Enabled: false
268
- Naming/MemoizedInstanceVariableName:
269
- Enabled: false
270
- Naming/MethodParameterName:
271
- Enabled: false
272
- Naming/RescuedExceptionsVariableName:
273
- Enabled: false
274
- Naming/VariableNumber:
275
- Enabled: false
276
- Performance/BindCall:
277
- Enabled: false
278
- Performance/DeletePrefix:
279
- Enabled: false
280
- Performance/DeleteSuffix:
281
- Enabled: false
282
- Performance/InefficientHashSearch:
283
- Enabled: false
284
- Performance/UnfreezeString:
285
- Enabled: false
286
- Performance/UriDefaultParser:
287
- Enabled: false
288
- RSpec/Be:
289
- Enabled: false
290
- RSpec/Capybara/CurrentPathExpectation:
291
- Enabled: false
292
- RSpec/Capybara/FeatureMethods:
293
- Enabled: false
294
- RSpec/Capybara/VisibilityMatcher:
295
- Enabled: false
296
- RSpec/ContextMethod:
297
- Enabled: false
298
- RSpec/ContextWording:
299
- Enabled: false
300
- RSpec/DescribeClass:
301
- Enabled: false
302
- RSpec/EmptyHook:
303
- Enabled: false
304
- RSpec/EmptyLineAfterExample:
305
- Enabled: false
306
- RSpec/EmptyLineAfterExampleGroup:
307
- Enabled: false
308
- RSpec/EmptyLineAfterHook:
309
- Enabled: false
310
- RSpec/ExampleLength:
311
- Enabled: false
312
- RSpec/ExampleWithoutDescription:
313
- Enabled: false
314
- RSpec/ExpectChange:
315
- Enabled: false
316
- RSpec/ExpectInHook:
317
- Enabled: false
318
- RSpec/FactoryBot/AttributeDefinedStatically:
319
- Enabled: false
320
- RSpec/FactoryBot/CreateList:
321
- Enabled: false
322
- RSpec/FactoryBot/FactoryClassName:
323
- Enabled: false
324
- RSpec/HooksBeforeExamples:
325
- Enabled: false
326
- RSpec/ImplicitBlockExpectation:
327
- Enabled: false
328
- RSpec/ImplicitSubject:
329
- Enabled: false
330
- RSpec/LeakyConstantDeclaration:
331
- Enabled: false
332
- RSpec/LetBeforeExamples:
333
- Enabled: false
334
- RSpec/MissingExampleGroupArgument:
335
- Enabled: false
336
- RSpec/MultipleExpectations:
337
- Enabled: false
338
- RSpec/MultipleMemoizedHelpers:
339
- Enabled: false
340
- RSpec/MultipleSubjects:
341
- Enabled: false
342
- RSpec/NestedGroups:
343
- Enabled: false
344
- RSpec/PredicateMatcher:
345
- Enabled: false
346
- RSpec/ReceiveCounts:
347
- Enabled: false
348
- RSpec/ReceiveNever:
349
- Enabled: false
350
- RSpec/RepeatedExampleGroupBody:
351
- Enabled: false
352
- RSpec/RepeatedExampleGroupDescription:
353
- Enabled: false
354
- RSpec/RepeatedIncludeExample:
355
- Enabled: false
356
- RSpec/ReturnFromStub:
357
- Enabled: false
358
- RSpec/SharedExamples:
359
- Enabled: false
360
- RSpec/StubbedMock:
361
- Enabled: false
362
- RSpec/UnspecifiedException:
363
- Enabled: false
364
- RSpec/VariableDefinition:
365
- Enabled: false
366
- RSpec/VoidExpect:
367
- Enabled: false
368
- RSpec/Yield:
369
- Enabled: false
370
- Security/Open:
371
- Enabled: false
372
- Style/AccessModifierDeclarations:
373
- Enabled: false
374
- Style/AccessorGrouping:
375
- Enabled: false
376
- Style/AsciiComments:
377
- Enabled: false
378
- Style/BisectedAttrAccessor:
379
- Enabled: false
380
- Style/CaseLikeIf:
381
- Enabled: false
382
- Style/ClassEqualityComparison:
383
- Enabled: false
384
- Style/ColonMethodDefinition:
385
- Enabled: false
386
- Style/CombinableLoops:
387
- Enabled: false
388
- Style/CommentedKeyword:
389
- Enabled: false
390
- Style/Dir:
391
- Enabled: false
392
- Style/DoubleCopDisableDirective:
393
- Enabled: false
394
- Style/EmptyBlockParameter:
395
- Enabled: false
396
- Style/EmptyLambdaParameter:
397
- Enabled: false
398
- Style/Encoding:
399
- Enabled: false
400
- Style/EvalWithLocation:
401
- Enabled: false
402
- Style/ExpandPathArguments:
403
- Enabled: false
404
- Style/ExplicitBlockArgument:
405
- Enabled: false
406
- Style/ExponentialNotation:
407
- Enabled: false
408
- Style/FloatDivision:
409
- Enabled: false
410
- Style/FrozenStringLiteralComment:
411
- Enabled: false
412
- Style/GlobalStdStream:
413
- Enabled: false
414
- Style/HashAsLastArrayItem:
415
- Enabled: false
416
- Style/HashLikeCase:
417
- Enabled: false
418
- Style/HashTransformKeys:
419
- Enabled: false
420
- Style/HashTransformValues:
421
- Enabled: false
422
- Style/IfUnlessModifier:
423
- Enabled: false
424
- Style/KeywordParametersOrder:
425
- Enabled: false
426
- Style/MinMax:
427
- Enabled: false
428
- Style/MixinUsage:
429
- Enabled: false
430
- Style/MultilineWhenThen:
431
- Enabled: false
432
- Style/NegatedUnless:
433
- Enabled: false
434
- Style/NumericPredicate:
435
- Enabled: false
436
- Style/OptionalBooleanParameter:
437
- Enabled: false
438
- Style/OrAssignment:
439
- Enabled: false
440
- Style/RandomWithOffset:
441
- Enabled: false
442
- Style/RedundantAssignment:
443
- Enabled: false
444
- Style/RedundantCondition:
445
- Enabled: false
446
- Style/RedundantConditional:
447
- Enabled: false
448
- Style/RedundantFetchBlock:
449
- Enabled: false
450
- Style/RedundantFileExtensionInRequire:
451
- Enabled: false
452
- Style/RedundantRegexpCharacterClass:
453
- Enabled: false
454
- Style/RedundantRegexpEscape:
455
- Enabled: false
456
- Style/RedundantSelfAssignment:
457
- Enabled: false
458
- Style/RedundantSort:
459
- Enabled: false
460
- Style/RescueStandardError:
461
- Enabled: false
462
- Style/SingleArgumentDig:
463
- Enabled: false
464
- Style/SlicingWithRange:
465
- Enabled: false
466
- Style/SoleNestedConditional:
467
- Enabled: false
468
- Style/StderrPuts:
469
- Enabled: false
470
- Style/StringConcatenation:
471
- Enabled: false
472
- Style/Strip:
473
- Enabled: false
474
- Style/SymbolProc:
475
- Enabled: false
476
- Style/TrailingBodyOnClass:
477
- Enabled: false
478
- Style/TrailingBodyOnMethodDefinition:
479
- Enabled: false
480
- Style/TrailingBodyOnModule:
481
- Enabled: false
482
- Style/TrailingCommaInHashLiteral:
483
- Enabled: false
484
- Style/TrailingMethodEndStatement:
485
- Enabled: false
486
- Style/UnpackFirst:
487
- Enabled: false
488
- Lint/DuplicateBranch:
489
- Enabled: false
490
- Lint/DuplicateRegexpCharacterClassElement:
491
- Enabled: false
492
- Lint/EmptyBlock:
493
- Enabled: false
494
- Lint/EmptyClass:
495
- Enabled: false
496
- Lint/NoReturnInBeginEndBlocks:
497
- Enabled: false
498
- Lint/ToEnumArguments:
499
- Enabled: false
500
- Lint/UnexpectedBlockArity:
501
- Enabled: false
502
- Lint/UnmodifiedReduceAccumulator:
503
- Enabled: false
504
- Performance/CollectionLiteralInLoop:
505
- Enabled: false
506
- Style/ArgumentsForwarding:
507
- Enabled: false
508
- Style/CollectionCompact:
509
- Enabled: false
510
- Style/DocumentDynamicEvalDefinition:
511
- Enabled: false
512
- Style/NegatedIfElseCondition:
513
- Enabled: false
514
- Style/NilLambda:
515
- Enabled: false
516
- Style/RedundantArgument:
517
- Enabled: false
518
- Style/SwapValues:
519
- Enabled: false
2
+ inherit_from: .rubocop_todo.yml
3
+
4
+ inherit_gem:
5
+ voxpupuli-rubocop: rubocop.yml
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,20 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config --no-auto-gen-timestamp`
3
+ # using RuboCop version 1.75.8.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # This cop supports safe autocorrection (--autocorrect).
11
+ # Configuration parameters: AutoCorrect, CheckForMethodsWithNoSideEffects.
12
+ Lint/Void:
13
+ Exclude:
14
+ - 'lib/beaker/hypervisor/google_compute_helper.rb'
15
+
16
+ # Offense count: 2
17
+ # Configuration parameters: MinSize.
18
+ Performance/CollectionLiteralInLoop:
19
+ Exclude:
20
+ - 'lib/beaker/hypervisor/google_compute_helper.rb'
data/.simplecov CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  SimpleCov.configure do
2
4
  add_filter 'spec/'
3
5
  add_filter 'vendor/'
data/CHANGELOG.md CHANGED
@@ -1,6 +1,55 @@
1
1
  # Changelog
2
2
 
3
- ## [1.1.0](https://github.com/voxpupuli/beaker-google/tree/1.1.0) (2024-05-21)
3
+ ## [1.2.0](https://github.com/voxpupuli/beaker-google/tree/1.2.0) (2026-11-03)
4
+
5
+ [Full Changelog](https://github.com/voxpupuli/beaker-google/compare/1.2.0...1.2.0)
6
+
7
+ **Fixed bugs:**
8
+
9
+ - Let a non-empty BEAKER\_gce\_ports replace configured gce\_ports [\#74](https://github.com/voxpupuli/beaker-google/pull/74) ([jaevans](https://github.com/jaevans))
10
+
11
+ **Closed issues:**
12
+
13
+ - Compute calls fail with "Invalid API version '2026-11-01'" since google-apis-compute\_v1 0.157.0 [\#76](https://github.com/voxpupuli/beaker-google/issues/76)
14
+
15
+ **Merged pull requests:**
16
+
17
+ - Pin the Compute API version sent to Compute Engine [\#77](https://github.com/voxpupuli/beaker-google/pull/77) ([michael-riddle](https://github.com/michael-riddle))
18
+ - Remove CodeQL workflow in favor of default setup [\#75](https://github.com/voxpupuli/beaker-google/pull/75) ([jaevans](https://github.com/jaevans))
19
+ - Bump actions/checkout from 6 to 7 [\#71](https://github.com/voxpupuli/beaker-google/pull/71) ([dependabot[bot]](https://github.com/apps/dependabot))
20
+ - Bump rubygems/configure-rubygems-credentials from 1.0.0 to 2.1.0 [\#70](https://github.com/voxpupuli/beaker-google/pull/70) ([dependabot[bot]](https://github.com/apps/dependabot))
21
+ - Bump actions/download-artifact from 7 to 8 [\#68](https://github.com/voxpupuli/beaker-google/pull/68) ([dependabot[bot]](https://github.com/apps/dependabot))
22
+ - Bump actions/upload-artifact from 6 to 7 [\#67](https://github.com/voxpupuli/beaker-google/pull/67) ([dependabot[bot]](https://github.com/apps/dependabot))
23
+ - Bump actions/upload-artifact from 5 to 6 [\#66](https://github.com/voxpupuli/beaker-google/pull/66) ([dependabot[bot]](https://github.com/apps/dependabot))
24
+ - Bump actions/download-artifact from 6 to 7 [\#65](https://github.com/voxpupuli/beaker-google/pull/65) ([dependabot[bot]](https://github.com/apps/dependabot))
25
+ - Bump actions/checkout from 5 to 6 [\#64](https://github.com/voxpupuli/beaker-google/pull/64) ([dependabot[bot]](https://github.com/apps/dependabot))
26
+ - Bump actions/upload-artifact from 4 to 5 [\#63](https://github.com/voxpupuli/beaker-google/pull/63) ([dependabot[bot]](https://github.com/apps/dependabot))
27
+ - Bump actions/download-artifact from 5 to 6 [\#62](https://github.com/voxpupuli/beaker-google/pull/62) ([dependabot[bot]](https://github.com/apps/dependabot))
28
+ - Bump github/codeql-action from 3 to 4 [\#61](https://github.com/voxpupuli/beaker-google/pull/61) ([dependabot[bot]](https://github.com/apps/dependabot))
29
+ - Bump actions/checkout from 4 to 5 [\#60](https://github.com/voxpupuli/beaker-google/pull/60) ([dependabot[bot]](https://github.com/apps/dependabot))
30
+ - Update thin requirement from ~\> 1.8, \>= 1.8.2 to \>= 1.8.2, \< 3 [\#59](https://github.com/voxpupuli/beaker-google/pull/59) ([dependabot[bot]](https://github.com/apps/dependabot))
31
+ - Add rspec tests [\#57](https://github.com/voxpupuli/beaker-google/pull/57) ([silug](https://github.com/silug))
32
+ - Update voxpupuli-rubocop requirement from ~\> 2.8.0 to ~\> 3.1.0 [\#56](https://github.com/voxpupuli/beaker-google/pull/56) ([dependabot[bot]](https://github.com/apps/dependabot))
33
+ - Update voxpupuli-rubocop requirement from ~\> 2.7.0 to ~\> 2.8.0 [\#55](https://github.com/voxpupuli/beaker-google/pull/55) ([dependabot[bot]](https://github.com/apps/dependabot))
34
+
35
+ ## [1.2.0](https://github.com/voxpupuli/beaker-google/tree/1.2.0) (2024-06-07)
36
+
37
+ [Full Changelog](https://github.com/voxpupuli/beaker-google/compare/1.1.0...1.2.0)
38
+
39
+ **Implemented enhancements:**
40
+
41
+ - CI: Run on Ruby 3.2 and 3.3 as well [\#52](https://github.com/voxpupuli/beaker-google/pull/52) ([bastelfreak](https://github.com/bastelfreak))
42
+
43
+ **Fixed bugs:**
44
+
45
+ - Fix call to Google::Apis::ComputeV1::Instance.new\(\) to work on Ruby 3 [\#51](https://github.com/voxpupuli/beaker-google/pull/51) ([silug](https://github.com/silug))
46
+
47
+ **Merged pull requests:**
48
+
49
+ - CI: build gem with --strict & --verbose [\#53](https://github.com/voxpupuli/beaker-google/pull/53) ([bastelfreak](https://github.com/bastelfreak))
50
+ - Cleanup for rubocop [\#50](https://github.com/voxpupuli/beaker-google/pull/50) ([silug](https://github.com/silug))
51
+
52
+ ## [1.1.0](https://github.com/voxpupuli/beaker-google/tree/1.1.0) (2024-05-22)
4
53
 
5
54
  [Full Changelog](https://github.com/voxpupuli/beaker-google/compare/1.0.0...1.1.0)
6
55
 
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source ENV.fetch('GEM_SOURCE', 'https://rubygems.org')
2
4
 
3
5
  gemspec
@@ -18,6 +20,15 @@ group :acceptance_testing do
18
20
  gem 'beaker', *location_for(ENV.fetch('BEAKER_VERSION', '~> 4.0'))
19
21
  end
20
22
 
21
- group :release do
22
- gem 'github_changelog_generator', require: false
23
+ # For Ruby 3.4 compatibility
24
+ group :development, :test do
25
+ gem 'benchmark', '~> 0.1'
26
+ gem 'irb', '~> 1.2'
27
+ gem 'mutex_m', '~> 0.1'
28
+ gem 'pstore', '~> 0.1'
29
+ end
30
+
31
+ group :release, optional: true do
32
+ gem 'faraday-retry', '~> 2.1', require: false
33
+ gem 'github_changelog_generator', '~> 1.16.4', require: false
23
34
  end
data/README.md CHANGED
@@ -46,7 +46,7 @@ The behavior of this library can be configured using either the beaker host conf
46
46
  | gce_zone | true | | The zone to place compute instances in. The region is calculated from the zone name. |
47
47
  | gce_network | false | Default | The name of the network to attach to instances. If the project uses the default network, this and `gce_subnetwork` can be left empty. |
48
48
  | gce_subnetwork | false | Default | The name of the subnetwork to attach to the instances network interface. If the Default network is not used, this must be supplied. |
49
- | gce_ports | false | `[ ]` | A comma separated list of ports to add to the external firewall. Each port is specified in the format `number/protocol` where protocol is one of `tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, or `sctp`. **NOTE:** Port `22/tcp` is required for beaker to function and is automatically added to the firewall. |
49
+ | gce_ports | false | `[ ]` | A list, or a comma separated string, of ports to add to the external firewall. A non-empty `BEAKER_gce_ports` replaces it. Each port is specified in the format `number/protocol` where protocol is one of `tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, or `sctp`. **NOTE:** Port `22/tcp` is required for beaker to function and is automatically added to the firewall. |
50
50
  | gce_ssh_private_key | false | $HOME/.ssh/google_compute_engine | The file path of the private key to use to connect to instances. If using the key created by the gcloud tool, this can be left blank. |
51
51
  | gce_ssh_public_key | false | <gce_ssh_private_key>.pub | The file path of the public key to upload to the instance. If left blank, attempt to use the file at `gce_ssh_private_key` with a `.pub` extension. |
52
52
  | gce_machine_type | false | e2-standard-4 | The machine type to use for the instance. If the `BEAKER_gce_machine_type` environment variable is set, it will be used for all hosts. |
@@ -62,7 +62,7 @@ Each run of beaker creates a pair of firewalls to protect the hosts, and interna
62
62
 
63
63
  The internal firewall allows all communication between hosts in the node set, while keeping them isolated from any other Beaker jobs that may be running in the same environment. This firewall is attached to all hosts in the test set, and allows all `tcp`, `udp`, and `icmp` traffic.
64
64
 
65
- The external firewall allows outside communication from the internet into the hosts in the test. Due to constrains of the Beaker system, the firewall accepts any source IP (`0.0.0.0/0`) and the SSH port (`22/tcp`) is always allowed. Other ports may be added by using the `gce_ports` configuration option or the `BEAKER_gce_ports` environment variable as a comma separated list of `port/proto` values where `port` is the port number or range, and proto is one of `tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, or `sctp`. The port number is only used for `tcp`, `udp`, and `sctp` protocols. Any value, such as `-1` can be used for the other protocols.
65
+ The external firewall allows outside communication from the internet into the hosts in the test. Due to constrains of the Beaker system, the firewall accepts any source IP (`0.0.0.0/0`) and the SSH port (`22/tcp`) is always allowed. Other ports may be opened with the `gce_ports` configuration option, or with the `BEAKER_gce_ports` environment variable, which takes the place of `gce_ports` when both are set. Either takes a list, or a comma separated string, of `port/proto` values where `port` is the port number or range, and proto is one of `tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, or `sctp`. The port number is only used for `tcp`, `udp`, and `sctp` protocols. Any value, such as `-1` can be used for the other protocols. A non-empty `BEAKER_gce_ports` replaces the configured list rather than adding to it, so it must name every port the run needs besides `22/tcp`.
66
66
 
67
67
  VM Instances created during this process will by default use the automatically-generated instance name as the hostname in the VM OS. Set the `BEAKER_set_gce_hostname` environment variable to `1` to override this behavior and configure the VM OS with the name defined in the nodeset as the hostname.
68
68