beaker-docker 2.5.2 → 2.6.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: 82823ad6e679cad61ab1d52376b78634922b2149055056d75125a71e093762ec
4
- data.tar.gz: c0e4f5b31548257c779695f668a8767667cad41bba9fdfcdbcf9d1460e6c5193
3
+ metadata.gz: 9461ac90b3758ec88518396e0de669dab94f8e208565e8bd0489037aeb17bd96
4
+ data.tar.gz: a14e3cdbed23ffa9e9b189ec3338572c6f8ea16ce63f8e1e513d94638b337ba7
5
5
  SHA512:
6
- metadata.gz: af7de02b2bc2f54ea0708456d01a7a8e5db8fc64bee54d932e2b164485835a85839362f2a35ccb0777364323b1b0e24a56016df24bb3add9b57d9bbd2aec5062
7
- data.tar.gz: bdacfcb2253789650ad0f6b50864da91900c61404ad03cfb1540484ccdc3c962614eb79ff5d8631f9bf8a54d7241416ed18ac3f8f7aec70162466b1465d46f7d
6
+ metadata.gz: 107f131290bdf17ba2a768315a93bc7ba76bfa548a493ca557136c79ab3ea8fc35ef8071b24da72540b54d2c2e5cfcc7418a019f0e6f9aa94435ce79b2c4aafa
7
+ data.tar.gz: 6aad94b620154a24ad669b49af1df9ecce4e22a0e833d6aa35e21d15c953eaa16dd5b807815bd8d1c054a4b758cfb04108226ca3505f2ae6a5df4234def243cf
@@ -1,3 +1,4 @@
1
+ ---
1
2
  name: Release
2
3
 
3
4
  on:
@@ -7,14 +8,14 @@ on:
7
8
 
8
9
  jobs:
9
10
  release:
10
- runs-on: ubuntu-latest
11
+ runs-on: ubuntu-24.04
11
12
  if: github.repository_owner == 'voxpupuli'
12
13
  steps:
13
14
  - uses: actions/checkout@v4
14
- - name: Install Ruby 3.3
15
+ - name: Install Ruby 3.4
15
16
  uses: ruby/setup-ruby@v1
16
17
  with:
17
- ruby-version: '3.3'
18
+ ruby-version: '3.4'
18
19
  env:
19
20
  BUNDLE_WITHOUT: release
20
21
  - name: Build gem
@@ -1,3 +1,4 @@
1
+ ---
1
2
  name: Test
2
3
 
3
4
  on:
@@ -10,32 +11,29 @@ env:
10
11
  BUNDLE_WITHOUT: release
11
12
 
12
13
  jobs:
13
- rubocop:
14
- runs-on: ubuntu-latest
14
+ rubocop_and_matrix:
15
+ runs-on: ubuntu-24.04
16
+ outputs:
17
+ ruby: ${{ steps.ruby.outputs.versions }}
15
18
  steps:
16
19
  - uses: actions/checkout@v4
17
- - name: Install Ruby 3.3
20
+ - name: Install Ruby 3.4
18
21
  uses: ruby/setup-ruby@v1
19
22
  with:
20
- ruby-version: "3.3"
23
+ ruby-version: "3.4"
21
24
  bundler-cache: true
22
25
  - name: Run Rubocop
23
26
  run: bundle exec rake rubocop
27
+ - id: ruby
28
+ uses: voxpupuli/ruby-version@v1
24
29
 
25
30
  rspec:
26
- runs-on: ubuntu-latest
31
+ runs-on: ubuntu-24.04
32
+ needs: rubocop_and_matrix
27
33
  strategy:
28
34
  fail-fast: false
29
35
  matrix:
30
- include:
31
- - ruby: "2.7"
32
- - ruby: "3.0"
33
- coverage: "yes"
34
- - ruby: "3.1"
35
- - ruby: "3.2"
36
- - ruby: "3.3"
37
- env:
38
- COVERAGE: ${{ matrix.coverage }}
36
+ ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
39
37
  name: RSpec - Ruby ${{ matrix.ruby }}
40
38
  steps:
41
39
  - uses: actions/checkout@v4
@@ -50,20 +48,26 @@ jobs:
50
48
  run: gem build --strict --verbose *.gemspec
51
49
 
52
50
  docker:
53
- runs-on: ubuntu-latest
54
- name: Docker
51
+ runs-on: ubuntu-24.04
52
+ needs: rubocop_and_matrix
53
+ strategy:
54
+ fail-fast: false
55
+ matrix:
56
+ ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
57
+ name: Docker on Ruby ${{ matrix.ruby }}
55
58
  steps:
56
59
  - uses: actions/checkout@v4
57
- - name: Install Ruby 3.3
60
+ - name: Install Ruby ${{ matrix.ruby }}
58
61
  uses: ruby/setup-ruby@v1
59
62
  with:
60
- ruby-version: "3.3"
63
+ ruby-version: ${{ matrix.ruby }}
61
64
  bundler-cache: true
62
65
  - name: Run acceptance tests
63
66
  run: bundle exec rake test:acceptance
64
67
 
65
68
  beaker_in_container:
66
- runs-on: ubuntu-latest
69
+ runs-on: ubuntu-24.04
70
+ needs: rubocop_and_matrix
67
71
  name: Docker - Beaker in container connection test
68
72
  steps:
69
73
  - uses: actions/checkout@v4
@@ -80,27 +84,37 @@ jobs:
80
84
  export DOCKER_IN_DOCKER=true
81
85
  bundle exec rake test:acceptance
82
86
 
87
+ # verifies that podman service is a dropin replacement for docker
83
88
  podman:
84
- runs-on: ubuntu-latest
85
- name: Podman
89
+ runs-on: ubuntu-24.04
90
+ needs: rubocop_and_matrix
91
+ strategy:
92
+ fail-fast: false
93
+ matrix:
94
+ ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
95
+ name: Podman on Ruby ${{ matrix.ruby }}
86
96
  steps:
97
+ - name: Start podman
98
+ run: |
99
+ sudo systemctl stop docker.service docker.socket && systemctl start --user podman.socket
100
+ echo "DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock" >> "$GITHUB_ENV"
87
101
  - uses: actions/checkout@v4
88
- - name: Install Ruby 3.3
102
+ - name: Install Ruby ${{ matrix.ruby }}
89
103
  uses: ruby/setup-ruby@v1
90
104
  with:
91
- ruby-version: "3.3"
105
+ ruby-version: ${{ matrix.ruby }}
92
106
  bundler-cache: true
93
107
  - name: Run acceptance tests
94
108
  run: bundle exec rake test:acceptance
95
109
 
96
110
  tests:
97
111
  needs:
112
+ - rubocop_and_matrix
98
113
  - docker
99
114
  - beaker_in_container
100
115
  - podman
101
- - rubocop
102
116
  - rspec
103
- runs-on: ubuntu-latest
117
+ runs-on: ubuntu-24.04
104
118
  name: Test suite
105
119
  steps:
106
120
  - run: echo Test suite completed
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2024-03-17 17:48:41 UTC using RuboCop version 1.62.1.
3
+ # on 2025-05-27 19:37:43 UTC 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
@@ -17,11 +17,11 @@ RSpec/ExampleLength:
17
17
  RSpec/MessageSpies:
18
18
  EnforcedStyle: receive
19
19
 
20
- # Offense count: 15
20
+ # Offense count: 14
21
21
  RSpec/MultipleExpectations:
22
22
  Max: 5
23
23
 
24
- # Offense count: 18
24
+ # Offense count: 17
25
25
  # Configuration parameters: AllowSubject.
26
26
  RSpec/MultipleMemoizedHelpers:
27
27
  Max: 12
@@ -32,9 +32,9 @@ RSpec/ReceiveMessages:
32
32
  Exclude:
33
33
  - 'spec/beaker/hypervisor/docker_spec.rb'
34
34
 
35
- # Offense count: 26
35
+ # Offense count: 28
36
36
  # This cop supports safe autocorrection (--autocorrect).
37
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
37
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
38
38
  # URISchemes: http, https
39
39
  Layout/LineLength:
40
40
  Max: 198
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.6.0](https://github.com/voxpupuli/beaker-docker/tree/2.6.0) (2025-05-28)
4
+
5
+ [Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/2.5.2...2.6.0)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - CI: Run tests with podman and docker [\#160](https://github.com/voxpupuli/beaker-docker/pull/160) ([bastelfreak](https://github.com/bastelfreak))
10
+ - CI: Generate matrix automatically & drop unused coverage reporting [\#158](https://github.com/voxpupuli/beaker-docker/pull/158) ([bastelfreak](https://github.com/bastelfreak))
11
+ - voxpupuli-rubocop: 3.0.0-\>3.1.0 [\#157](https://github.com/voxpupuli/beaker-docker/pull/157) ([bastelfreak](https://github.com/bastelfreak))
12
+ - fakefs: Allow 3.x [\#155](https://github.com/voxpupuli/beaker-docker/pull/155) ([bastelfreak](https://github.com/bastelfreak))
13
+
14
+ **Fixed bugs:**
15
+
16
+ - excon: exclude 1.2.6 [\#156](https://github.com/voxpupuli/beaker-docker/pull/156) ([bastelfreak](https://github.com/bastelfreak))
17
+
3
18
  ## [2.5.2](https://github.com/voxpupuli/beaker-docker/tree/2.5.2) (2024-11-20)
4
19
 
5
20
  [Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/2.5.1...2.5.2)
data/Gemfile CHANGED
@@ -4,11 +4,6 @@ source ENV['GEM_SOURCE'] || 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
6
 
7
- group :coverage, optional: ENV['COVERAGE'] != 'yes' do
8
- gem 'codecov', require: false
9
- gem 'simplecov-console', require: false
10
- end
11
-
12
7
  group :release do
13
8
  gem 'faraday-retry', require: false
14
9
  gem 'github_changelog_generator', require: false
data/Rakefile CHANGED
@@ -15,13 +15,6 @@ namespace :test do
15
15
  t.rspec_opts = ['--color', '--format documentation']
16
16
  t.pattern = 'spec/'
17
17
  end
18
-
19
- desc 'Run spec tests with coverage'
20
- RSpec::Core::RakeTask.new(:coverage) do |t|
21
- ENV['BEAKER_DOCKER_COVERAGE'] = 'y'
22
- t.rspec_opts = ['--color', '--format documentation']
23
- t.pattern = 'spec/'
24
- end
25
18
  end
26
19
 
27
20
  namespace :acceptance do
@@ -25,13 +25,16 @@ Gem::Specification.new do |s|
25
25
  s.required_ruby_version = '>= 2.7', '< 4'
26
26
 
27
27
  # Testing dependencies
28
- s.add_development_dependency 'fakefs', '>= 1.3', '< 3.0'
28
+ s.add_development_dependency 'fakefs', '>= 1.3', '< 4'
29
29
  s.add_development_dependency 'rake', '~> 13.0'
30
30
  s.add_development_dependency 'rspec', '~> 3.0'
31
- s.add_development_dependency 'voxpupuli-rubocop', '~> 2.8.0'
31
+ s.add_development_dependency 'voxpupuli-rubocop', '~> 3.1.0'
32
32
 
33
33
  # Run time dependencies
34
- s.add_runtime_dependency 'beaker', '>= 4', '< 7'
35
- s.add_runtime_dependency 'docker-api', '~> 2.3'
36
- s.add_runtime_dependency 'stringify-hash', '~> 0.0.0'
34
+ s.add_dependency 'beaker', '>= 4', '< 7'
35
+ s.add_dependency 'docker-api', '~> 2.3'
36
+ # excon is a docker-api dependency, 1.2.6 is broken
37
+ # https://github.com/excon/excon/issues/884
38
+ s.add_dependency 'excon', '>= 1.2.5', '< 2', '!= 1.2.6'
39
+ s.add_dependency 'stringify-hash', '~> 0.0.0'
37
40
  end
@@ -268,7 +268,7 @@ module Beaker
268
268
  container_opts['HostConfig']['CapAdd'] = host['docker_cap_add']
269
269
  container_opts['HostConfig'].delete('Privileged')
270
270
  else
271
- container_opts['HostConfig']['Privileged'] = container_opts['HostConfig']['Privileged'].nil? ? true : container_opts['HostConfig']['Privileged']
271
+ container_opts['HostConfig']['Privileged'] = container_opts['HostConfig']['Privileged'].nil? || container_opts['HostConfig']['Privileged']
272
272
  end
273
273
 
274
274
  container_opts['name'] = (host['docker_container_name'] || ['beaker', host.name, SecureRandom.uuid.split('-').last].join('-'))
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BeakerDocker
4
- VERSION = '2.5.2'
4
+ VERSION = '2.6.0'
5
5
  end
data/spec/spec_helper.rb CHANGED
@@ -2,30 +2,6 @@
2
2
 
3
3
  require 'beaker'
4
4
 
5
- begin
6
- require 'simplecov'
7
- require 'simplecov-console'
8
- require 'codecov'
9
- rescue LoadError
10
- # Do nothing if no required gem installed
11
- else
12
- SimpleCov.start do
13
- track_files 'lib/**/*.rb'
14
-
15
- add_filter '/spec'
16
- # do not track vendored files
17
- add_filter '/vendor'
18
- add_filter '/.vendor'
19
-
20
- enable_coverage :branch
21
- end
22
-
23
- SimpleCov.formatters = [
24
- SimpleCov::Formatter::Console,
25
- SimpleCov::Formatter::Codecov,
26
- ]
27
- end
28
-
29
5
  Dir['./lib/beaker/hypervisor/*.rb'].sort.each { |file| require file }
30
6
 
31
7
  # setup & require beaker's spec_helper.rb
metadata CHANGED
@@ -1,17 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker-docker
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.2
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vox Pupuli
8
8
  - Rishi Javia
9
9
  - Kevin Imber
10
10
  - Tony Vu
11
- autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2024-11-20 00:00:00.000000000 Z
13
+ date: 1980-01-02 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: fakefs
@@ -22,7 +21,7 @@ dependencies:
22
21
  version: '1.3'
23
22
  - - "<"
24
23
  - !ruby/object:Gem::Version
25
- version: '3.0'
24
+ version: '4'
26
25
  type: :development
27
26
  prerelease: false
28
27
  version_requirements: !ruby/object:Gem::Requirement
@@ -32,7 +31,7 @@ dependencies:
32
31
  version: '1.3'
33
32
  - - "<"
34
33
  - !ruby/object:Gem::Version
35
- version: '3.0'
34
+ version: '4'
36
35
  - !ruby/object:Gem::Dependency
37
36
  name: rake
38
37
  requirement: !ruby/object:Gem::Requirement
@@ -67,14 +66,14 @@ dependencies:
67
66
  requirements:
68
67
  - - "~>"
69
68
  - !ruby/object:Gem::Version
70
- version: 2.8.0
69
+ version: 3.1.0
71
70
  type: :development
72
71
  prerelease: false
73
72
  version_requirements: !ruby/object:Gem::Requirement
74
73
  requirements:
75
74
  - - "~>"
76
75
  - !ruby/object:Gem::Version
77
- version: 2.8.0
76
+ version: 3.1.0
78
77
  - !ruby/object:Gem::Dependency
79
78
  name: beaker
80
79
  requirement: !ruby/object:Gem::Requirement
@@ -109,6 +108,32 @@ dependencies:
109
108
  - - "~>"
110
109
  - !ruby/object:Gem::Version
111
110
  version: '2.3'
111
+ - !ruby/object:Gem::Dependency
112
+ name: excon
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 1.2.5
118
+ - - "<"
119
+ - !ruby/object:Gem::Version
120
+ version: '2'
121
+ - - "!="
122
+ - !ruby/object:Gem::Version
123
+ version: 1.2.6
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 1.2.5
131
+ - - "<"
132
+ - !ruby/object:Gem::Version
133
+ version: '2'
134
+ - - "!="
135
+ - !ruby/object:Gem::Version
136
+ version: 1.2.6
112
137
  - !ruby/object:Gem::Dependency
113
138
  name: stringify-hash
114
139
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +163,6 @@ files:
138
163
  - ".gitignore"
139
164
  - ".rubocop.yml"
140
165
  - ".rubocop_todo.yml"
141
- - ".simplecov"
142
166
  - CHANGELOG.md
143
167
  - Gemfile
144
168
  - LICENSE
@@ -162,7 +186,6 @@ homepage: https://github.com/voxpupuli/beaker-docker
162
186
  licenses:
163
187
  - Apache-2.0
164
188
  metadata: {}
165
- post_install_message:
166
189
  rdoc_options: []
167
190
  require_paths:
168
191
  - lib
@@ -180,8 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
203
  - !ruby/object:Gem::Version
181
204
  version: '0'
182
205
  requirements: []
183
- rubygems_version: 3.5.22
184
- signing_key:
206
+ rubygems_version: 3.6.7
185
207
  specification_version: 4
186
208
  summary: Docker hypervisor for Beaker acceptance testing framework
187
209
  test_files: []
data/.simplecov DELETED
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- SimpleCov.configure do
4
- add_filter 'spec/'
5
- add_filter 'vendor/'
6
- add_filter do |file|
7
- file.lines_of_code < 10
8
- end
9
- end
10
-
11
- SimpleCov.start if ENV['BEAKER_DOCKER_COVERAGE']