puppet-blacksmith 4.0.1 → 4.1.0

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: 8f73159d1aa2ce5dd6ed011b22958cad22de4d331b45a29118d27b0aea808d78
4
- data.tar.gz: 88d6257604d035980fdd7c5de4d3da30e427bf8f604046155608ac851c4cb377
3
+ metadata.gz: f006f3c1be57de47df962b7a653f07c87eb61db0713ff114c47ebe8e6a669f4d
4
+ data.tar.gz: 69225ae6f22e58d4f11f75f6f37922b5377df32a5b1c9231f89cd22e887d2351
5
5
  SHA512:
6
- metadata.gz: 9fe046de41ad6b684cc97ba550593c4ea8f6686b6fbecc4fc07584c0b7de69addd2858417813e8ae40580ae619ec858a43e103f47bd62a0b3e79924451202054
7
- data.tar.gz: 80c4ff078f2da7b86f0c1d187e0d28591d35edfb66d9c1e09663591dbf7f09516282e5540290971f085b218e0c6fd7af3f2d23448289791255766e4fb2909f91
6
+ metadata.gz: 386ad8efbc13c3f4c6c18e2a4abec43ad1d74f07e5100137f410c176d474ef37eb947323471eaac5c6d3b5ffd08023c948a3fccbe0daaa04160516f98e2c94a3
7
+ data.tar.gz: 171770abef7ac2afb77957f9e82572f496149a31cf47ffdd9f411ef3721beea83dc419a564a3a1989a3c92cc7dac754095f1f092c9fb23034c59bdaa02a19356
@@ -3,8 +3,8 @@ require 'open3'
3
3
  module Blacksmith
4
4
  class Git
5
5
 
6
- attr_accessor :path, :tag_pattern, :tag_message_pattern, :commit_message_pattern
7
- attr_writer :tag_pattern, :tag_message_pattern, :commit_message_pattern
6
+ attr_accessor :path, :tag_pattern, :tag_message_pattern, :tag_sign, :commit_message_pattern
7
+ attr_writer :tag_pattern, :tag_message_pattern, :tag_sign, :commit_message_pattern
8
8
 
9
9
  # Pattern to use for tags, %s is replaced with the actual version
10
10
  def commit_message_pattern
@@ -19,6 +19,10 @@ module Blacksmith
19
19
  @tag_message_pattern
20
20
  end
21
21
 
22
+ def tag_sign
23
+ @tag_sign
24
+ end
25
+
22
26
  def initialize(path = ".")
23
27
  @path = File.expand_path(path)
24
28
  end
@@ -39,6 +43,10 @@ module Blacksmith
39
43
  tag_message = tag_message_pattern % version
40
44
  command += ["-m", tag_message]
41
45
  end
46
+ if tag_sign
47
+ raise Blacksmith::Error, 'Signed tags require messages - set tag_message_pattern' unless tag_message_pattern
48
+ command += ["-s"]
49
+ end
42
50
  exec_git command
43
51
  end
44
52
 
@@ -28,14 +28,18 @@ module Blacksmith
28
28
  metadata['version']
29
29
  end
30
30
 
31
- def bump!(level = :patch)
32
- new_version = increase_version(version, level)
31
+ def bump_to_version!(new_version)
33
32
  text = File.read(path)
34
33
  text = replace_version(text, new_version)
35
- File.open(path, "w") {|file| file.puts text}
34
+ File.open(path,"w") { |file| file.puts text }
36
35
  new_version
37
36
  end
38
37
 
38
+ def bump!(level = :patch)
39
+ new_version = increase_version(version, level)
40
+ bump_to_version!(new_version)
41
+ end
42
+
39
43
  [:major, :minor, :patch, :full].each do |level|
40
44
  define_method("bump_#{level}!") { bump!(level) }
41
45
  end
@@ -57,6 +57,13 @@ module Blacksmith
57
57
  end
58
58
  end
59
59
 
60
+ desc "Bump module to specific version number"
61
+ task :bump_to_version, [:new_version] do |t, args|
62
+ m = Blacksmith::Modulefile.new
63
+ v = m.bump_to_version!(args[:new_version])
64
+ puts "Bumping version to #{args[:new_version]}"
65
+ end
66
+
60
67
  desc "Bump module version to the next patch"
61
68
  task :bump do
62
69
  m = Blacksmith::Modulefile.new
@@ -1,3 +1,3 @@
1
1
  module Blacksmith
2
- VERSION = '4.0.1'
2
+ VERSION = '4.1.0'
3
3
  end
@@ -44,10 +44,31 @@ describe 'Blacksmith::Git' do
44
44
  end
45
45
 
46
46
  describe 'tag!' do
47
- before { subject.tag!(version) }
48
- it "should have the tag" do
49
- out = `cd #{path} && git tag`
50
- expect(out.chomp).to match(/^v1.0.0$/)
47
+ context 'basic tag' do
48
+ before { subject.tag!(version) }
49
+ it "should have the tag" do
50
+ out = `cd #{path} && git tag`
51
+ expect(out.chomp).to match(/^v1.0.0$/)
52
+ end
53
+ end
54
+
55
+ context 'signed tag without pattern' do
56
+ before do
57
+ subject.tag_message_pattern = nil
58
+ subject.tag_sign = true
59
+ end
60
+
61
+ it { expect { subject.tag!(version) }.to raise_error(Blacksmith::Error, /Signed tags require messages/)}
62
+ end
63
+
64
+ context 'signed tag with pattern' do
65
+ before do
66
+ subject.tag_message_pattern = 'Version %s'
67
+ subject.tag_sign = true
68
+ allow(subject).to receive(:exec_git).with(['tag', 'v1.0.0', '-m', 'Version 1.0.0', '-s']).and_return(true)
69
+ end
70
+
71
+ it { expect(subject.tag!(version)).to be true }
51
72
  end
52
73
  end
53
74
 
@@ -109,6 +109,10 @@ describe 'Blacksmith::Modulefile' do
109
109
 
110
110
  end
111
111
 
112
+ describe 'bump_to_version' do
113
+ it { expect(subject.bump_to_version!("1.0.0")).to eql("1.0.0") }
114
+ end
115
+
112
116
  describe 'increase_version' do
113
117
  it { expect(subject.increase_version("1.0.0")).to eql("1.0.1") }
114
118
  it { expect(subject.increase_version("1.0.1")).to eql("1.0.2") }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-blacksmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - MaestroDev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-03 00:00:00.000000000 Z
11
+ date: 2017-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -168,15 +168,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  version: '0'
169
169
  requirements: []
170
170
  rubyforge_project:
171
- rubygems_version: 2.7.0
171
+ rubygems_version: 2.7.3
172
172
  signing_key:
173
173
  specification_version: 4
174
174
  summary: Tasks to manage Puppet module builds
175
175
  test_files:
176
176
  - spec/data/Modulefile
177
177
  - spec/data/maestrodev-test/metadata.json
178
- - spec/data/metadata.json
179
178
  - spec/data/response.json
179
+ - spec/data/metadata.json
180
180
  - spec/puppet_blacksmith/forge_live_spec.rb
181
181
  - spec/puppet_blacksmith/forge_shared.rb
182
182
  - spec/puppet_blacksmith/forge_spec.rb