beaker-rspec 8.3.0 → 9.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: 8d0a7f04c69a6173d2ce221249d63d8cc7f89921c60b150625c2a07d2d959bd8
4
- data.tar.gz: 0634aaf5431a951b2c9a8b2114471aa8f997392edfc5b3895fa0d46a6d5a00fd
3
+ metadata.gz: d9cc71e435ebcddca6fe39047a81c1170d7bebd027d49d7ceea815c402d36e9d
4
+ data.tar.gz: c1e04ffae101bb23f6901deb194d3ba128597c7ff9bfb8aeeefd74539d14cd1b
5
5
  SHA512:
6
- metadata.gz: 1767b40fff985cc37a7c13ad032bf908d76e9a3829ddb29f01cd61c6048b7151bcfa573998434d2f40bf73ae11f8cec67fb9153546591cfb75c843b36651d089
7
- data.tar.gz: 17732231fb3ed5fb615b74c45b83eaa7e7af4ce85bb8826612d06f5e215d22ce30e6062ec1a9c8d30cdb8f02bb31c299b95f30bb9a9ae762b570416ad9f21bfa
6
+ metadata.gz: e1aa258712a808fcf4bfc979b3e512d94c240959bcd7b8aa2821b7341df654577a84b53165b6abcbeded44b233f278d14e3480819961f214207669563396d0ee
7
+ data.tar.gz: bb0fcecbf2c257a3c479509e0914de4aab446e883eaba519b73f04f135cdfe1b0c3edf74ae5032af8195e38997afb71e2ca5e83b13397b90c20abceeb1e095d4
@@ -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,31 +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-24.04
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@v4
14
- - name: Install Ruby 3.4
18
+ - uses: actions/checkout@v6
19
+ - name: Install Ruby
15
20
  uses: ruby/setup-ruby@v1
16
21
  with:
17
- ruby-version: '3.4'
18
- bundler: 'none'
22
+ ruby-version: 'ruby'
19
23
  - name: Build gem
20
- 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@v6
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@v7
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@v7
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@v7
77
+ with:
78
+ name: gem-artifact
79
+ - uses: rubygems/configure-rubygems-credentials@v1.0.0
21
80
  - name: Publish gem to rubygems.org
81
+ shell: bash
22
82
  run: gem push *.gem
23
- env:
24
- GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
25
- - 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@v7
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
26
104
  run: |
27
- mkdir -p ~/.gem
28
- echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
29
- chmod 0600 ~/.gem/credentials
30
- - name: Publish gem to GitHub packages
31
- run: gem push --key github --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
105
+ gem install rubygems-await
106
+ gem await *.gem
@@ -7,8 +7,10 @@ on:
7
7
  branches:
8
8
  - master
9
9
 
10
+ permissions:
11
+ contents: read
12
+
10
13
  env:
11
- BUNDLE_WITHOUT: release
12
14
  BEAKER_HYPERVISOR: docker
13
15
 
14
16
  jobs:
@@ -17,16 +19,16 @@ jobs:
17
19
  outputs:
18
20
  ruby: ${{ steps.ruby.outputs.versions }}
19
21
  steps:
20
- - uses: actions/checkout@v4
22
+ - uses: actions/checkout@v6
21
23
  - name: Install Ruby ${{ matrix.ruby }}
22
24
  uses: ruby/setup-ruby@v1
23
25
  with:
24
- ruby-version: "3.4"
26
+ ruby-version: '4.0'
25
27
  bundler-cache: true
26
28
  - name: Run Rubocop
27
29
  run: bundle exec rake rubocop
28
30
  - id: ruby
29
- uses: voxpupuli/ruby-version@v1
31
+ uses: voxpupuli/ruby-version@v2
30
32
 
31
33
  build:
32
34
  runs-on: ubuntu-24.04
@@ -37,7 +39,7 @@ jobs:
37
39
  ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
38
40
  name: Ruby ${{ matrix.ruby }}
39
41
  steps:
40
- - uses: actions/checkout@v4
42
+ - uses: actions/checkout@v6
41
43
  - name: Install Ruby ${{ matrix.ruby }}
42
44
  uses: ruby/setup-ruby@v1
43
45
  with:
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2025-05-27 12:15:34 UTC using RuboCop version 1.75.7.
2
+ # `rubocop --auto-gen-config --no-auto-gen-timestamp`
3
+ # using RuboCop version 1.81.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
@@ -45,6 +45,11 @@ RSpec/DescribeClass:
45
45
  - '**/spec/views/**/*'
46
46
  - 'spec/acceptance/example_spec.rb'
47
47
 
48
+ # Offense count: 1
49
+ RSpec/LeakyLocalVariable:
50
+ Exclude:
51
+ - 'spec/acceptance/example_spec.rb'
52
+
48
53
  # Offense count: 5
49
54
  # Configuration parameters: AllowedPatterns.
50
55
  # AllowedPatterns: ^expect_, ^assert_
@@ -94,14 +99,6 @@ Style/MixinUsage:
94
99
  Exclude:
95
100
  - 'lib/beaker-rspec/spec_helper.rb'
96
101
 
97
- # Offense count: 1
98
- # This cop supports unsafe autocorrection (--autocorrect-all).
99
- # Configuration parameters: EnforcedStyle.
100
- # SupportedStyles: literals, strict
101
- Style/MutableConstant:
102
- Exclude:
103
- - 'lib/beaker-rspec/version.rb'
104
-
105
102
  # Offense count: 1
106
103
  # This cop supports unsafe autocorrection (--autocorrect-all).
107
104
  # Configuration parameters: RequireEnglish.
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
+ ## [9.1.0](https://github.com/voxpupuli/beaker-rspec/tree/9.1.0) (2025-12-27)
6
+
7
+ [Full Changelog](https://github.com/voxpupuli/beaker-rspec/compare/9.0.0...9.1.0)
8
+
9
+ **Implemented enhancements:**
10
+
11
+ - Add Ruby 4.0 support [\#161](https://github.com/voxpupuli/beaker-rspec/pull/161) ([bastelfreak](https://github.com/bastelfreak))
12
+ - minitest: allow 6.x [\#160](https://github.com/voxpupuli/beaker-rspec/pull/160) ([bastelfreak](https://github.com/bastelfreak))
13
+
14
+ ## [9.0.0](https://github.com/voxpupuli/beaker-rspec/tree/9.0.0) (2025-08-07)
15
+
16
+ [Full Changelog](https://github.com/voxpupuli/beaker-rspec/compare/8.3.0...9.0.0)
17
+
18
+ **Breaking changes:**
19
+
20
+ - Require Ruby 3.2 or newer [\#150](https://github.com/voxpupuli/beaker-rspec/pull/150) ([bastelfreak](https://github.com/bastelfreak))
21
+
22
+ **Implemented enhancements:**
23
+
24
+ - beaker: Allow 7.x [\#149](https://github.com/voxpupuli/beaker-rspec/pull/149) ([bastelfreak](https://github.com/bastelfreak))
25
+
5
26
  ## [8.3.0](https://github.com/voxpupuli/beaker-rspec/tree/8.3.0) (2025-05-27)
6
27
 
7
28
  [Full Changelog](https://github.com/voxpupuli/beaker-rspec/compare/8.2.0...8.3.0)
data/Gemfile CHANGED
@@ -25,9 +25,9 @@ when 'vmpooler'
25
25
  gem 'beaker-vmpooler', '~> 1.3'
26
26
  end
27
27
 
28
- group :release do
29
- gem 'faraday-retry', require: false
30
- gem 'github_changelog_generator', require: false
28
+ group :release, optional: true do
29
+ gem 'faraday-retry', '~> 2.1', require: false
30
+ gem 'github_changelog_generator', '~> 1.16.4', require: false
31
31
  end
32
32
 
33
33
  gemspec
data/beaker-rspec.gemspec CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.description = 'RSpec bindings for beaker, see https://github.com/voxpupuli/beaker'
14
14
  s.license = 'Apache-2.0'
15
15
 
16
- s.required_ruby_version = '>= 2.7.0', '<4.0.0'
16
+ s.required_ruby_version = '>= 3.2.0', '< 5.0.0'
17
17
 
18
18
  s.files = `git ls-files`.split("\n")
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
@@ -21,12 +21,12 @@ Gem::Specification.new do |s|
21
21
 
22
22
  # Testing dependencies
23
23
  s.add_development_dependency 'fakefs', '>= 0.6', '< 4'
24
- s.add_development_dependency 'minitest', '~> 5.4'
24
+ s.add_development_dependency 'minitest', '>= 5.4', '< 7'
25
25
  s.add_development_dependency 'rake', '~> 13.0'
26
- s.add_development_dependency 'voxpupuli-rubocop', '~> 3.1.0'
26
+ s.add_development_dependency 'voxpupuli-rubocop', '~> 5.1.0'
27
27
 
28
28
  # Run time dependencies
29
- s.add_dependency 'beaker', '>= 4.0', '< 7'
29
+ s.add_dependency 'beaker', '>= 4.0', '< 8'
30
30
  s.add_dependency 'rspec', '~> 3.0'
31
31
  s.add_dependency 'serverspec', '~> 2'
32
32
  s.add_dependency 'specinfra', '~> 2'
@@ -91,22 +91,22 @@ end
91
91
  module Specinfra
92
92
  # Rewrite the runner to use the appropriate backend based upon platform information
93
93
  class Runner
94
- def self.method_missing(meth, *args)
94
+ def self.method_missing(meth, *)
95
95
  backend = Specinfra.backend
96
96
  node = get_working_node
97
97
  if !node['platform'].include?('windows')
98
98
  processor = Specinfra::Processor
99
99
  if processor.respond_to?(meth)
100
- processor.send(meth, *args)
100
+ processor.send(meth, *)
101
101
  elsif backend.respond_to?(meth)
102
- backend.send(meth, *args)
102
+ backend.send(meth, *)
103
103
  else
104
- run(meth, *args)
104
+ run(meth, *)
105
105
  end
106
106
  elsif backend.respond_to?(meth)
107
- backend.send(meth, *args)
107
+ backend.send(meth, *)
108
108
  else
109
- run(meth, *args)
109
+ run(meth, *)
110
110
  end
111
111
  end
112
112
  end
@@ -148,11 +148,11 @@ end
148
148
  # Used as a container for the two backends, dispatches as windows/nix depending on node platform
149
149
  module Specinfra::Backend
150
150
  class BeakerDispatch < BeakerBase
151
- def dispatch_method(meth, *args)
151
+ def dispatch_method(meth, *)
152
152
  if get_working_node['platform'].include?('windows')
153
- cygwin_backend.send(meth, *args)
153
+ cygwin_backend.send(meth, *)
154
154
  else
155
- exec_backend.send(meth, *args)
155
+ exec_backend.send(meth, *)
156
156
  end
157
157
  end
158
158
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module BeakerRSpec
4
4
  module Version
5
- STRING = '8.3.0'
5
+ STRING = '9.1.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.3.0
4
+ version: 9.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vox Pupuli
@@ -33,16 +33,22 @@ dependencies:
33
33
  name: minitest
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - "~>"
36
+ - - ">="
37
37
  - !ruby/object:Gem::Version
38
38
  version: '5.4'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '7'
39
42
  type: :development
40
43
  prerelease: false
41
44
  version_requirements: !ruby/object:Gem::Requirement
42
45
  requirements:
43
- - - "~>"
46
+ - - ">="
44
47
  - !ruby/object:Gem::Version
45
48
  version: '5.4'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '7'
46
52
  - !ruby/object:Gem::Dependency
47
53
  name: rake
48
54
  requirement: !ruby/object:Gem::Requirement
@@ -63,14 +69,14 @@ dependencies:
63
69
  requirements:
64
70
  - - "~>"
65
71
  - !ruby/object:Gem::Version
66
- version: 3.1.0
72
+ version: 5.1.0
67
73
  type: :development
68
74
  prerelease: false
69
75
  version_requirements: !ruby/object:Gem::Requirement
70
76
  requirements:
71
77
  - - "~>"
72
78
  - !ruby/object:Gem::Version
73
- version: 3.1.0
79
+ version: 5.1.0
74
80
  - !ruby/object:Gem::Dependency
75
81
  name: beaker
76
82
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +86,7 @@ dependencies:
80
86
  version: '4.0'
81
87
  - - "<"
82
88
  - !ruby/object:Gem::Version
83
- version: '7'
89
+ version: '8'
84
90
  type: :runtime
85
91
  prerelease: false
86
92
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +96,7 @@ dependencies:
90
96
  version: '4.0'
91
97
  - - "<"
92
98
  - !ruby/object:Gem::Version
93
- version: '7'
99
+ version: '8'
94
100
  - !ruby/object:Gem::Dependency
95
101
  name: rspec
96
102
  requirement: !ruby/object:Gem::Requirement
@@ -141,6 +147,7 @@ extensions: []
141
147
  extra_rdoc_files: []
142
148
  files:
143
149
  - ".github/dependabot.yml"
150
+ - ".github/release.yml"
144
151
  - ".github/workflows/release.yml"
145
152
  - ".github/workflows/test.yml"
146
153
  - ".gitignore"
@@ -172,17 +179,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
172
179
  requirements:
173
180
  - - ">="
174
181
  - !ruby/object:Gem::Version
175
- version: 2.7.0
182
+ version: 3.2.0
176
183
  - - "<"
177
184
  - !ruby/object:Gem::Version
178
- version: 4.0.0
185
+ version: 5.0.0
179
186
  required_rubygems_version: !ruby/object:Gem::Requirement
180
187
  requirements:
181
188
  - - ">="
182
189
  - !ruby/object:Gem::Version
183
190
  version: '0'
184
191
  requirements: []
185
- rubygems_version: 3.6.7
192
+ rubygems_version: 4.0.3
186
193
  specification_version: 4
187
194
  summary: RSpec bindings for beaker
188
195
  test_files: []