itamae 1.9.5 → 1.9.6.pre
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/CHANGELOG.md +11 -0
- data/Rakefile +0 -19
- data/lib/itamae/cli.rb +11 -3
- data/lib/itamae/resource/base.rb +1 -0
- data/lib/itamae/resource/git.rb +10 -2
- data/lib/itamae/resource/user.rb +5 -0
- data/lib/itamae/runner.rb +11 -0
- data/lib/itamae/version.rb +1 -1
- metadata +4 -5
- data/lib/itamae/version.txt +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 14409d3a6bd062fc5a82ab1f828997e0baaab839
|
|
4
|
+
data.tar.gz: 5bb922bb81f5e95896177156414e3552cf905c10
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ffe3d8752faec72b45cc79312a9ddeb050e1cf0456b675eefc6b8529960fb35d3bfa8d37c454c66fb82b69bda08cbf07891a4d313bcfd9ac6b3c09fb60c2c88a
|
|
7
|
+
data.tar.gz: c69551e8b91dd3f8de16b09e068ce3ab0fb9592ff1933a22845c5476689ca28278e1bb8e549b4094e40ab29d4cad861f64ede12f26a9d440e5f44d76860b9bed
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## v1.9.6 (pre)
|
|
2
|
+
|
|
3
|
+
Features
|
|
4
|
+
|
|
5
|
+
- [Introduce `--detailed-exitcode` option.](https://github.com/itamae-kitchen/itamae/pull/206)
|
|
6
|
+
|
|
7
|
+
Bugfixes
|
|
8
|
+
|
|
9
|
+
- [If `git rev-list` fails, do `git fetch origin`](https://github.com/itamae-kitchen/itamae/pull/205)
|
|
10
|
+
- [If gid passed to user resource is a String, treat it as group name.](https://github.com/itamae-kitchen/itamae/pull/207)
|
|
11
|
+
|
|
1
12
|
## v1.9.5
|
|
2
13
|
|
|
3
14
|
Bugfixes
|
data/Rakefile
CHANGED
|
@@ -80,22 +80,3 @@ namespace :spec do
|
|
|
80
80
|
end
|
|
81
81
|
end
|
|
82
82
|
|
|
83
|
-
namespace :release do
|
|
84
|
-
desc "Bump up version and commit"
|
|
85
|
-
task :version_up do
|
|
86
|
-
version_file = File.expand_path("lib/itamae/version.txt")
|
|
87
|
-
current_version = File.read(version_file).strip
|
|
88
|
-
|
|
89
|
-
if /\A(.+?)(\d+)\z/ =~ current_version
|
|
90
|
-
next_version = "#{$1}#{$2.to_i + 1}"
|
|
91
|
-
else
|
|
92
|
-
raise "Invalid version"
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
open(version_file, "w") do |f|
|
|
96
|
-
f.write next_version
|
|
97
|
-
end
|
|
98
|
-
system "git add #{version_file}"
|
|
99
|
-
system "git commit -m 'Bump up version'"
|
|
100
|
-
end
|
|
101
|
-
end
|
data/lib/itamae/cli.rb
CHANGED
|
@@ -24,6 +24,7 @@ module Itamae
|
|
|
24
24
|
option :shell, type: :string, default: "/bin/sh"
|
|
25
25
|
option :ohai, type: :boolean, default: false, desc: "This option is DEPRECATED and will be unavailable."
|
|
26
26
|
option :profile, type: :string, desc: "[EXPERIMENTAL] Save profiling data", banner: "PATH"
|
|
27
|
+
option :detailed_exitcode, type: :boolean, default: false, desc: "exit code 0 - The run succeeded with no changes or failures, exit code 1 - The run failed, exit code 2 - The run succeeded, and some resources were changed"
|
|
27
28
|
end
|
|
28
29
|
|
|
29
30
|
desc "local RECIPE [RECIPE...]", "Run Itamae locally"
|
|
@@ -33,7 +34,7 @@ module Itamae
|
|
|
33
34
|
raise "Please specify recipe files."
|
|
34
35
|
end
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
run(recipe_files, :local, options)
|
|
37
38
|
end
|
|
38
39
|
|
|
39
40
|
desc "ssh RECIPE [RECIPE...]", "Run Itamae via ssh"
|
|
@@ -54,7 +55,7 @@ module Itamae
|
|
|
54
55
|
raise "Please set '-h <hostname>' or '--vagrant'"
|
|
55
56
|
end
|
|
56
57
|
|
|
57
|
-
|
|
58
|
+
run(recipe_files, :ssh, options)
|
|
58
59
|
end
|
|
59
60
|
|
|
60
61
|
desc "docker RECIPE [RECIPE...]", "Create Docker image"
|
|
@@ -67,7 +68,7 @@ module Itamae
|
|
|
67
68
|
raise "Please specify recipe files."
|
|
68
69
|
end
|
|
69
70
|
|
|
70
|
-
|
|
71
|
+
run(recipe_files, :docker, options)
|
|
71
72
|
end
|
|
72
73
|
|
|
73
74
|
desc "version", "Print version"
|
|
@@ -118,5 +119,12 @@ module Itamae
|
|
|
118
119
|
fail InvocationError, msg
|
|
119
120
|
end
|
|
120
121
|
end
|
|
122
|
+
|
|
123
|
+
def run(recipe_files, backend_type, options)
|
|
124
|
+
runner = Runner.run(recipe_files, backend_type, options)
|
|
125
|
+
if options[:detailed_exitcode] && runner.diff?
|
|
126
|
+
exit 2
|
|
127
|
+
end
|
|
128
|
+
end
|
|
121
129
|
end
|
|
122
130
|
end
|
data/lib/itamae/resource/base.rb
CHANGED
data/lib/itamae/resource/git.rb
CHANGED
|
@@ -72,7 +72,11 @@ module Itamae
|
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
def run_command_in_repo(*args)
|
|
75
|
-
|
|
75
|
+
unless args.last.is_a?(Hash)
|
|
76
|
+
args << {}
|
|
77
|
+
end
|
|
78
|
+
args.last[:cwd] = attributes.destination
|
|
79
|
+
run_command(*args)
|
|
76
80
|
end
|
|
77
81
|
|
|
78
82
|
def current_branch
|
|
@@ -80,7 +84,11 @@ module Itamae
|
|
|
80
84
|
end
|
|
81
85
|
|
|
82
86
|
def get_revision(branch)
|
|
83
|
-
run_command_in_repo("git rev-list #{shell_escape(branch)}
|
|
87
|
+
result = run_command_in_repo("git rev-list #{shell_escape(branch)}", error: false)
|
|
88
|
+
unless result.exit_status == 0
|
|
89
|
+
fetch_origin!
|
|
90
|
+
end
|
|
91
|
+
run_command_in_repo("git rev-list #{shell_escape(branch)}").stdout.lines.first.strip
|
|
84
92
|
end
|
|
85
93
|
|
|
86
94
|
def fetch_origin!
|
data/lib/itamae/resource/user.rb
CHANGED
data/lib/itamae/runner.rb
CHANGED
|
@@ -12,6 +12,8 @@ module Itamae
|
|
|
12
12
|
runner = self.new(backend, options)
|
|
13
13
|
runner.load_recipes(recipe_files)
|
|
14
14
|
runner.run
|
|
15
|
+
|
|
16
|
+
runner
|
|
15
17
|
end
|
|
16
18
|
end
|
|
17
19
|
|
|
@@ -31,6 +33,7 @@ module Itamae
|
|
|
31
33
|
@node = create_node
|
|
32
34
|
@tmpdir = "/tmp/itamae_tmp"
|
|
33
35
|
@children = RecipeChildren.new
|
|
36
|
+
@diff = false
|
|
34
37
|
|
|
35
38
|
@backend.run_command(["mkdir", "-p", @tmpdir])
|
|
36
39
|
@backend.run_command(["chmod", "777", @tmpdir])
|
|
@@ -80,6 +83,14 @@ module Itamae
|
|
|
80
83
|
end
|
|
81
84
|
end
|
|
82
85
|
|
|
86
|
+
def diff?
|
|
87
|
+
@diff
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def diff_found!
|
|
91
|
+
@diff = true
|
|
92
|
+
end
|
|
93
|
+
|
|
83
94
|
private
|
|
84
95
|
def create_node
|
|
85
96
|
hash = {}
|
data/lib/itamae/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: itamae
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.9.
|
|
4
|
+
version: 1.9.6.pre
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryota Arai
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-04-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|
|
@@ -265,7 +265,6 @@ files:
|
|
|
265
265
|
- lib/itamae/resource/user.rb
|
|
266
266
|
- lib/itamae/runner.rb
|
|
267
267
|
- lib/itamae/version.rb
|
|
268
|
-
- lib/itamae/version.txt
|
|
269
268
|
- spec/integration/Vagrantfile
|
|
270
269
|
- spec/integration/default_spec.rb
|
|
271
270
|
- spec/integration/recipes/default.rb
|
|
@@ -309,9 +308,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
309
308
|
version: '0'
|
|
310
309
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
311
310
|
requirements:
|
|
312
|
-
- - "
|
|
311
|
+
- - ">"
|
|
313
312
|
- !ruby/object:Gem::Version
|
|
314
|
-
version:
|
|
313
|
+
version: 1.3.1
|
|
315
314
|
requirements: []
|
|
316
315
|
rubyforge_project:
|
|
317
316
|
rubygems_version: 2.5.1
|
data/lib/itamae/version.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.9.5
|