cookbook-release 1.4.0 → 1.4.1
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 +5 -5
- data/.travis.yml +0 -1
- data/README.md +1 -1
- data/cookbook-release.gemspec +1 -1
- data/lib/cookbook-release.rb +13 -12
- data/lib/cookbook-release/git-utilities.rb +2 -1
- data/spec/git_spec.rb +20 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ef4f876c9097c92b3f1531e562f575d0f607fec7
|
4
|
+
data.tar.gz: 80314fba7113d9b8134aeb467c0973ad3cf3734f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0e4ec14d3d2759e8cd7f357d06a0e5ecdd30d6b90c8b16afdf486bb60dca6586f0de89b6dd69e66085a71f52eee9a75d57ba35d57df67f36b9d654c8102689d
|
7
|
+
data.tar.gz: be592e21c15ec5022533001a738157d2afc91857238f3b9a3ee2b5c414c4a544c1ebae3bed21c197e6ca9c53b0b71bc381ef8a4dbe2ddcf9f80275e6817c5f2e
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -77,4 +77,4 @@ require 'cookbook-release'
|
|
77
77
|
CookbookRelease::Rake::RepoTask.new
|
78
78
|
```
|
79
79
|
|
80
|
-
will allow to create tasks to generate html changelog between HEAD and master branch. It aims to make some changes more visible such as [Risky] tag (or any tag used for major changes).
|
80
|
+
will allow to create tasks to generate html changelog between HEAD and master branch. It aims to make some changes more visible such as [Risky] tag (or any tag used for major changes). You may add a `sub_dir` parameter to restrict the scope of the changes to a sub-directory of the git root.
|
data/cookbook-release.gemspec
CHANGED
@@ -6,7 +6,7 @@ require 'English'
|
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
8
|
spec.name = 'cookbook-release'
|
9
|
-
spec.version = '1.4.
|
9
|
+
spec.version = '1.4.1'
|
10
10
|
spec.authors = ['Grégoire Seux']
|
11
11
|
spec.email = 'g.seux@criteo.com'
|
12
12
|
spec.summary = 'Provide primitives (and rake tasks) to release a cookbook'
|
data/lib/cookbook-release.rb
CHANGED
@@ -13,20 +13,21 @@ module CookbookRelease
|
|
13
13
|
class RepoTask < ::Rake::TaskLib
|
14
14
|
def initialize(opts = {}, &html_block)
|
15
15
|
desc 'Display raw changelog between branches'
|
16
|
-
task 'changelog:raw' do
|
17
|
-
git = GitUtilities.new
|
16
|
+
task 'changelog:raw', [:sub_dir] do |_, args|
|
17
|
+
git = GitUtilities.new('sub_dir': args['sub_dir'])
|
18
18
|
puts Changelog.new(git, opts).raw
|
19
19
|
end
|
20
20
|
|
21
21
|
desc 'Display raw changelog between branches with risky commits on top'
|
22
|
-
task 'changelog:raw_priority' do
|
23
|
-
git = GitUtilities.new
|
22
|
+
task 'changelog:raw_priority', [:sub_dir] do |_, args|
|
23
|
+
git = GitUtilities.new(args)
|
24
|
+
git = GitUtilities.new('sub_dir': args['sub_dir'])
|
24
25
|
puts Changelog.new(git, opts).raw_priority
|
25
26
|
end
|
26
27
|
|
27
28
|
desc 'Display html changelog between branches'
|
28
|
-
task 'changelog:html' do
|
29
|
-
git = GitUtilities.new
|
29
|
+
task 'changelog:html', [:sub_dir] do |_, args|
|
30
|
+
git = GitUtilities.new('sub_dir': args['sub_dir'])
|
30
31
|
html = Changelog.new(git, opts).html
|
31
32
|
if block_given?
|
32
33
|
html = html_block.call(html)
|
@@ -35,8 +36,8 @@ module CookbookRelease
|
|
35
36
|
end
|
36
37
|
|
37
38
|
desc 'Display html changelog between branches with risky commits on top'
|
38
|
-
task 'changelog:html_priority' do
|
39
|
-
git = GitUtilities.new
|
39
|
+
task 'changelog:html_priority', [:sub_dir] do |_, args|
|
40
|
+
git = GitUtilities.new('sub_dir': args['sub_dir'])
|
40
41
|
html = Changelog.new(git, opts).html_priority
|
41
42
|
if block_given?
|
42
43
|
html = html_block.call(html)
|
@@ -45,14 +46,14 @@ module CookbookRelease
|
|
45
46
|
end
|
46
47
|
|
47
48
|
desc 'Display markdown changelog between branches'
|
48
|
-
task 'changelog:markdown' do
|
49
|
-
git = GitUtilities.new
|
49
|
+
task 'changelog:markdown', [:sub_dir] do |_, args|
|
50
|
+
git = GitUtilities.new('sub_dir': args['sub_dir'])
|
50
51
|
puts Changelog.new(git, opts).markdown
|
51
52
|
end
|
52
53
|
|
53
54
|
desc 'Display markdown changelog between branches with risky commits on top'
|
54
|
-
task 'changelog:markdown_priority' do
|
55
|
-
git = GitUtilities.new
|
55
|
+
task 'changelog:markdown_priority', [:sub_dir] do |_, args|
|
56
|
+
git = GitUtilities.new('sub_dir': args['sub_dir'])
|
56
57
|
puts Changelog.new(git, opts).markdown_priority
|
57
58
|
end
|
58
59
|
end
|
@@ -12,6 +12,7 @@ module CookbookRelease
|
|
12
12
|
def initialize(options={})
|
13
13
|
@tag_prefix = options[:tag_prefix] || ''
|
14
14
|
cwd = options[:cwd] || Dir.pwd
|
15
|
+
@sub_dir = options[:sub_dir] # if nil takes the cwd
|
15
16
|
@shellout_opts = {
|
16
17
|
cwd: cwd
|
17
18
|
}
|
@@ -63,7 +64,7 @@ module CookbookRelease
|
|
63
64
|
end
|
64
65
|
|
65
66
|
def compute_changelog(since, short_sha = true)
|
66
|
-
@g.log(500).between(since, 'HEAD').map do |commit|
|
67
|
+
@g.log(500).object(@sub_dir).between(since, 'HEAD').map do |commit|
|
67
68
|
message = commit.message.lines.map(&:chomp).compact.delete_if(&:empty?)
|
68
69
|
Commit.new(
|
69
70
|
author: commit.author.name,
|
data/spec/git_spec.rb
CHANGED
@@ -123,12 +123,31 @@ git tag 12.34.56
|
|
123
123
|
cmd.run_command
|
124
124
|
cmd.error!
|
125
125
|
end
|
126
|
-
|
127
126
|
changelog = git.compute_changelog('1.0.0')
|
128
127
|
expect(changelog.size).to eq(3)
|
129
128
|
expect(changelog.map {|c| c[:subject]}).to contain_exactly('A commit', 'Another commit', 'A third one')
|
130
129
|
end
|
131
130
|
|
131
|
+
it 'shows only sub_dir commits' do
|
132
|
+
cmds = <<-EOH
|
133
|
+
git commit --allow-empty -m "subject" -m "body" -m "line2"
|
134
|
+
git commit --allow-empty -m "without body"
|
135
|
+
mkdir -p subbie
|
136
|
+
echo "hello" > subbie/there
|
137
|
+
git add subbie/there
|
138
|
+
git commit -m "hello there"
|
139
|
+
EOH
|
140
|
+
sub_git = CookbookRelease::GitUtilities.new(sub_dir: 'subbie')
|
141
|
+
cmds.split("\n").each do |cmd|
|
142
|
+
cmd = Mixlib::ShellOut.new(cmd)
|
143
|
+
cmd.run_command
|
144
|
+
cmd.error!
|
145
|
+
end
|
146
|
+
|
147
|
+
changelog = sub_git.compute_changelog('1.0.0')
|
148
|
+
expect(changelog.size).to eq(1)
|
149
|
+
end
|
150
|
+
|
132
151
|
it 'parse correctly commits' do
|
133
152
|
cmds = <<-EOH
|
134
153
|
git commit --allow-empty -m "subject" -m "body" -m "line2"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cookbook-release
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grégoire Seux
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: semantic
|
@@ -181,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
181
|
version: '0'
|
182
182
|
requirements: []
|
183
183
|
rubyforge_project:
|
184
|
-
rubygems_version: 2.
|
184
|
+
rubygems_version: 2.6.13
|
185
185
|
signing_key:
|
186
186
|
specification_version: 4
|
187
187
|
summary: Provide primitives (and rake tasks) to release a cookbook
|