verto 0.5.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/Gemfile.lock +2 -2
- data/README.md +26 -39
- data/Vertofile +49 -0
- data/exe/verto +1 -1
- data/lib/verto.rb +14 -0
- data/lib/verto/commands/main_command.rb +1 -1
- data/lib/verto/commands/tag_command.rb +25 -9
- data/lib/verto/dsl/built_in_hooks.rb +22 -0
- data/lib/verto/dsl/syntax.rb +27 -5
- data/lib/verto/utils/templates/Vertofile +18 -13
- data/lib/verto/version.rb +1 -1
- data/verto.gemspec +3 -3
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bfde45c8eb00cd3302f89417e1302b90e2fd41a2fd49a5c402c6e29ec2e46fdf
|
4
|
+
data.tar.gz: d6822ed93c979646fc7c0064b39310a1a180ae632a92ea53b2a7b7841503c138
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f93afd8ec28cfcf7a6183d82570da5e5636f23ffd1387c111de3bbbbddae2db114b7022207a953f47e45020f6069024a1cdeffca419aec6fe0ca0d923583fc78
|
7
|
+
data.tar.gz: c07c60169151793d64806ae93851aabd649233f2d8364fe1aba2e896a57c89054dfd634d37b69554f934219420964f76ae3b932504b7964a2f3c14b9aeb8fe57
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
## 0.9.0 - 08/08/2020
|
2
|
+
* [FEATURE] Custom Default Pre-Release Identifier
|
3
|
+
|
4
|
+
## 0.8.0 - 05/05/2020
|
5
|
+
* [PATCH] Handles Ctrl-C / SIGINT in CLI
|
6
|
+
|
7
|
+
## 0.7.0 - 29/04/2020
|
8
|
+
* [FEATURE Built In Git Hooks]
|
9
|
+
|
10
|
+
## 0.6.1 - 15/04/2020
|
11
|
+
* [FIX] Fix Vertofile to add Gemfile.lock before release
|
12
|
+
|
13
|
+
## 0.6.0 - 14/04/2020
|
14
|
+
* [FEATURE] Adds Version Prefix
|
15
|
+
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
verto (0.
|
4
|
+
verto (0.9.0)
|
5
5
|
dry-auto_inject (~> 0.7)
|
6
6
|
dry-configurable (~> 0.8)
|
7
7
|
dry-container (~> 0.7)
|
@@ -17,7 +17,7 @@ GEM
|
|
17
17
|
docile (1.3.2)
|
18
18
|
dry-auto_inject (0.7.0)
|
19
19
|
dry-container (>= 0.3.4)
|
20
|
-
dry-configurable (0.11.
|
20
|
+
dry-configurable (0.11.6)
|
21
21
|
concurrent-ruby (~> 1.0)
|
22
22
|
dry-core (~> 0.4, >= 0.4.7)
|
23
23
|
dry-equalizer (~> 0.2)
|
data/README.md
CHANGED
@@ -32,28 +32,20 @@ You don't need to install verto in your machine, you can run verto via the docke
|
|
32
32
|
To use verto in the same way that you use any other cli, you can set an alias in your `.bashrc`, `.zshrc`, etc:
|
33
33
|
|
34
34
|
```shell
|
35
|
-
alias verto='docker run -v $(pwd):/usr/src/project -it catks/verto:0.
|
35
|
+
alias verto='docker run -v $(pwd):/usr/src/project -it catks/verto:0.9.0'
|
36
36
|
```
|
37
37
|
|
38
38
|
If you want you can share your git configuration and known_hosts with:
|
39
39
|
|
40
40
|
```shell
|
41
|
-
alias verto='docker run -v ~/.gitconfig:/etc/gitconfig -v $(pwd):/usr/src/project -v $HOME/.ssh/known_hosts:/root/.ssh/known_hosts -it catks/verto:0.
|
41
|
+
alias verto='docker run -v ~/.gitconfig:/etc/gitconfig -v $(pwd):/usr/src/project -v $HOME/.ssh/known_hosts:/root/.ssh/known_hosts -it catks/verto:0.9.0'
|
42
42
|
|
43
43
|
```
|
44
44
|
|
45
|
-
You can also use your ssh keys with verto container (for git push):
|
45
|
+
You can also use your ssh keys, know_hosts and git config with verto container (for git push):
|
46
46
|
|
47
47
|
```shell
|
48
|
-
alias verto='docker run -v $(pwd):/usr/src/project -v $HOME/.ssh/known_hosts:/root/.ssh/known_hosts -v $HOME/.ssh/id_rsa:/root/.ssh/id_rsa -e SSH_PRIVATE_KEY=/root/.ssh/id_rsa -it catks/verto:0.
|
49
|
-
|
50
|
-
```
|
51
|
-
|
52
|
-
Or share the git config, known_hosts and ssh_keys:
|
53
|
-
|
54
|
-
|
55
|
-
```shell
|
56
|
-
alias verto='docker run -v ~/.gitconfig:/etc/gitconfig -v $(pwd):/usr/src/project -v $HOME/.ssh/known_hosts:/root/.ssh/known_hosts -v $HOME/.ssh/id_rsa:/root/.ssh/id_rsa -e SSH_PRIVATE_KEY=/root/.ssh/id_rsa -it catks/verto:0.4.1'
|
48
|
+
alias verto='docker run -v ~/.gitconfig:/etc/gitconfig -v $(pwd):/usr/src/project -v $HOME/.ssh/known_hosts:/root/.ssh/known_hosts -v $HOME/.ssh/id_rsa:/root/.ssh/id_rsa -e SSH_PRIVATE_KEY=/root/.ssh/id_rsa -it catks/verto:0.9.0'
|
57
49
|
|
58
50
|
```
|
59
51
|
|
@@ -93,22 +85,24 @@ You can create a new Vertofile with `verto init` or following the next example:
|
|
93
85
|
```ruby
|
94
86
|
# Vertofile
|
95
87
|
|
96
|
-
verto_version '0.
|
88
|
+
verto_version '0.9.0'
|
89
|
+
|
90
|
+
config {
|
91
|
+
# version.prefix = 'v' # Adds a version_prefix
|
92
|
+
# pre_release.default_identifier = 'alpha' } # Defaults to 'rc'
|
93
|
+
git.pull_before_tag_creation = true # Pull Changes before tag creation
|
94
|
+
git.push_after_tag_creation = true # Push changes after tag creation
|
95
|
+
}
|
97
96
|
|
98
97
|
context(branch('master')) {
|
99
|
-
|
100
|
-
git!('origin master')
|
98
|
+
before_command_tag_up {
|
101
99
|
command_options.add(filter: 'release_only')
|
102
100
|
}
|
103
101
|
|
104
|
-
|
105
|
-
|
106
|
-
version_changes = ""
|
107
|
-
bitbucket_changes = sh(
|
102
|
+
before_tag_creation {
|
103
|
+
version_changes = sh(
|
108
104
|
%q#git log --oneline --decorate | grep -B 100 -m 1 "tag:" | grep "pull request" | awk '{print $1}' | xargs git show --format='%b' | grep -v Approved | grep -v "^$" | grep -E "^[[:space:]]*\[.*\]" | sed 's/^[[:space:]]*\(.*\)/ * \1/'#, output: false
|
109
105
|
).output
|
110
|
-
version_changes = bitbucket_changes
|
111
|
-
|
112
106
|
|
113
107
|
puts "---------------------------"
|
114
108
|
version_changes = "## #{new_version} - #{Time.now.strftime('%d/%m/%Y')}\n#{version_changes}\n"
|
@@ -126,38 +120,33 @@ context(branch('master')) {
|
|
126
120
|
# file('package.json').replace(/"(\d+)\.(\d+)\.(\d+)(-?.*)"/, %Q{"#{new_version}"})
|
127
121
|
# git('add package.json')
|
128
122
|
|
129
|
-
git('commit -m "Updates CHANGELOG"')
|
123
|
+
git!('commit -m "Updates CHANGELOG"')
|
130
124
|
}
|
131
125
|
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
126
|
+
# After Hooks
|
127
|
+
# after_command_tag_up {
|
128
|
+
# git('push --tags')
|
129
|
+
# git('push origin master')
|
130
|
+
# }
|
136
131
|
}
|
137
132
|
|
138
133
|
context(branch('staging')) {
|
139
|
-
|
134
|
+
before_command_tag_up {
|
140
135
|
git!('pull origin staging')
|
141
136
|
command_options.add(pre_release: 'rc')
|
142
137
|
}
|
143
138
|
|
144
|
-
|
139
|
+
before_tag_creation {
|
145
140
|
# file('package.json').replace(/"(\d+)\.(\d+)\.(\d+)(-?.*)"/, %Q{"#{new_version}"})
|
146
141
|
# git('add package.json')
|
147
142
|
|
148
|
-
git('commit -m "Release
|
149
|
-
git('commit --allow-empty -m "Staging Release"')
|
150
|
-
}
|
151
|
-
|
152
|
-
after_command('tag_up') {
|
153
|
-
git('push --tags')
|
154
|
-
git('push origin staging')
|
143
|
+
git!('commit --allow-empty -m "Staging Release"')
|
155
144
|
}
|
156
145
|
}
|
157
146
|
|
158
147
|
# Block tag creation in other branchs
|
159
148
|
context(!branch('master', 'staging')) {
|
160
|
-
error "Tags only
|
149
|
+
error "Tags can only be created in master or staging branch"
|
161
150
|
exit
|
162
151
|
}
|
163
152
|
```
|
@@ -170,9 +159,7 @@ context(!branch('master', 'staging')) {
|
|
170
159
|
|
171
160
|
1. Complete README.md description
|
172
161
|
2. Add a configuration to enable, disable or specify the number of tags that a single commit can have(eg: only one release and one pre-release)
|
173
|
-
3.
|
174
|
-
4. Improve DSL Syntax Errors Messages(Ruby backtrace is printed currently)
|
175
|
-
5. Adds more specs and test coverage in CI
|
162
|
+
3. Adds more specs and test coverage in CI
|
176
163
|
|
177
164
|
## Contributing
|
178
165
|
|
data/Vertofile
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
verto_version '0.7.0'
|
2
|
+
|
3
|
+
config {
|
4
|
+
version.prefix = 'v' # Adds a version_prefix
|
5
|
+
git.pull_before_tag_creation = true
|
6
|
+
git.push_after_tag_creation = true
|
7
|
+
}
|
8
|
+
|
9
|
+
context(branch('master')) {
|
10
|
+
before_command_tag_up {
|
11
|
+
command_options.add(filter: 'release_only')
|
12
|
+
}
|
13
|
+
|
14
|
+
before_tag_creation {
|
15
|
+
version_changes = ""
|
16
|
+
bitbucket_changes = sh(
|
17
|
+
%q#git log --oneline --decorate | grep -B 100 -m 1 "tag:" | grep "pull request" | awk '{print $1}' | xargs git show --format='%b' | grep -v Approved | grep -v "^$" | grep -E "^[[:space:]]*\[.*\]" | sed 's/^[[:space:]]*\(.*\)/ * \1/'#, output: false
|
18
|
+
).output
|
19
|
+
version_changes = bitbucket_changes
|
20
|
+
|
21
|
+
puts "---------------------------"
|
22
|
+
version_changes = "## #{new_version} - #{Time.now.strftime('%d/%m/%Y')}\n#{version_changes}\n"
|
23
|
+
exit unless confirm("Create new Realease?\n" \
|
24
|
+
"---------------------------\n" \
|
25
|
+
"#{version_changes}" \
|
26
|
+
"---------------------------\n"
|
27
|
+
)
|
28
|
+
|
29
|
+
# CHANGELOG
|
30
|
+
file('CHANGELOG.md').prepend(version_changes)
|
31
|
+
git!('add CHANGELOG.md')
|
32
|
+
|
33
|
+
file('lib/verto/version.rb').replace(latest_version.to_s, new_version.to_s)
|
34
|
+
git!('add lib/verto/version.rb')
|
35
|
+
|
36
|
+
file('README.md').replace_all(latest_version.to_s, new_version.to_s)
|
37
|
+
git!('add README.md')
|
38
|
+
|
39
|
+
file('lib/verto/utils/templates/Vertofile').replace(latest_version.to_s, new_version.to_s)
|
40
|
+
git!('add lib/verto/utils/templates/Vertofile')
|
41
|
+
|
42
|
+
sh!('bundle install')
|
43
|
+
sh!('rake install')
|
44
|
+
git!('add Gemfile.lock')
|
45
|
+
|
46
|
+
git!('commit -m "Bumps Version"')
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
data/exe/verto
CHANGED
data/lib/verto.rb
CHANGED
@@ -13,6 +13,7 @@ module Verto
|
|
13
13
|
|
14
14
|
setting :pre_release do
|
15
15
|
setting :initial_number, 1
|
16
|
+
setting :default_identifier, 'rc'
|
16
17
|
end
|
17
18
|
|
18
19
|
setting :project do
|
@@ -24,6 +25,18 @@ module Verto
|
|
24
25
|
setting :stderr_to, nil
|
25
26
|
end
|
26
27
|
|
28
|
+
setting :version do
|
29
|
+
setting :prefix, ''
|
30
|
+
setting :validations do
|
31
|
+
setting :new_version_must_be_bigger, true
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
setting :git do
|
36
|
+
setting :pull_before_tag_creation, false
|
37
|
+
setting :push_after_tag_creation, false
|
38
|
+
end
|
39
|
+
|
27
40
|
setting :hooks, []
|
28
41
|
setting :command_options, CommandOptions.new
|
29
42
|
|
@@ -84,6 +97,7 @@ require "verto/dsl/syntax"
|
|
84
97
|
require "verto/dsl/interpreter"
|
85
98
|
require "verto/dsl/hook"
|
86
99
|
require "verto/dsl/file"
|
100
|
+
require "verto/dsl/built_in_hooks"
|
87
101
|
require "verto/commands/base_command"
|
88
102
|
require "verto/commands/tag_command"
|
89
103
|
require "verto/commands/main_command"
|
@@ -8,8 +8,11 @@ module Verto
|
|
8
8
|
option :pre_release, type: :string
|
9
9
|
option :filter, type: :string
|
10
10
|
option :release, type: :boolean, default: false
|
11
|
+
option :version_prefix, type: :string, default: nil
|
11
12
|
|
12
13
|
def up
|
14
|
+
load_config_hooks!
|
15
|
+
|
13
16
|
call_hooks(%i[before before_tag_up], with_attributes: { command_options: options} )
|
14
17
|
|
15
18
|
validate_version_option_presence!
|
@@ -26,9 +29,9 @@ module Verto
|
|
26
29
|
|
27
30
|
call_hooks(:before_tag_creation, with_attributes: { new_version: new_version } )
|
28
31
|
|
29
|
-
stderr.puts "Creating Tag #{new_version}..."
|
30
|
-
tag_repository.create!(new_version
|
31
|
-
stderr.puts "Tag #{new_version} Created!"
|
32
|
+
stderr.puts "Creating Tag #{version_prefix}#{new_version}..."
|
33
|
+
tag_repository.create!("#{version_prefix}#{new_version}")
|
34
|
+
stderr.puts "Tag #{version_prefix}#{new_version} Created!"
|
32
35
|
|
33
36
|
call_hooks(:after_tag_up, with_attributes: { new_version: new_version })
|
34
37
|
call_hooks(:after)
|
@@ -39,13 +42,13 @@ module Verto
|
|
39
42
|
include Verto.import['tag_repository']
|
40
43
|
|
41
44
|
def up_version(version, options)
|
42
|
-
up_options = options.select { |
|
43
|
-
up_option = up_options.
|
45
|
+
up_options = options.select { |_, value| value == true }.keys.map(&:to_sym) & [:major, :minor, :patch]
|
46
|
+
up_option = up_options.min
|
44
47
|
|
45
48
|
new_version = version.up(up_option)
|
46
49
|
|
47
50
|
if options[:pre_release]
|
48
|
-
identifier = pre_release_configured? ? options[:pre_release] : version.pre_release.name
|
51
|
+
identifier = pre_release_configured? ? options[:pre_release] : version.pre_release.name || default_identifier
|
49
52
|
new_version = new_version.with_pre_release(identifier)
|
50
53
|
new_version = new_version.up(:pre_release) if new_version.pre_release.name == version.pre_release.name && new_version == version
|
51
54
|
end
|
@@ -65,7 +68,7 @@ module Verto
|
|
65
68
|
command_error!(
|
66
69
|
<<~TEXT
|
67
70
|
Project doesn't have a previous tag version, create a new tag with git.
|
68
|
-
eg: `git tag 0.1.0`
|
71
|
+
eg: `git tag #{version_prefix}0.1.0`
|
69
72
|
TEXT
|
70
73
|
) unless latest_tag
|
71
74
|
end
|
@@ -74,11 +77,11 @@ module Verto
|
|
74
77
|
command_error!(
|
75
78
|
<<~TEXT
|
76
79
|
New version(#{new_version}) can't be equal or lower than latest version(#{latest_version})
|
77
|
-
run up --pre-release with --patch, --minor or --major (eg: verto tag up --pre-release
|
80
|
+
run up --pre-release with --patch, --minor or --major (eg: verto tag up --patch --pre-release=rc),
|
78
81
|
add filters (eg: verto tag up --pre-release --filter=pre_release_only)
|
79
82
|
or disable tag validation in Vertofile with config.version.validations.new_version_must_be_bigger = false
|
80
83
|
TEXT
|
81
|
-
) if new_version < latest_version
|
84
|
+
) if new_version < latest_version && Verto.config.version.validations.new_version_must_be_bigger
|
82
85
|
end
|
83
86
|
|
84
87
|
def validate_version_option_presence!
|
@@ -99,5 +102,18 @@ module Verto
|
|
99
102
|
def load_filter
|
100
103
|
TagFilter.for(options[:filter]) || Regexp.new(options[:filter].to_s)
|
101
104
|
end
|
105
|
+
|
106
|
+
def version_prefix
|
107
|
+
options[:version_prefix] || Verto.config.version.prefix
|
108
|
+
end
|
109
|
+
|
110
|
+
def load_config_hooks!
|
111
|
+
Verto.config.hooks.prepend Verto::DSL::BuiltInHooks::GitPullCurrentBranch if Verto.config.git.pull_before_tag_creation
|
112
|
+
Verto.config.hooks << Verto::DSL::BuiltInHooks::GitPushCurrentBranch if Verto.config.git.push_after_tag_creation
|
113
|
+
end
|
114
|
+
|
115
|
+
def default_identifier
|
116
|
+
Verto.config.pre_release.default_identifier
|
117
|
+
end
|
102
118
|
end
|
103
119
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Verto
|
2
|
+
module DSL
|
3
|
+
module BuiltInHooks
|
4
|
+
GitPullCurrentBranch = DSL::Hook.new(moment: :before) do
|
5
|
+
git!("pull origin #{current_branch}")
|
6
|
+
end
|
7
|
+
|
8
|
+
GitPushTags = DSL::Hook.new(moment: :after) do
|
9
|
+
git!("push --tags")
|
10
|
+
end
|
11
|
+
|
12
|
+
GitPushCurrentBranchCommits = DSL::Hook.new(moment: :after) do
|
13
|
+
git!("push origin #{current_branch}")
|
14
|
+
end
|
15
|
+
|
16
|
+
GitPushCurrentBranch = DSL::Hook.new(moment: :after) do
|
17
|
+
GitPushTags.call
|
18
|
+
GitPushCurrentBranchCommits.call
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/verto/dsl/syntax.rb
CHANGED
@@ -55,17 +55,13 @@ module Verto
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def sh!(command, output: :from_config)
|
58
|
-
raise Verto::ExitError unless sh(command, output: output).success?
|
58
|
+
raise Verto::ExitError, command unless sh(command, output: output).success?
|
59
59
|
end
|
60
60
|
|
61
61
|
def command_options
|
62
62
|
Verto.config.command_options
|
63
63
|
end
|
64
64
|
|
65
|
-
def on(moment, &block)
|
66
|
-
Verto.config.hooks << Hook.new(moment: moment, &block)
|
67
|
-
end
|
68
|
-
|
69
65
|
def before(&block)
|
70
66
|
Verto.config.hooks << Hook.new(moment: :before, &block)
|
71
67
|
end
|
@@ -74,14 +70,36 @@ module Verto
|
|
74
70
|
Verto.config.hooks << Hook.new(moment: :after, &block)
|
75
71
|
end
|
76
72
|
|
73
|
+
def on(moment, &block)
|
74
|
+
deprecate('on', use: 'before_tag_creation')
|
75
|
+
|
76
|
+
Verto.config.hooks << Hook.new(moment: moment, &block)
|
77
|
+
end
|
78
|
+
|
77
79
|
def before_command(command_name, &block)
|
80
|
+
deprecate('before_command', use: 'before_command_tag_up')
|
81
|
+
|
78
82
|
Verto.config.hooks << Hook.new(moment: "before_#{command_name}", &block)
|
79
83
|
end
|
80
84
|
|
81
85
|
def after_command(command_name, &block)
|
86
|
+
deprecate('after_command', use: 'after_command_tag_up')
|
87
|
+
|
82
88
|
Verto.config.hooks << Hook.new(moment: "after_#{command_name}", &block)
|
83
89
|
end
|
84
90
|
|
91
|
+
def before_command_tag_up(&block)
|
92
|
+
Verto.config.hooks << Hook.new(moment: 'before_tag_up', &block)
|
93
|
+
end
|
94
|
+
|
95
|
+
def after_command_tag_up(&block)
|
96
|
+
Verto.config.hooks << Hook.new(moment: 'after_tag_up', &block)
|
97
|
+
end
|
98
|
+
|
99
|
+
def before_tag_creation(&block)
|
100
|
+
Verto.config.hooks << Hook.new(moment: 'before_tag_creation', &block)
|
101
|
+
end
|
102
|
+
|
85
103
|
def file(filepath)
|
86
104
|
DSL::File.new(filepath)
|
87
105
|
end
|
@@ -135,6 +153,10 @@ module Verto
|
|
135
153
|
|
136
154
|
SemanticVersion.new(tag_version)
|
137
155
|
end
|
156
|
+
|
157
|
+
def deprecate(current, use:)
|
158
|
+
warn "[DEPRECATED] `#{current}` is deprecated and will be removed in a future release, use `#{use}` instead"
|
159
|
+
end
|
138
160
|
end
|
139
161
|
end
|
140
162
|
end
|
@@ -1,20 +1,25 @@
|
|
1
|
-
verto_version '0.
|
1
|
+
verto_version '0.9.0'
|
2
|
+
|
3
|
+
config {
|
4
|
+
# version.prefix = 'v' # Adds a version_prefix
|
5
|
+
# pre_release.initial_number = 0 # Configures pre_release initial number, defaults to 1
|
6
|
+
# project.path = "#{project_path}" # Configures a custom project path
|
7
|
+
# git.pull_before_tag_creation = true # Pull Changes before tag creation
|
8
|
+
# git.push_after_tag_creation = true # Push changes after tag creation
|
9
|
+
}
|
2
10
|
|
3
11
|
context(branch('master')) {
|
4
|
-
|
5
|
-
git!('origin master')
|
12
|
+
before_command_tag_up {
|
13
|
+
git!('pull origin master')
|
6
14
|
command_options.add(filter: 'release_only')
|
7
15
|
}
|
8
16
|
|
9
|
-
|
10
|
-
|
17
|
+
before_tag_creation{
|
11
18
|
version_changes = ""
|
12
|
-
# Uncomment to get
|
13
|
-
#
|
19
|
+
# Uncomment to get Merged PRs Titles as changes to add in CHANGELOG.
|
20
|
+
# version_changes = sh(
|
14
21
|
# %q#git log --oneline --decorate | grep -B 100 -m 1 "tag:" | grep "pull request" | awk '{print $1}' | xargs git show --format='%b' | grep -v Approved | grep -v "^$" | grep -E "^[[:space:]]*\[.*\]" | sed 's/^[[:space:]]*\(.*\)/ * \1/'#, output: false
|
15
22
|
# ).output
|
16
|
-
# version_changes = bitbucket_changes
|
17
|
-
|
18
23
|
|
19
24
|
puts "---------------------------"
|
20
25
|
version_changes = "## #{new_version} - #{Time.now.strftime('%d/%m/%Y')}\n#{version_changes}\n"
|
@@ -35,7 +40,7 @@ context(branch('master')) {
|
|
35
40
|
git('commit -m "Updates CHANGELOG"')
|
36
41
|
}
|
37
42
|
|
38
|
-
|
43
|
+
after_command_tag_up {
|
39
44
|
git('push --tags')
|
40
45
|
git('push origin master')
|
41
46
|
}
|
@@ -43,18 +48,18 @@ context(branch('master')) {
|
|
43
48
|
|
44
49
|
# Uncomment to get a specific pre_release proccess, like a staging or qa branch
|
45
50
|
# context(branch('staging')) {
|
46
|
-
#
|
51
|
+
# before_command_tag_up {
|
47
52
|
# git!('pull origin staging')
|
48
53
|
# command_options.add(pre_release: 'rc')
|
49
54
|
# }
|
50
55
|
#
|
51
|
-
#
|
56
|
+
# before_tag_creation {
|
52
57
|
# file('package.json').replace(/"(\d+)\.(\d+)\.(\d+)(-?.*)"/, %Q{"#{new_version}"}) # Atualiza versão do package.json
|
53
58
|
# git('add package.json')
|
54
59
|
# git('commit --allow-empty -m "Staging Release"')
|
55
60
|
# }
|
56
61
|
|
57
|
-
#
|
62
|
+
# after_command_tag_up {
|
58
63
|
# git('push --tags')
|
59
64
|
# git('push origin staging')
|
60
65
|
# }
|
data/lib/verto/version.rb
CHANGED
data/verto.gemspec
CHANGED
@@ -13,9 +13,9 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.license = "MIT"
|
14
14
|
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
17
|
+
spec.metadata["source_code_uri"] = "https://github.com/catks/verto"
|
18
|
+
spec.metadata["changelog_uri"] = "https://github.com/catks/verto/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.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: verto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carlos Atkinson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -162,12 +162,14 @@ files:
|
|
162
162
|
- ".rspec"
|
163
163
|
- ".ruby-version"
|
164
164
|
- ".travis.yml"
|
165
|
+
- CHANGELOG.md
|
165
166
|
- Dockerfile
|
166
167
|
- Gemfile
|
167
168
|
- Gemfile.lock
|
168
169
|
- LICENSE.txt
|
169
170
|
- README.md
|
170
171
|
- Rakefile
|
172
|
+
- Vertofile
|
171
173
|
- bin/console
|
172
174
|
- bin/setup
|
173
175
|
- docker-entrypoint.sh
|
@@ -177,6 +179,7 @@ files:
|
|
177
179
|
- lib/verto/commands/main_command.rb
|
178
180
|
- lib/verto/commands/tag_command.rb
|
179
181
|
- lib/verto/dsl.rb
|
182
|
+
- lib/verto/dsl/built_in_hooks.rb
|
180
183
|
- lib/verto/dsl/file.rb
|
181
184
|
- lib/verto/dsl/hook.rb
|
182
185
|
- lib/verto/dsl/interpreter.rb
|
@@ -193,7 +196,10 @@ files:
|
|
193
196
|
homepage: https://github.com/catks/verto
|
194
197
|
licenses:
|
195
198
|
- MIT
|
196
|
-
metadata:
|
199
|
+
metadata:
|
200
|
+
homepage_uri: https://github.com/catks/verto
|
201
|
+
source_code_uri: https://github.com/catks/verto
|
202
|
+
changelog_uri: https://github.com/catks/verto/blob/master/CHANGELOG.md
|
197
203
|
post_install_message:
|
198
204
|
rdoc_options: []
|
199
205
|
require_paths:
|