miriamtech-gocd 0.2.6 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52f9d377244ce4558f66ae5ea21b3ea76216708568a3aa78ad30c21354a6369b
4
- data.tar.gz: 8aca9451787f550885aa3b71a15e7941828758f55b8aa81e2fe1ff38869cd025
3
+ metadata.gz: f1644089687faade8c3498c5a7a60ccb4e72353bc37982f8c0acbd9271438797
4
+ data.tar.gz: 1ed5f8d02ae08b4bc3e1ccc03bc1f8794bf5fbede3fb5a2388aabe6211b6bff4
5
5
  SHA512:
6
- metadata.gz: 2cb3141a05bb08bafb546b2d1156c01a3608de988ede9cbc385f8e1e7eec5a04b979a4fc52099ec462781243e9354a27ea0a89adad3829bcf23d6437abd855cb
7
- data.tar.gz: 4b2d8848833dfb5fa6b935ee28f0a04ae038832dce5469da7a618115105a18baeab57e769ab839ae7f149d13da6a99db8b9f9bdd2b152907b675c440e66c0915
6
+ metadata.gz: 3df65e863b02a9c02453f0f78f1ca58ff71cb7c462390c505d01b44461a2ce2a2f811fcf6ac186f5ecffeb8b6ae32a05c8371d397b149a08abbc496bccdf0e5e
7
+ data.tar.gz: 4f92f4a00e1a52c588107b9b0c88ce2f116c94b589b6f29f536a3061aaff2138ff8766871b2850f1935c6c1a13572d170320a64cd1331d4f46edbc954c52008d
data/.gitignore CHANGED
@@ -6,4 +6,4 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
- Gemfile.lock
9
+ /vendor/bundle
data/.rubocop.yml ADDED
@@ -0,0 +1,70 @@
1
+ require:
2
+ - rubocop-minitest
3
+
4
+ AllCops:
5
+ Exclude:
6
+ - '**/bin/*'
7
+ - '**/schema.rb'
8
+ - 'node_modules/**/*'
9
+ - 'vendor/bundle/**/*'
10
+
11
+ Layout/EmptyLineAfterGuardClause:
12
+ Enabled: false
13
+
14
+ Layout/MultilineArrayLineBreaks:
15
+ Enabled: true
16
+
17
+ Layout/MultilineHashKeyLineBreaks:
18
+ Enabled: true
19
+
20
+ Layout/MultilineMethodArgumentLineBreaks:
21
+ Enabled: true
22
+
23
+ Lint/AssignmentInCondition:
24
+ Enabled: false
25
+
26
+ Lint/UnusedBlockArgument:
27
+ AutoCorrect: false
28
+
29
+ Lint/UnusedMethodArgument:
30
+ AutoCorrect: false
31
+
32
+ Metrics/AbcSize:
33
+ Enabled: false
34
+
35
+ Metrics/CyclomaticComplexity:
36
+ Enabled: false
37
+
38
+ Metrics/ClassLength:
39
+ Exclude:
40
+ - test/**/*
41
+
42
+ Metrics/MethodLength:
43
+ Exclude:
44
+ - test/**/*
45
+
46
+ Naming/HeredocDelimiterNaming:
47
+ Enabled: false
48
+
49
+ Style/Documentation:
50
+ Enabled: false
51
+
52
+ Style/FrozenStringLiteralComment:
53
+ Enabled: false
54
+
55
+ Style/HashSyntax:
56
+ Exclude:
57
+ - Rakefile
58
+
59
+ Style/SymbolArray:
60
+ Exclude:
61
+ - Rakefile
62
+
63
+ Style/TrailingCommaInArguments:
64
+ EnforcedStyleForMultiline: comma
65
+
66
+ Style/TrailingCommaInArrayLiteral:
67
+ EnforcedStyleForMultiline: comma
68
+
69
+ Style/TrailingCommaInHashLiteral:
70
+ EnforcedStyleForMultiline: comma
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in miriamtech-gocd.gemspec
4
4
  gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,56 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ miriamtech-gocd (0.2.8)
5
+ rake (>= 10.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ ast (2.4.2)
11
+ diff-lcs (1.4.4)
12
+ minitest (5.11.3)
13
+ parallel (1.20.1)
14
+ parser (3.0.1.0)
15
+ ast (~> 2.4.1)
16
+ rainbow (3.0.0)
17
+ rake (13.0.3)
18
+ regexp_parser (2.1.1)
19
+ rexml (3.2.5)
20
+ rspec-expectations (3.9.2)
21
+ diff-lcs (>= 1.2.0, < 2.0)
22
+ rspec-support (~> 3.9.0)
23
+ rspec-mocks (3.9.1)
24
+ diff-lcs (>= 1.2.0, < 2.0)
25
+ rspec-support (~> 3.9.0)
26
+ rspec-support (3.9.3)
27
+ rubocop (1.13.0)
28
+ parallel (~> 1.10)
29
+ parser (>= 3.0.0.0)
30
+ rainbow (>= 2.2.2, < 4.0)
31
+ regexp_parser (>= 1.8, < 3.0)
32
+ rexml
33
+ rubocop-ast (>= 1.2.0, < 2.0)
34
+ ruby-progressbar (~> 1.7)
35
+ unicode-display_width (>= 1.4.0, < 3.0)
36
+ rubocop-ast (1.4.1)
37
+ parser (>= 2.7.1.5)
38
+ rubocop-minitest (0.11.1)
39
+ rubocop (>= 0.90, < 2.0)
40
+ ruby-progressbar (1.11.0)
41
+ unicode-display_width (2.0.0)
42
+
43
+ PLATFORMS
44
+ ruby
45
+
46
+ DEPENDENCIES
47
+ bundler (~> 2.0)
48
+ minitest (~> 5.0)
49
+ miriamtech-gocd!
50
+ rspec-expectations
51
+ rspec-mocks
52
+ rubocop
53
+ rubocop-minitest
54
+
55
+ BUNDLED WITH
56
+ 2.0.2
data/Rakefile CHANGED
@@ -1,10 +1,10 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
3
 
4
4
  Rake::TestTask.new(:test) do |t|
5
- t.libs << "test"
6
- t.libs << "lib"
7
- t.test_files = FileList["test/**/*_test.rb"]
5
+ t.libs << 'test'
6
+ t.libs << 'lib'
7
+ t.test_files = FileList['test/**/*_test.rb']
8
8
  end
9
9
 
10
10
  task :default => :test
data/bin/rubocop ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby2.5
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rubocop' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rubocop", "rubocop")
@@ -1,18 +1,18 @@
1
+ require 'securerandom'
2
+
1
3
  module MiriamTech
2
4
  module GoCD
3
5
  module DSL
4
- def capture_artifacts(prefix = project_name, workdir:, path:, &block)
6
+ def capture_artifacts(prefix = project_name, workdir:, path:)
5
7
  with_artifacts_volume(prefix) do |volume_name|
6
- begin
7
8
  yield "-v #{volume_name}:#{workdir}/#{path}"
8
- ensure
9
- copy_artifacts_from_volume(volume_name, local_path: path)
10
- end
9
+ ensure
10
+ copy_artifacts_from_volume(volume_name, local_path: path)
11
11
  end
12
12
  end
13
13
 
14
- def with_artifacts_volume(prefix = project_name, &block)
15
- artifacts_volume = sanitized_volume_name("#{prefix}#{build_tag}")
14
+ def with_artifacts_volume(prefix = project_name)
15
+ artifacts_volume = sanitized_volume_name("#{prefix}_#{random_hex}")
16
16
  docker "volume create #{artifacts_volume}"
17
17
  yield artifacts_volume
18
18
  ensure
@@ -20,7 +20,7 @@ module MiriamTech
20
20
  end
21
21
 
22
22
  def copy_artifacts_from_volume(volume, local_path:)
23
- container_id = `docker create -v #{volume}:/artifacts_volume #{WORKER_IMAGE} cp -a /artifacts_volume /artifacts_tmp`.chomp
23
+ container_id = `docker create -v #{volume}:/artifacts #{WORKER_IMAGE} cp -a /artifacts /artifacts_tmp`.chomp
24
24
  begin
25
25
  docker "start -i #{container_id}"
26
26
  cd root_path do
@@ -34,7 +34,11 @@ module MiriamTech
34
34
  private
35
35
 
36
36
  def sanitized_volume_name(name)
37
- name.gsub(/[^-_\.A-Za-z0-9]/, '_')
37
+ name.gsub(/[^-_.A-Za-z0-9]/, '_')
38
+ end
39
+
40
+ def random_hex
41
+ SecureRandom.hex
38
42
  end
39
43
  end
40
44
  end
@@ -1,5 +1,6 @@
1
1
  module MiriamTech
2
2
  module GoCD
3
+ FALSY_ENV_VALUES = (%w[0 f false n no] + ['']).freeze
3
4
  module DSL
4
5
  def project_name(env = ENV)
5
6
  (env['GO_PIPELINE_NAME'] || root_path.basename.to_s).downcase
@@ -9,10 +10,24 @@ module MiriamTech
9
10
  @build_tag ||= generate_build_tag(env)
10
11
  end
11
12
 
13
+ def build_counter(env = ENV)
14
+ @build_counter ||= generate_build_counter(env)
15
+ end
16
+
12
17
  def docker(string)
13
18
  sh "docker #{string}"
14
19
  end
15
20
 
21
+ def docker_build_arguments(env = ENV, build_args: {})
22
+ args = ['--force-rm']
23
+ no_cache_arg = env['DOCKER_BUILD_NO_CACHE']
24
+ args << '--no-cache' if no_cache_arg && !FALSY_ENV_VALUES.include?(no_cache_arg)
25
+ build_args.each do |key, value|
26
+ args << "--build-arg #{key}=#{value}"
27
+ end
28
+ args
29
+ end
30
+
16
31
  def docker_compose(string)
17
32
  cd root_path do
18
33
  sh "docker-compose -p #{project_name} -f docker-compose.yml #{string}"
@@ -22,11 +37,13 @@ module MiriamTech
22
37
  private
23
38
 
24
39
  def generate_build_tag(env)
25
- if revision = env['GO_PIPELINE_COUNTER']
26
- @build_tag =":#{revision}"
27
- else
28
- @build_tag = ""
29
- end
40
+ revision = env['GO_REVISION_SOURCE']
41
+ revision ? ":#{revision}" : ''
42
+ end
43
+
44
+ def generate_build_counter(env)
45
+ counter = env['GO_PIPELINE_COUNTER']
46
+ counter ? ":#{counter}" : ''
30
47
  end
31
48
  end
32
49
  end
@@ -5,4 +5,10 @@ require_relative 'lambda'
5
5
  require_relative 'paths'
6
6
  require_relative 'tasks'
7
7
 
8
- self.extend MiriamTech::GoCD::DSL
8
+ # Add our DSL methods to the top level namespace without polluting the Object inheritance tree.
9
+ # This technique comes from `rake`, see e.g.
10
+ # https://github.com/ruby/rake/blob/11973e8d31f29aee2e40d874206c9240956f86ed/lib/rake/dsl_definition.rb#L195
11
+ #
12
+ # rubocop:disable Style/MixinUsage
13
+ extend MiriamTech::GoCD::DSL
14
+ # rubocop:enable Style/MixinUsage
@@ -1,7 +1,7 @@
1
1
  module MiriamTech
2
2
  module GoCD
3
3
  module DSL
4
- WORKER_IMAGE = 'debian:buster'
4
+ WORKER_IMAGE = 'debian:buster'.freeze
5
5
 
6
6
  def pull(image_name)
7
7
  docker "pull #{image_name}#{build_tag}"
@@ -17,14 +17,10 @@ module MiriamTech
17
17
  end
18
18
 
19
19
  def cleanup_old_images(image_name, number_to_keep)
20
- revision_number = ENV["GO_PIPELINE_COUNTER"].to_i
21
- return unless revision_number > number_to_keep
22
- images = `docker images --format "{{.Repository}}:{{.Tag}}" #{image_name}`.split(/\s+/)
23
- images.each do |image|
24
- next unless image.match(/:(\d+)\z/)
25
- if $1.to_i < revision_number - number_to_keep
26
- docker "image rm #{image}"
27
- end
20
+ images = `docker images --format '"{{.CreatedAt}}" id:{{.ID}}' #{image_name} | sort -r`.split("\n")
21
+ images.collect { |each| each.split(':').last }.uniq.each_with_index do |image, index|
22
+ next if index <= number_to_keep
23
+ puts "docker image rm --force #{image}"
28
24
  end
29
25
  end
30
26
  end
@@ -6,12 +6,17 @@ module MiriamTech
6
6
  def root_path
7
7
  cwd = Pathname.new(File.expand_path('.'))
8
8
  path = Pathname.new(cwd)
9
- begin
9
+ loop do
10
+ break if path.root?
10
11
  return path if path.join('Dockerfile').exist?
11
12
  path = path.parent
12
- end until path.root?
13
+ end
13
14
  cwd
14
15
  end
16
+
17
+ def compose_file
18
+ root_path / 'docker-compose.yml'
19
+ end
15
20
  end
16
21
  end
17
22
  end
@@ -4,24 +4,36 @@ require 'rake/clean'
4
4
  module MiriamTech
5
5
  module GoCD
6
6
  module DSL
7
+ # rubocop:disable Style/HashSyntax, Style/SymbolArray, Metrics/MethodLength
8
+
7
9
  def define_gocd_tasks(
8
10
  image_name,
9
- revisions_to_keep: 10)
11
+ revisions_to_keep: 10,
12
+ build_args: {}
13
+ )
10
14
 
11
15
  task :default => [:test]
12
- task :full => [:clobber, :build]
16
+ task :full => [:destroy_containers, :build]
13
17
 
14
18
  task :environment do
15
19
  ENV['BUILD_TAG'] = build_tag
16
20
  end
17
21
 
18
- CLEAN.add(root_path + 'test/reports')
19
- task :clean => :environment do
20
- docker_compose "stop"
21
- end
22
+ CLEAN.add("#{root_path}/test/reports")
23
+ task :clean => [:environment]
24
+ task :destroy_containers => [:environment, :clean, :cleanup_old_images]
25
+
26
+ # This is here for compatibility
27
+ task :clobber => :destroy_containers
22
28
 
23
- task :clobber => [:environment, :cleanup_old_images] do
24
- docker_compose "rm -fv"
29
+ if compose_file.exist?
30
+ task :clean do
31
+ docker_compose 'stop'
32
+ end
33
+
34
+ task :destroy_containers do
35
+ docker_compose 'rm -fv'
36
+ end
25
37
  end
26
38
 
27
39
  task :cleanup_old_images do
@@ -29,10 +41,23 @@ module MiriamTech
29
41
  end
30
42
 
31
43
  task :build => :environment do
32
- docker "build --force-rm -t #{image_name}#{build_tag} #{root_path}"
44
+ docker "build #{docker_build_arguments(build_args: build_args).join(' ')} -t #{image_name}#{build_tag} -t #{image_name}#{build_counter} #{root_path}"
45
+ end
46
+
47
+ task :test => [:environment, :destroy_containers] do
48
+ at_exit { Rake::Task[:destroy_containers].execute }
33
49
  end
34
50
 
35
- task :test => :environment
51
+ task :save, [:path] => :environment do | t, args |
52
+ args.with_defaults(path: File.join(root_path, '.docker', 'image.tar'))
53
+ FileUtils.mkdir_p File.dirname(args[:path])
54
+ docker "save #{image_name}#{build_tag} -o #{args[:path]}"
55
+ end
56
+
57
+ task :load, :path do | t, args |
58
+ args.with_defaults(path: File.join(root_path, '.docker', 'image.tar'))
59
+ docker "load -i #{args[:path]}"
60
+ end
36
61
 
37
62
  task :push do
38
63
  push(image_name)
@@ -43,7 +68,13 @@ module MiriamTech
43
68
  pull(image_name)
44
69
  push(image_name, 'deployed')
45
70
  end
71
+
72
+ task :bash do
73
+ docker("run -it --rm #{image_name} bash")
74
+ end
46
75
  end
76
+
77
+ # rubocop:enable Style/HashSyntax, Style/SymbolArray, Metrics/MethodLength
47
78
  end
48
79
  end
49
80
  end
@@ -1,5 +1,5 @@
1
1
  module MiriamTech
2
2
  module GoCD
3
- VERSION = "0.2.6"
3
+ VERSION = '0.3.1'.freeze
4
4
  end
5
5
  end
@@ -1,2 +1,2 @@
1
- require "miriamtech/gocd/version"
2
- require "miriamtech/gocd/dsl"
1
+ require 'miriamtech/gocd/version'
2
+ require 'miriamtech/gocd/dsl'
@@ -1,34 +1,38 @@
1
- lib = File.expand_path("lib", __dir__)
1
+ lib = File.expand_path('lib', __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "miriamtech/gocd/version"
3
+ require 'miriamtech/gocd/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "miriamtech-gocd"
6
+ spec.name = 'miriamtech-gocd'
7
7
  spec.version = MiriamTech::GoCD::VERSION
8
- spec.authors = ["Ken Treis"]
9
- spec.email = ["ken@miriamtech.com"]
8
+ spec.authors = ['Ken Treis']
9
+ spec.email = ['ken@miriamtech.com']
10
10
 
11
- spec.summary = %q{Utilities for building apps in Docker containers with GoCD}
12
- spec.homepage = "https://www.miriamtech.com"
11
+ spec.summary = 'Utilities for building apps in Docker containers with GoCD'
12
+ spec.homepage = 'https://www.miriamtech.com'
13
13
 
14
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
14
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
15
15
 
16
- spec.metadata["homepage_uri"] = spec.homepage
17
- spec.metadata["source_code_uri"] = "https://github.com/miriamtech/gocd"
18
- spec.metadata["changelog_uri"] = "https://github.com/miriamtech/gocd/blob/master/CHANGELOG.md"
16
+ spec.metadata['homepage_uri'] = spec.homepage
17
+ spec.metadata['source_code_uri'] = 'https://github.com/miriamtech/gocd'
18
+ spec.metadata['changelog_uri'] = 'https://github.com/miriamtech/gocd/blob/master/CHANGELOG.md'
19
19
 
20
20
  # Specify which files should be added to the gem when it is released.
21
21
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
22
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
23
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
24
  end
25
- spec.bindir = "exe"
25
+ spec.bindir = 'exe'
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
- spec.require_paths = ["lib"]
27
+ spec.require_paths = ['lib']
28
28
 
29
- spec.add_development_dependency "bundler", "~> 2.0"
30
- spec.add_development_dependency "rake", ">= 10.0"
31
- spec.add_development_dependency "minitest", "~> 5.0"
29
+ spec.required_ruby_version = '~> 2.5'
30
+ spec.add_dependency 'rake', '>= 10.0'
31
+
32
+ spec.add_development_dependency 'bundler', '~> 2.0'
33
+ spec.add_development_dependency 'minitest', '~> 5.0'
32
34
  spec.add_development_dependency 'rspec-expectations'
33
35
  spec.add_development_dependency 'rspec-mocks'
36
+ spec.add_development_dependency 'rubocop'
37
+ spec.add_development_dependency 'rubocop-minitest'
34
38
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miriamtech-gocd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Treis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-19 00:00:00.000000000 Z
11
+ date: 2021-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '10.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '10.0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -25,35 +39,49 @@ dependencies:
25
39
  - !ruby/object:Gem::Version
26
40
  version: '2.0'
27
41
  - !ruby/object:Gem::Dependency
28
- name: rake
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-expectations
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - ">="
32
60
  - !ruby/object:Gem::Version
33
- version: '10.0'
61
+ version: '0'
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - ">="
39
67
  - !ruby/object:Gem::Version
40
- version: '10.0'
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
- name: minitest
70
+ name: rspec-mocks
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
- - - "~>"
73
+ - - ">="
46
74
  - !ruby/object:Gem::Version
47
- version: '5.0'
75
+ version: '0'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
- - - "~>"
80
+ - - ">="
53
81
  - !ruby/object:Gem::Version
54
- version: '5.0'
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
- name: rspec-expectations
84
+ name: rubocop
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - ">="
@@ -67,7 +95,7 @@ dependencies:
67
95
  - !ruby/object:Gem::Version
68
96
  version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
- name: rspec-mocks
98
+ name: rubocop-minitest
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
101
  - - ">="
@@ -88,12 +116,15 @@ extensions: []
88
116
  extra_rdoc_files: []
89
117
  files:
90
118
  - ".gitignore"
119
+ - ".rubocop.yml"
91
120
  - ".travis.yml"
92
121
  - CHANGELOG.md
93
122
  - Gemfile
123
+ - Gemfile.lock
94
124
  - README.md
95
125
  - Rakefile
96
126
  - bin/console
127
+ - bin/rubocop
97
128
  - bin/run_tests.sh
98
129
  - bin/setup
99
130
  - lib/miriamtech/gocd.rb
@@ -119,17 +150,16 @@ require_paths:
119
150
  - lib
120
151
  required_ruby_version: !ruby/object:Gem::Requirement
121
152
  requirements:
122
- - - ">="
153
+ - - "~>"
123
154
  - !ruby/object:Gem::Version
124
- version: '0'
155
+ version: '2.5'
125
156
  required_rubygems_version: !ruby/object:Gem::Requirement
126
157
  requirements:
127
158
  - - ">="
128
159
  - !ruby/object:Gem::Version
129
160
  version: '0'
130
161
  requirements: []
131
- rubyforge_project:
132
- rubygems_version: 2.7.6.2
162
+ rubygems_version: 3.2.5
133
163
  signing_key:
134
164
  specification_version: 4
135
165
  summary: Utilities for building apps in Docker containers with GoCD