beaker-docker 1.4.0 → 2.0.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/.editorconfig +10 -0
 - data/.github/workflows/test.yml +30 -60
 - data/.gitignore +1 -0
 - data/.rubocop.yml +5 -25
 - data/.rubocop_todo.yml +9 -706
 - data/.simplecov +2 -0
 - data/CHANGELOG.md +51 -1
 - data/Gemfile +3 -5
 - data/Rakefile +37 -137
 - data/acceptance/tests/00_default_spec.rb +5 -4
 - data/beaker-docker.gemspec +21 -20
 - data/bin/beaker-docker +8 -10
 - data/lib/beaker/hypervisor/docker.rb +190 -217
 - data/lib/beaker-docker/version.rb +3 -1
 - data/lib/beaker-docker.rb +1 -0
 - data/spec/beaker/hypervisor/docker_spec.rb +371 -389
 - data/spec/spec_helper.rb +6 -5
 - metadata +34 -38
 - data/Gemfile.local +0 -3
 
    
        data/.simplecov
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,6 +1,56 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Changelog
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            ## [ 
     | 
| 
      
 3 
     | 
    
         
            +
            ## [2.0.0](https://github.com/voxpupuli/beaker-docker/tree/2.0.0) (2023-03-28)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            [Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/1.5.0...2.0.0)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            **Breaking changes:**
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            - Drop Ruby 2.4/2.5/2.6 support [\#109](https://github.com/voxpupuli/beaker-docker/pull/109) ([bastelfreak](https://github.com/bastelfreak))
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            **Implemented enhancements:**
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            - Drop `beaker-rspec` dependency [\#107](https://github.com/voxpupuli/beaker-docker/pull/107) ([jay7x](https://github.com/jay7x))
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            **Merged pull requests:**
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            - Rubocop: fix more violations [\#113](https://github.com/voxpupuli/beaker-docker/pull/113) ([bastelfreak](https://github.com/bastelfreak))
         
     | 
| 
      
 18 
     | 
    
         
            +
            - rubocop: Use shared config from beaker [\#112](https://github.com/voxpupuli/beaker-docker/pull/112) ([bastelfreak](https://github.com/bastelfreak))
         
     | 
| 
      
 19 
     | 
    
         
            +
            - Fix even more rubocop issues [\#111](https://github.com/voxpupuli/beaker-docker/pull/111) ([jay7x](https://github.com/jay7x))
         
     | 
| 
      
 20 
     | 
    
         
            +
            - More rubocop fixes [\#110](https://github.com/voxpupuli/beaker-docker/pull/110) ([jay7x](https://github.com/jay7x))
         
     | 
| 
      
 21 
     | 
    
         
            +
            - Fix more rubocop warnings [\#108](https://github.com/voxpupuli/beaker-docker/pull/108) ([jay7x](https://github.com/jay7x))
         
     | 
| 
      
 22 
     | 
    
         
            +
            - Fix multiple Rubocop warnings [\#106](https://github.com/voxpupuli/beaker-docker/pull/106) ([bastelfreak](https://github.com/bastelfreak))
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            ## [1.5.0](https://github.com/voxpupuli/beaker-docker/tree/1.5.0) (2023-03-24)
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            [Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/1.4.0...1.5.0)
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            **Implemented enhancements:**
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            - Ruby 3.2 compatibility [\#100](https://github.com/voxpupuli/beaker-docker/pull/100) ([ekohl](https://github.com/ekohl))
         
     | 
| 
      
 31 
     | 
    
         
            +
            - Set required Ruby version to 2.4+ [\#99](https://github.com/voxpupuli/beaker-docker/pull/99) ([ekohl](https://github.com/ekohl))
         
     | 
| 
      
 32 
     | 
    
         
            +
            - Simplify port detection code [\#95](https://github.com/voxpupuli/beaker-docker/pull/95) ([ekohl](https://github.com/ekohl))
         
     | 
| 
      
 33 
     | 
    
         
            +
            - Add Ruby 3.1 to CI matrix [\#87](https://github.com/voxpupuli/beaker-docker/pull/87) ([bastelfreak](https://github.com/bastelfreak))
         
     | 
| 
      
 34 
     | 
    
         
            +
            - Use ssh-keygen -A on Red Hat-based distros & SuSE/SLES [\#73](https://github.com/voxpupuli/beaker-docker/pull/73) ([ekohl](https://github.com/ekohl))
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            **Fixed bugs:**
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            - Deal with docker\_cmd being an array and remove use of =~ [\#93](https://github.com/voxpupuli/beaker-docker/pull/93) ([ekohl](https://github.com/ekohl))
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            **Merged pull requests:**
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            - Remove Gemfile.local from git [\#104](https://github.com/voxpupuli/beaker-docker/pull/104) ([ekohl](https://github.com/ekohl))
         
     | 
| 
      
 43 
     | 
    
         
            +
            - Fix rubocop Naming/FileName [\#103](https://github.com/voxpupuli/beaker-docker/pull/103) ([jay7x](https://github.com/jay7x))
         
     | 
| 
      
 44 
     | 
    
         
            +
            - cleanup GitHub actions [\#102](https://github.com/voxpupuli/beaker-docker/pull/102) ([bastelfreak](https://github.com/bastelfreak))
         
     | 
| 
      
 45 
     | 
    
         
            +
            - Remove unused rspec-its dependency [\#98](https://github.com/voxpupuli/beaker-docker/pull/98) ([ekohl](https://github.com/ekohl))
         
     | 
| 
      
 46 
     | 
    
         
            +
            - Allow fakefs 2.x [\#97](https://github.com/voxpupuli/beaker-docker/pull/97) ([ekohl](https://github.com/ekohl))
         
     | 
| 
      
 47 
     | 
    
         
            +
            - Remove yard rake tasks [\#96](https://github.com/voxpupuli/beaker-docker/pull/96) ([ekohl](https://github.com/ekohl))
         
     | 
| 
      
 48 
     | 
    
         
            +
            - rubocop: fix dependency ordering [\#94](https://github.com/voxpupuli/beaker-docker/pull/94) ([bastelfreak](https://github.com/bastelfreak))
         
     | 
| 
      
 49 
     | 
    
         
            +
            - GHA: Use builtin podman [\#86](https://github.com/voxpupuli/beaker-docker/pull/86) ([bastelfreak](https://github.com/bastelfreak))
         
     | 
| 
      
 50 
     | 
    
         
            +
            - GHA: Use builtin docker [\#85](https://github.com/voxpupuli/beaker-docker/pull/85) ([bastelfreak](https://github.com/bastelfreak))
         
     | 
| 
      
 51 
     | 
    
         
            +
            - Fix rubocop-related issues \(part 1\) [\#75](https://github.com/voxpupuli/beaker-docker/pull/75) ([jay7x](https://github.com/jay7x))
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            ## [1.4.0](https://github.com/voxpupuli/beaker-docker/tree/1.4.0) (2023-03-10)
         
     | 
| 
       4 
54 
     | 
    
         | 
| 
       5 
55 
     | 
    
         
             
            [Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/1.3.0...1.4.0)
         
     | 
| 
       6 
56 
     | 
    
         | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -1,14 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            source ENV['GEM_SOURCE'] || 'https://rubygems.org'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            gemspec
         
     | 
| 
       4 
6 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            if File.exists? "#{__FILE__}.local"
         
     | 
| 
       6 
     | 
    
         
            -
              eval(File.read("#{__FILE__}.local"), binding)
         
     | 
| 
       7 
     | 
    
         
            -
            end
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
7 
     | 
    
         
             
            group :coverage, optional: ENV['COVERAGE'] != 'yes' do
         
     | 
| 
       10 
     | 
    
         
            -
              gem 'simplecov-console', require: false
         
     | 
| 
       11 
8 
     | 
    
         
             
              gem 'codecov', require: false
         
     | 
| 
      
 9 
     | 
    
         
            +
              gem 'simplecov-console', require: false
         
     | 
| 
       12 
10 
     | 
    
         
             
            end
         
     | 
| 
       13 
11 
     | 
    
         | 
| 
       14 
12 
     | 
    
         
             
            group :release do
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -1,24 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'rspec/core/rake_task'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
            begin
         
     | 
| 
       4 
6 
     | 
    
         
             
              require 'rubocop/rake_task'
         
     | 
| 
      
 7 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 8 
     | 
    
         
            +
              # RuboCop is an optional group
         
     | 
| 
      
 9 
     | 
    
         
            +
            else
         
     | 
| 
       5 
10 
     | 
    
         
             
              RuboCop::RakeTask.new(:rubocop) do |task|
         
     | 
| 
       6 
     | 
    
         
            -
                #  
     | 
| 
       7 
     | 
    
         
            -
                 
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
                 
     | 
| 
      
 11 
     | 
    
         
            +
                # These make the rubocop experience maybe slightly less terrible
         
     | 
| 
      
 12 
     | 
    
         
            +
                task.options = ['--display-cop-names', '--display-style-guide', '--extra-details']
         
     | 
| 
      
 13 
     | 
    
         
            +
                # Use Rubocop's Github Actions formatter if possible
         
     | 
| 
      
 14 
     | 
    
         
            +
                task.formatters << 'github' if ENV['GITHUB_ACTIONS'] == 'true'
         
     | 
| 
       10 
15 
     | 
    
         
             
              end
         
     | 
| 
       11 
16 
     | 
    
         
             
            end
         
     | 
| 
       12 
17 
     | 
    
         | 
| 
       13 
18 
     | 
    
         
             
            namespace :test do
         
     | 
| 
       14 
19 
     | 
    
         
             
              namespace :spec do
         
     | 
| 
       15 
     | 
    
         
            -
                desc  
     | 
| 
      
 20 
     | 
    
         
            +
                desc 'Run spec tests'
         
     | 
| 
       16 
21 
     | 
    
         
             
                RSpec::Core::RakeTask.new(:run) do |t|
         
     | 
| 
       17 
22 
     | 
    
         
             
                  t.rspec_opts = ['--color', '--format documentation']
         
     | 
| 
       18 
23 
     | 
    
         
             
                  t.pattern = 'spec/'
         
     | 
| 
       19 
24 
     | 
    
         
             
                end
         
     | 
| 
       20 
25 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
                desc  
     | 
| 
      
 26 
     | 
    
         
            +
                desc 'Run spec tests with coverage'
         
     | 
| 
       22 
27 
     | 
    
         
             
                RSpec::Core::RakeTask.new(:coverage) do |t|
         
     | 
| 
       23 
28 
     | 
    
         
             
                  ENV['BEAKER_DOCKER_COVERAGE'] = 'y'
         
     | 
| 
       24 
29 
     | 
    
         
             
                  t.rspec_opts = ['--color', '--format documentation']
         
     | 
| 
         @@ -27,26 +32,25 @@ namespace :test do 
     | 
|
| 
       27 
32 
     | 
    
         
             
              end
         
     | 
| 
       28 
33 
     | 
    
         | 
| 
       29 
34 
     | 
    
         
             
              namespace :acceptance do
         
     | 
| 
       30 
     | 
    
         
            -
                desc  
     | 
| 
       31 
     | 
    
         
            -
            A quick acceptance test, named because it has no pre-suites to run
         
     | 
| 
       32 
     | 
    
         
            -
                EOS
         
     | 
| 
      
 35 
     | 
    
         
            +
                desc 'A quick acceptance test, named because it has no pre-suites to run'
         
     | 
| 
       33 
36 
     | 
    
         
             
                task :quick do
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                   
     | 
| 
       36 
     | 
    
         
            -
                  beaker_gem_spec = Gem::Specification.find_by_name('beaker')
         
     | 
| 
       37 
     | 
    
         
            -
                  beaker_gem_dir = beaker_gem_spec.gem_dir
         
     | 
| 
       38 
     | 
    
         
            -
                  beaker_test_base_dir = File.join(beaker_gem_dir, 'acceptance/tests/base')
         
     | 
| 
       39 
     | 
    
         
            -
                  load_path_option = File.join(beaker_gem_dir, 'acceptance/lib')
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
                  ENV['BEAKER_setfile'] = 'acceptance/config/nodes/hosts.yaml' 
     | 
| 
       42 
     | 
    
         
            -
                  sh( 
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
                      
     | 
| 
       48 
     | 
    
         
            -
                      
     | 
| 
       49 
     | 
    
         
            -
                      
     | 
| 
      
 37 
     | 
    
         
            +
                  ## setup & load_path of beaker's acceptance base and lib directory
         
     | 
| 
      
 38 
     | 
    
         
            +
                  ## see below for the reason why it's commented out atm
         
     | 
| 
      
 39 
     | 
    
         
            +
                  # beaker_gem_spec = Gem::Specification.find_by_name('beaker')
         
     | 
| 
      
 40 
     | 
    
         
            +
                  # beaker_gem_dir = beaker_gem_spec.gem_dir
         
     | 
| 
      
 41 
     | 
    
         
            +
                  # beaker_test_base_dir = File.join(beaker_gem_dir, 'acceptance/tests/base')
         
     | 
| 
      
 42 
     | 
    
         
            +
                  # load_path_option = File.join(beaker_gem_dir, 'acceptance/lib')
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                  ENV['BEAKER_setfile'] = 'acceptance/config/nodes/hosts.yaml'
         
     | 
| 
      
 45 
     | 
    
         
            +
                  sh('beaker',
         
     | 
| 
      
 46 
     | 
    
         
            +
                     '--hosts', 'acceptance/config/nodes/hosts.yaml',
         
     | 
| 
      
 47 
     | 
    
         
            +
                     ## We can't run these tests until the rsync support in the main
         
     | 
| 
      
 48 
     | 
    
         
            +
                     ## beaker/host.rb is updated to work with passwords.
         
     | 
| 
      
 49 
     | 
    
         
            +
                     # '--tests', beaker_test_base_dir,
         
     | 
| 
      
 50 
     | 
    
         
            +
                     # '--load-path', load_path_option,
         
     | 
| 
      
 51 
     | 
    
         
            +
                     '--tests', 'acceptance/tests/',
         
     | 
| 
      
 52 
     | 
    
         
            +
                     '--log-level', 'debug',
         
     | 
| 
      
 53 
     | 
    
         
            +
                     '--debug')
         
     | 
| 
       50 
54 
     | 
    
         
             
                end
         
     | 
| 
       51 
55 
     | 
    
         
             
              end
         
     | 
| 
       52 
56 
     | 
    
         
             
            end
         
     | 
| 
         @@ -54,126 +58,22 @@ end 
     | 
|
| 
       54 
58 
     | 
    
         
             
            # namespace-named default tasks.
         
     | 
| 
       55 
59 
     | 
    
         
             
            # these are the default tasks invoked when only the namespace is referenced.
         
     | 
| 
       56 
60 
     | 
    
         
             
            # they're needed because `task :default` in those blocks doesn't work as expected.
         
     | 
| 
       57 
     | 
    
         
            -
            task 'test:spec'  
     | 
| 
       58 
     | 
    
         
            -
            task 'test:acceptance'  
     | 
| 
      
 61 
     | 
    
         
            +
            task 'test:spec': %i[test:spec:run]
         
     | 
| 
      
 62 
     | 
    
         
            +
            task 'test:acceptance': %i[test:acceptance:quick]
         
     | 
| 
       59 
63 
     | 
    
         | 
| 
       60 
64 
     | 
    
         
             
            # global defaults
         
     | 
| 
       61 
     | 
    
         
            -
            task : 
     | 
| 
       62 
     | 
    
         
            -
            task : 
     | 
| 
       63 
     | 
    
         
            -
            task : 
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
            ###########################################################
         
     | 
| 
       66 
     | 
    
         
            -
            #
         
     | 
| 
       67 
     | 
    
         
            -
            #   Documentation Tasks
         
     | 
| 
       68 
     | 
    
         
            -
            #
         
     | 
| 
       69 
     | 
    
         
            -
            ###########################################################
         
     | 
| 
       70 
     | 
    
         
            -
            DOCS_DAEMON = "yard server --reload --daemon --server thin"
         
     | 
| 
       71 
     | 
    
         
            -
            FOREGROUND_SERVER = 'bundle exec yard server --reload --verbose --server thin lib/beaker'
         
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
       73 
     | 
    
         
            -
            def running?( cmdline )
         
     | 
| 
       74 
     | 
    
         
            -
              ps = `ps -ef`
         
     | 
| 
       75 
     | 
    
         
            -
              found = ps.lines.grep( /#{Regexp.quote( cmdline )}/ )
         
     | 
| 
       76 
     | 
    
         
            -
              if found.length > 1
         
     | 
| 
       77 
     | 
    
         
            -
                raise StandardError, "Found multiple YARD Servers. Don't know what to do."
         
     | 
| 
       78 
     | 
    
         
            -
              end
         
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
       80 
     | 
    
         
            -
              yes = found.empty? ? false : true
         
     | 
| 
       81 
     | 
    
         
            -
              return yes, found.first
         
     | 
| 
       82 
     | 
    
         
            -
            end
         
     | 
| 
       83 
     | 
    
         
            -
             
     | 
| 
       84 
     | 
    
         
            -
            def pid_from( output )
         
     | 
| 
       85 
     | 
    
         
            -
              output.squeeze(' ').strip.split(' ')[1]
         
     | 
| 
       86 
     | 
    
         
            -
            end
         
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
     | 
    
         
            -
            desc 'Start the documentation server in the foreground'
         
     | 
| 
       89 
     | 
    
         
            -
            task :docs => 'docs:clear' do
         
     | 
| 
       90 
     | 
    
         
            -
              original_dir = Dir.pwd
         
     | 
| 
       91 
     | 
    
         
            -
              Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
         
     | 
| 
       92 
     | 
    
         
            -
              sh FOREGROUND_SERVER
         
     | 
| 
       93 
     | 
    
         
            -
              Dir.chdir( original_dir )
         
     | 
| 
       94 
     | 
    
         
            -
            end
         
     | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
       96 
     | 
    
         
            -
            namespace :docs do
         
     | 
| 
       97 
     | 
    
         
            -
              desc 'Clear the generated documentation cache'
         
     | 
| 
       98 
     | 
    
         
            -
              task :clear do
         
     | 
| 
       99 
     | 
    
         
            -
                original_dir = Dir.pwd
         
     | 
| 
       100 
     | 
    
         
            -
                Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
         
     | 
| 
       101 
     | 
    
         
            -
                sh 'rm -rf docs'
         
     | 
| 
       102 
     | 
    
         
            -
                Dir.chdir( original_dir )
         
     | 
| 
       103 
     | 
    
         
            -
              end
         
     | 
| 
       104 
     | 
    
         
            -
             
     | 
| 
       105 
     | 
    
         
            -
              desc 'Generate static documentation'
         
     | 
| 
       106 
     | 
    
         
            -
              task :gen => 'docs:clear' do
         
     | 
| 
       107 
     | 
    
         
            -
                original_dir = Dir.pwd
         
     | 
| 
       108 
     | 
    
         
            -
                Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
         
     | 
| 
       109 
     | 
    
         
            -
                output = `bundle exec yard doc`
         
     | 
| 
       110 
     | 
    
         
            -
                puts output
         
     | 
| 
       111 
     | 
    
         
            -
                if output =~ /\[warn\]|\[error\]/
         
     | 
| 
       112 
     | 
    
         
            -
                  fail "Errors/Warnings during yard documentation generation"
         
     | 
| 
       113 
     | 
    
         
            -
                end
         
     | 
| 
       114 
     | 
    
         
            -
                Dir.chdir( original_dir )
         
     | 
| 
       115 
     | 
    
         
            -
              end
         
     | 
| 
       116 
     | 
    
         
            -
             
     | 
| 
       117 
     | 
    
         
            -
              desc 'Run the documentation server in the background, alias `bg`'
         
     | 
| 
       118 
     | 
    
         
            -
              task :background => 'docs:clear' do
         
     | 
| 
       119 
     | 
    
         
            -
                yes, output = running?( DOCS_DAEMON )
         
     | 
| 
       120 
     | 
    
         
            -
                if yes
         
     | 
| 
       121 
     | 
    
         
            -
                  puts "Not starting a new YARD Server..."
         
     | 
| 
       122 
     | 
    
         
            -
                  puts "Found one running with pid #{pid_from( output )}."
         
     | 
| 
       123 
     | 
    
         
            -
                else
         
     | 
| 
       124 
     | 
    
         
            -
                  original_dir = Dir.pwd
         
     | 
| 
       125 
     | 
    
         
            -
                  Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
         
     | 
| 
       126 
     | 
    
         
            -
                  sh "bundle exec #{DOCS_DAEMON}"
         
     | 
| 
       127 
     | 
    
         
            -
                  Dir.chdir( original_dir )
         
     | 
| 
       128 
     | 
    
         
            -
                end
         
     | 
| 
       129 
     | 
    
         
            -
              end
         
     | 
| 
       130 
     | 
    
         
            -
             
     | 
| 
       131 
     | 
    
         
            -
              task(:bg) { Rake::Task['docs:background'].invoke }
         
     | 
| 
       132 
     | 
    
         
            -
             
     | 
| 
       133 
     | 
    
         
            -
              desc 'Check the status of the documentation server'
         
     | 
| 
       134 
     | 
    
         
            -
              task :status do
         
     | 
| 
       135 
     | 
    
         
            -
                yes, output = running?( DOCS_DAEMON )
         
     | 
| 
       136 
     | 
    
         
            -
                if yes
         
     | 
| 
       137 
     | 
    
         
            -
                  pid = pid_from( output )
         
     | 
| 
       138 
     | 
    
         
            -
                  puts "Found a YARD Server running with pid #{pid}"
         
     | 
| 
       139 
     | 
    
         
            -
                else
         
     | 
| 
       140 
     | 
    
         
            -
                  puts "Could not find a running YARD Server."
         
     | 
| 
       141 
     | 
    
         
            -
                end
         
     | 
| 
       142 
     | 
    
         
            -
              end
         
     | 
| 
       143 
     | 
    
         
            -
             
     | 
| 
       144 
     | 
    
         
            -
              desc "Stop a running YARD Server"
         
     | 
| 
       145 
     | 
    
         
            -
              task :stop do
         
     | 
| 
       146 
     | 
    
         
            -
                yes, output = running?( DOCS_DAEMON )
         
     | 
| 
       147 
     | 
    
         
            -
                if yes
         
     | 
| 
       148 
     | 
    
         
            -
                  pid = pid_from( output )
         
     | 
| 
       149 
     | 
    
         
            -
                  puts "Found a YARD Server running with pid #{pid}"
         
     | 
| 
       150 
     | 
    
         
            -
                  `kill #{pid}`
         
     | 
| 
       151 
     | 
    
         
            -
                  puts "Stopping..."
         
     | 
| 
       152 
     | 
    
         
            -
                  yes, output = running?( DOCS_DAEMON )
         
     | 
| 
       153 
     | 
    
         
            -
                  if yes
         
     | 
| 
       154 
     | 
    
         
            -
                    `kill -9 #{pid}`
         
     | 
| 
       155 
     | 
    
         
            -
                    yes, output = running?( DOCS_DAEMON )
         
     | 
| 
       156 
     | 
    
         
            -
                    if yes
         
     | 
| 
       157 
     | 
    
         
            -
                      puts "Could not Stop Server!"
         
     | 
| 
       158 
     | 
    
         
            -
                    else
         
     | 
| 
       159 
     | 
    
         
            -
                      puts "Server stopped."
         
     | 
| 
       160 
     | 
    
         
            -
                    end
         
     | 
| 
       161 
     | 
    
         
            -
                  else
         
     | 
| 
       162 
     | 
    
         
            -
                    puts "Server stopped."
         
     | 
| 
       163 
     | 
    
         
            -
                  end
         
     | 
| 
       164 
     | 
    
         
            -
                else
         
     | 
| 
       165 
     | 
    
         
            -
                  puts "Could not find a running YARD Server"
         
     | 
| 
       166 
     | 
    
         
            -
                end
         
     | 
| 
       167 
     | 
    
         
            -
              end
         
     | 
| 
       168 
     | 
    
         
            -
            end
         
     | 
| 
      
 65 
     | 
    
         
            +
            task lint: %i[lint:rubocop]
         
     | 
| 
      
 66 
     | 
    
         
            +
            task test: %i[test:spec]
         
     | 
| 
      
 67 
     | 
    
         
            +
            task default: %i[test]
         
     | 
| 
       169 
68 
     | 
    
         | 
| 
       170 
69 
     | 
    
         
             
            begin
         
     | 
| 
       171 
70 
     | 
    
         
             
              require 'rubygems'
         
     | 
| 
       172 
71 
     | 
    
         
             
              require 'github_changelog_generator/task'
         
     | 
| 
       173 
72 
     | 
    
         
             
            rescue LoadError
         
     | 
| 
      
 73 
     | 
    
         
            +
              # Do nothing if no required gem installed
         
     | 
| 
       174 
74 
     | 
    
         
             
            else
         
     | 
| 
       175 
75 
     | 
    
         
             
              GitHubChangelogGenerator::RakeTask.new :changelog do |config|
         
     | 
| 
       176 
     | 
    
         
            -
                config.exclude_labels = %w 
     | 
| 
      
 76 
     | 
    
         
            +
                config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog]
         
     | 
| 
       177 
77 
     | 
    
         
             
                config.user = 'voxpupuli'
         
     | 
| 
       178 
78 
     | 
    
         
             
                config.project = 'beaker-docker'
         
     | 
| 
       179 
79 
     | 
    
         
             
                gem_version = Gem::Specification.load("#{config.project}.gemspec").version
         
     | 
| 
         @@ -1,10 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'beaker'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'beaker-rspec'
         
     | 
| 
       3 
4 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
            test_name 'Ensure docker container is accessible' do
         
     | 
| 
       5 
6 
     | 
    
         
             
              hosts.each do |host|
         
     | 
| 
       6 
     | 
    
         
            -
                 
     | 
| 
       7 
     | 
    
         
            -
                  on(host, ' 
     | 
| 
      
 7 
     | 
    
         
            +
                step "on #{host}" do
         
     | 
| 
      
 8 
     | 
    
         
            +
                  on(host, 'true')
         
     | 
| 
       8 
9 
     | 
    
         
             
                end
         
     | 
| 
       9 
10 
     | 
    
         
             
              end
         
     | 
| 
       10 
11 
     | 
    
         
             
            end
         
     | 
    
        data/beaker-docker.gemspec
    CHANGED
    
    | 
         @@ -1,39 +1,40 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #  
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            $LOAD_PATH.unshift File.expand_path('lib', __dir__)
         
     | 
| 
       3 
4 
     | 
    
         
             
            require 'beaker-docker/version'
         
     | 
| 
       4 
5 
     | 
    
         | 
| 
       5 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       6 
     | 
    
         
            -
              s.name        =  
     | 
| 
      
 7 
     | 
    
         
            +
              s.name        = 'beaker-docker'
         
     | 
| 
       7 
8 
     | 
    
         
             
              s.version     = BeakerDocker::VERSION
         
     | 
| 
       8 
9 
     | 
    
         
             
              s.authors     = [
         
     | 
| 
       9 
     | 
    
         
            -
                 
     | 
| 
       10 
     | 
    
         
            -
                 
     | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
       12 
     | 
    
         
            -
                 
     | 
| 
      
 10 
     | 
    
         
            +
                'Vox Pupuli',
         
     | 
| 
      
 11 
     | 
    
         
            +
                'Rishi Javia',
         
     | 
| 
      
 12 
     | 
    
         
            +
                'Kevin Imber',
         
     | 
| 
      
 13 
     | 
    
         
            +
                'Tony Vu',
         
     | 
| 
       13 
14 
     | 
    
         
             
              ]
         
     | 
| 
       14 
     | 
    
         
            -
              s.email       = [ 
     | 
| 
       15 
     | 
    
         
            -
              s.homepage    =  
     | 
| 
       16 
     | 
    
         
            -
              s.summary     =  
     | 
| 
       17 
     | 
    
         
            -
              s.description =  
     | 
| 
      
 15 
     | 
    
         
            +
              s.email       = ['voxpupuli@groups.io']
         
     | 
| 
      
 16 
     | 
    
         
            +
              s.homepage    = 'https://github.com/voxpupuli/beaker-docker'
         
     | 
| 
      
 17 
     | 
    
         
            +
              s.summary     = 'Docker hypervisor for Beaker acceptance testing framework'
         
     | 
| 
      
 18 
     | 
    
         
            +
              s.description = 'Allows running Beaker tests using Docker'
         
     | 
| 
       18 
19 
     | 
    
         
             
              s.license     = 'Apache-2.0'
         
     | 
| 
       19 
20 
     | 
    
         | 
| 
       20 
21 
     | 
    
         
             
              s.files         = `git ls-files`.split("\n")
         
     | 
| 
       21 
     | 
    
         
            -
              s. 
     | 
| 
       22 
     | 
    
         
            -
              s. 
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
      
 22 
     | 
    
         
            +
              s.executables   = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
         
     | 
| 
      
 23 
     | 
    
         
            +
              s.require_paths = ['lib']
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
              s.required_ruby_version = '>= 2.7', '< 4'
         
     | 
| 
       24 
26 
     | 
    
         | 
| 
       25 
27 
     | 
    
         
             
              # Testing dependencies
         
     | 
| 
       26 
     | 
    
         
            -
              s.add_development_dependency ' 
     | 
| 
       27 
     | 
    
         
            -
              s.add_development_dependency 'rspec-its', '~> 1.3'
         
     | 
| 
       28 
     | 
    
         
            -
              s.add_development_dependency 'fakefs', '~> 1.3'
         
     | 
| 
      
 28 
     | 
    
         
            +
              s.add_development_dependency 'fakefs', '>= 1.3', '< 3.0'
         
     | 
| 
       29 
29 
     | 
    
         
             
              s.add_development_dependency 'rake', '~> 13.0'
         
     | 
| 
       30 
     | 
    
         
            -
              s.add_development_dependency ' 
     | 
| 
      
 30 
     | 
    
         
            +
              s.add_development_dependency 'rspec', '~> 3.0'
         
     | 
| 
      
 31 
     | 
    
         
            +
              s.add_development_dependency 'rubocop', '~> 1.48.1'
         
     | 
| 
       31 
32 
     | 
    
         
             
              s.add_development_dependency 'rubocop-performance', '~> 1.10'
         
     | 
| 
       32 
33 
     | 
    
         
             
              s.add_development_dependency 'rubocop-rake', '~> 0.2'
         
     | 
| 
       33 
34 
     | 
    
         
             
              s.add_development_dependency 'rubocop-rspec', '>= 1.44'
         
     | 
| 
       34 
35 
     | 
    
         | 
| 
       35 
36 
     | 
    
         
             
              # Run time dependencies
         
     | 
| 
       36 
     | 
    
         
            -
              s.add_runtime_dependency ' 
     | 
| 
      
 37 
     | 
    
         
            +
              s.add_runtime_dependency 'beaker', '~> 5.0'
         
     | 
| 
       37 
38 
     | 
    
         
             
              s.add_runtime_dependency 'docker-api', '~> 2.1'
         
     | 
| 
       38 
     | 
    
         
            -
              s.add_runtime_dependency ' 
     | 
| 
      
 39 
     | 
    
         
            +
              s.add_runtime_dependency 'stringify-hash', '~> 0.0.0'
         
     | 
| 
       39 
40 
     | 
    
         
             
            end
         
     | 
    
        data/bin/beaker-docker
    CHANGED
    
    | 
         @@ -1,10 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
4 
     | 
    
         
             
            require 'rubygems' unless defined?(Gem)
         
     | 
| 
       4 
5 
     | 
    
         
             
            require 'beaker-docker'
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
            VERSION_STRING =
         
     | 
| 
       7 
     | 
    
         
            -
            "
         
     | 
| 
      
 7 
     | 
    
         
            +
            VERSION_STRING = <<'VER'
         
     | 
| 
       8 
8 
     | 
    
         
             
                                             _ .--.
         
     | 
| 
       9 
9 
     | 
    
         
             
                                            ( `    )
         
     | 
| 
       10 
10 
     | 
    
         
             
                    beaker-docker         .-'      `--,
         
     | 
| 
         @@ -14,19 +14,17 @@ VERSION_STRING = 
     | 
|
| 
       14 
14 
     | 
    
         
             
                          ;|  _|  _|  _|  '-'__,--'`--'
         
     | 
| 
       15 
15 
     | 
    
         
             
                          | _|  _|  _|  _| |
         
     | 
| 
       16 
16 
     | 
    
         
             
                      _   ||  _|  _|  _|  _| %s
         
     | 
| 
       17 
     | 
    
         
            -
                    _(  
     | 
| 
      
 17 
     | 
    
         
            +
                    _( `--.\_|  _|  _|  _|/
         
     | 
| 
       18 
18 
     | 
    
         
             
                 .-'       )--,|  _|  _|.`
         
     | 
| 
       19 
19 
     | 
    
         
             
                (__, (_      ) )_|  _| /
         
     | 
| 
       20 
     | 
    
         
            -
                  `-.__ 
     | 
| 
      
 20 
     | 
    
         
            +
                  `-.__.\ _,--'\|__|__/
         
     | 
| 
       21 
21 
     | 
    
         
             
                                ;____;
         
     | 
| 
       22 
     | 
    
         
            -
                                  
     | 
| 
      
 22 
     | 
    
         
            +
                                 \YT/
         
     | 
| 
       23 
23 
     | 
    
         
             
                                  ||
         
     | 
| 
       24 
     | 
    
         
            -
                                  
     | 
| 
      
 24 
     | 
    
         
            +
                                 |""|
         
     | 
| 
       25 
25 
     | 
    
         
             
                                 '=='
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 26 
     | 
    
         
            +
            VER
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
            puts BeakerDocker::VERSION
         
     | 
| 
      
 28 
     | 
    
         
            +
            puts VERSION_STRING % BeakerDocker::VERSION
         
     | 
| 
       31 
29 
     | 
    
         | 
| 
       32 
30 
     | 
    
         
             
            exit 0
         
     |