stove 6.0.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/lib/stove/version.rb +1 -1
  3. metadata +10 -70
  4. data/.gitignore +0 -19
  5. data/.travis.yml +0 -20
  6. data/CHANGELOG.md +0 -161
  7. data/Gemfile +0 -5
  8. data/README.md +0 -129
  9. data/Rakefile +0 -24
  10. data/bin/stove +0 -5
  11. data/features/plugins/community.feature +0 -41
  12. data/features/plugins/git.feature +0 -40
  13. data/features/step_definitions/community_steps.rb +0 -23
  14. data/features/step_definitions/config_steps.rb +0 -7
  15. data/features/step_definitions/cookbook_steps.rb +0 -47
  16. data/features/step_definitions/cucumber_steps.rb +0 -12
  17. data/features/step_definitions/git_steps.rb +0 -67
  18. data/features/support/env.rb +0 -34
  19. data/features/support/stove.pem +0 -27
  20. data/features/support/stove/git.rb +0 -68
  21. data/spec/fixtures/integration_cookbook/attributes/default.rb +0 -1
  22. data/spec/fixtures/integration_cookbook/metadata.rb +0 -2
  23. data/spec/fixtures/integration_cookbook/recipes/default.rb +0 -1
  24. data/spec/integration/artifactory_spec.rb +0 -90
  25. data/spec/integration/cookbook_spec.rb +0 -43
  26. data/spec/spec_helper.rb +0 -28
  27. data/spec/support/generators.rb +0 -133
  28. data/spec/unit/artifactory_spec.rb +0 -131
  29. data/spec/unit/cookbook/metadata_spec.rb +0 -176
  30. data/spec/unit/error_spec.rb +0 -133
  31. data/stove.gemspec +0 -34
  32. data/templates/errors/abstract_method.erb +0 -5
  33. data/templates/errors/artifactory_key_validation_failed.erb +0 -11
  34. data/templates/errors/git_clean_validation_failed.erb +0 -1
  35. data/templates/errors/git_failed.erb +0 -5
  36. data/templates/errors/git_repository_validation_failed.erb +0 -3
  37. data/templates/errors/git_tagging_failed.erb +0 -5
  38. data/templates/errors/git_up_to_date_validation_failed.erb +0 -7
  39. data/templates/errors/metadata_not_found.erb +0 -1
  40. data/templates/errors/server_unavailable.erb +0 -1
  41. data/templates/errors/stove_error.erb +0 -1
  42. data/templates/errors/supermarket_already_exists.erb +0 -5
  43. data/templates/errors/supermarket_key_validation_failed.erb +0 -3
  44. data/templates/errors/supermarket_username_validation_failed.erb +0 -3
@@ -1,133 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Stove::Error
4
- describe StoveError do
5
- it 'raises an exception with the correct message' do
6
- expect { raise described_class }.to raise_error { |error|
7
- expect(error).to be_a(described_class)
8
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
9
- Oh no! Something really bad happened. I am not sure what actually happened because this is the catch-all error, but you should most definitely report an issue on GitHub at https://github.com/sethvargo/stove.
10
- EOH
11
- }
12
- end
13
- end
14
-
15
- describe GitFailed do
16
- it 'raises an exception with the correct message' do
17
- expect { raise described_class.new(command: 'foo') }.to raise_error { |error|
18
- expect(error).to be_a(described_class)
19
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
20
- An error occurred while running:
21
-
22
- git foo
23
-
24
- There is likely an informative message from git that explains what happened right above this message.
25
- EOH
26
- }
27
- end
28
- end
29
-
30
- describe MetadataNotFound do
31
- it 'raises an exception with the correct message' do
32
- expect { raise described_class.new(path: '/path') }.to raise_error { |error|
33
- expect(error).to be_a(described_class)
34
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
35
- The file at `/path' does not exist or does not contain valid metadata. Please make sure you have specified the correct path and that the metdata file exists.
36
- EOH
37
- }
38
- end
39
- end
40
-
41
- describe ServerUnavailable do
42
- it 'raises an exception with the correct message' do
43
- expect { raise described_class.new(url: 'http://server') }.to raise_error { |error|
44
- expect(error).to be_a(described_class)
45
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
46
- The server at `http://server' is unavailable or is not currently accepting client connections. Please ensure the server is accessible via ping (or telnet) on your local network. If this error persists, please contact your network administrator.
47
- EOH
48
- }
49
- end
50
- end
51
-
52
- describe SupermarketKeyValidationFailed do
53
- it 'raises an exception with the correct message' do
54
- expect { raise described_class }.to raise_error { |error|
55
- expect(error).to be_a(described_class)
56
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
57
- You did not specify the path to a private key! The Chef Supermarket requires a private key for authentication:
58
-
59
- stove --key ~/.chef/sethvargo.pem
60
- EOH
61
- }
62
- end
63
- end
64
-
65
- describe SupermarketUsernameValidationFailed do
66
- it 'raises an exception with the correct message' do
67
- expect { raise described_class }.to raise_error { |error|
68
- expect(error).to be_a(described_class)
69
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
70
- You did not specify the username to authenticate with! The Chef Supermarket requires a username for authentication:
71
-
72
- stove --username sethvargo
73
- EOH
74
- }
75
- end
76
- end
77
-
78
- describe GitCleanValidationFailed do
79
- it 'raises an exception with the correct message' do
80
- expect { raise described_class.new(path: '/path') }.to raise_error { |error|
81
- expect(error).to be_a(described_class)
82
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
83
- The cookbook at `/path' has untracked files! In order to use the git plugin, you must have a clean working directory. Please commit or stash your changes before running Stove again.
84
- EOH
85
- }
86
- end
87
- end
88
-
89
- describe GitRepositoryValidationFailed do
90
- it 'raises an exception with the correct message' do
91
- expect { raise described_class.new(path: '/path') }.to raise_error { |error|
92
- expect(error).to be_a(described_class)
93
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
94
- The cookbook at `/path' does not appear to be a valid git repository. In order to use the git plugin, your cookbook must be initialized as a git repository. To create a git repository, run:
95
-
96
- git init /path
97
- EOH
98
- }
99
- end
100
- end
101
-
102
- describe GitUpToDateValidationFailed do
103
- it 'raises an exception with the correct message' do
104
- expect { raise described_class.new(path: '/path') }.to raise_error { |error|
105
- expect(error).to be_a(described_class)
106
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
107
- The cookbook at `/path' is out of sync with the remote repository. Please update your local cache with the remote repository before continuing:
108
-
109
- git pull
110
-
111
- And then push your local changes to the remote repository:
112
-
113
- git push
114
- EOH
115
- }
116
- end
117
- end
118
-
119
- describe GitFailed do
120
- it 'raises an exception with the correct message' do
121
- expect { raise described_class.new(command: 'run') }.to raise_error { |error|
122
- expect(error).to be_a(described_class)
123
- expect(error.message).to eq <<-EOH.gsub(/^ {10}/, '')
124
- An error occurred while running:
125
-
126
- git run
127
-
128
- There is likely an informative message from git that explains what happened right above this message.
129
- EOH
130
- }
131
- end
132
- end
133
- end
data/stove.gemspec DELETED
@@ -1,34 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'stove/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'stove'
8
- spec.version = Stove::VERSION
9
- spec.authors = ['Seth Vargo']
10
- spec.email = ['sethvargo@gmail.com']
11
- spec.description = "A utility for releasing Chef community cookbooks"
12
- spec.summary = "A command-line utility for releasing Chef community cookbooks"
13
- spec.homepage = 'https://github.com/sethvargo/stove'
14
- spec.license = 'Apache 2.0'
15
-
16
- spec.files = `git ls-files`.split($/)
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ['lib']
20
-
21
- spec.required_ruby_version = '>= 2.1'
22
-
23
- # Runtime dependencies
24
- spec.add_dependency 'chef-api', '~> 0.5'
25
- spec.add_dependency 'logify', '~> 0.2'
26
-
27
- spec.add_development_dependency 'aruba', '~> 0.6.0'
28
- spec.add_development_dependency 'bundler', '~> 1.6'
29
- spec.add_development_dependency 'community-zero', '~> 2.0'
30
- spec.add_development_dependency 'rake'
31
- spec.add_development_dependency 'rspec', '~> 3.0'
32
- spec.add_development_dependency 'rspec-command', '~> 1.0'
33
- spec.add_development_dependency 'webmock', '~> 3.0'
34
- end
@@ -1,5 +0,0 @@
1
- '<%= @method %>' is an abstract method. You must override this method in your subclass with the proper implementation and logic. For more information, please see the inline documentation for <%= @method %>. If you are not a developer, this is most likely a bug in the ChefAPI gem. Please file a bug report at:
2
-
3
- https://github.com/sethvargo/stove/issues/new
4
-
5
- and include the command(s) or code you ran to arrive at this error.
@@ -1,11 +0,0 @@
1
- You did not specify an Artifactory API key! You can pass the key either via a command line argument:
2
-
3
- stove --artifactory-key sUeEpLXJvfhw3UZHbVPrGCgdou8VI6fXpD5sUHd0pKAxCmuGWNHLgerpFPkCJ2EjBBPYcM4My
4
-
5
- Or via a file path:
6
-
7
- stove --artifactory-key @~/.artifactory/api.key
8
-
9
- Or via an environment variable:
10
-
11
- export ARTIFACTORY_API_KEY=sUeEpLXJvfhw3UZHbVPrGCgdou8VI6fXpD5sUHd0pKAxCmuGWNHLgerpFPkCJ2EjBBPYcM4My
@@ -1 +0,0 @@
1
- The cookbook at `<%= @path %>' has untracked files! In order to use the git plugin, you must have a clean working directory. Please commit or stash your changes before running Stove again.
@@ -1,5 +0,0 @@
1
- An error occurred while running:
2
-
3
- git <%= @command %>
4
-
5
- There is likely an informative message from git that explains what happened right above this message.
@@ -1,3 +0,0 @@
1
- The cookbook at `<%= @path %>' does not appear to be a valid git repository. In order to use the git plugin, your cookbook must be initialized as a git repository. To create a git repository, run:
2
-
3
- git init <%= @path %>
@@ -1,5 +0,0 @@
1
- An error occurred while attempting to tag the release in git by running:
2
-
3
- git <%= @command %>
4
-
5
- This often occurs when you've already attempted to release a cookbook with stove. If you would like to try to release again without git tagging use the '--no-git' option
@@ -1,7 +0,0 @@
1
- The cookbook at `<%= @path %>' is out of sync with the remote repository. Please update your local cache with the remote repository before continuing:
2
-
3
- git pull
4
-
5
- And then push your local changes to the remote repository:
6
-
7
- git push
@@ -1 +0,0 @@
1
- The file at `<%= @path %>' does not exist or does not contain valid metadata. Please make sure you have specified the correct path and that the metdata file exists.
@@ -1 +0,0 @@
1
- The server at `<%= @url %>' is unavailable or is not currently accepting client connections. Please ensure the server is accessible via ping (or telnet) on your local network. If this error persists, please contact your network administrator.
@@ -1 +0,0 @@
1
- Oh no! Something really bad happened. I am not sure what actually happened because this is the catch-all error, but you should most definitely report an issue on GitHub at https://github.com/sethvargo/stove.
@@ -1,5 +0,0 @@
1
- Cookbook <%= @cookbook.name %> already has a version <%= @cookbook.version %> uploaded.
2
-
3
- Please change the version number before uploading again.
4
-
5
- If you need to change an existing version, please remove it first.
@@ -1,3 +0,0 @@
1
- You did not specify the path to a private key! The Chef Supermarket requires a private key for authentication:
2
-
3
- stove --key ~/.chef/sethvargo.pem
@@ -1,3 +0,0 @@
1
- You did not specify the username to authenticate with! The Chef Supermarket requires a username for authentication:
2
-
3
- stove --username sethvargo