papa 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +5 -0
- data/README.md +22 -2
- data/exe/papa +1 -1
- data/lib/papa/cli/hotfix.rb +27 -28
- data/lib/papa/cli/integration.rb +10 -9
- data/lib/papa/cli/main.rb +34 -0
- data/lib/papa/cli/release.rb +25 -38
- data/lib/papa/cli/sandbox.rb +14 -12
- data/lib/papa/command/base.rb +48 -0
- data/lib/papa/command/git/branch.rb +15 -0
- data/lib/papa/command/git/branch_delete.rb +14 -0
- data/lib/papa/command/git/checkout.rb +22 -0
- data/lib/papa/command/git/fetch.rb +22 -0
- data/lib/papa/command/git/merge.rb +33 -0
- data/lib/papa/command/git/merge_abort.rb +14 -0
- data/lib/papa/command/git/pull.rb +14 -0
- data/lib/papa/command/git/push.rb +14 -0
- data/lib/papa/command/git/push_force.rb +14 -0
- data/lib/papa/command/git/rebase.rb +39 -0
- data/lib/papa/command/git/rebase_abort.rb +14 -0
- data/lib/papa/command/git/reset_hard.rb +14 -0
- data/lib/papa/command/git/tag.rb +14 -0
- data/lib/papa/command/git/tag_push.rb +14 -0
- data/lib/papa/command/larga/deploy.rb +63 -0
- data/lib/papa/command/larga/type.rb +19 -0
- data/lib/papa/helper/output.rb +45 -0
- data/lib/papa/helper/path.rb +29 -0
- data/lib/papa/helper/vi.rb +63 -0
- data/lib/papa/{command_queue.rb → runner.rb} +3 -7
- data/lib/papa/task/common/add.rb +117 -0
- data/lib/papa/task/common/finish.rb +72 -0
- data/lib/papa/task/common/start.rb +44 -0
- data/lib/papa/task/deploy.rb +38 -0
- data/lib/papa/task/hotfix/add.rb +15 -0
- data/lib/papa/task/hotfix/finish.rb +17 -0
- data/lib/papa/task/hotfix/start.rb +15 -0
- data/lib/papa/task/integration/start.rb +22 -0
- data/lib/papa/task/release/add.rb +15 -0
- data/lib/papa/task/release/finish.rb +16 -0
- data/lib/papa/task/release/start.rb +15 -0
- data/lib/papa/{sandbox → task/sandbox}/branches/bugfix/4-fix-charmeleon-spelling/Gemfile +0 -0
- data/lib/papa/{sandbox → task/sandbox}/branches/bugfix/5-fix-gem-source/Gemfile +0 -0
- data/lib/papa/{sandbox → task/sandbox}/branches/feature/1-add-butterfree-gem/Gemfile +0 -0
- data/lib/papa/{sandbox → task/sandbox}/branches/feature/2-add-beedrill-gem/Gemfile +0 -0
- data/lib/papa/{sandbox → task/sandbox}/branches/feature/6-add-pidgeotto-gem/Gemfile +0 -0
- data/lib/papa/{sandbox → task/sandbox}/branches/feature/7-add-pidgeot-gem/Gemfile +0 -0
- data/lib/papa/{sandbox → task/sandbox}/branches/master/Gemfile +0 -0
- data/lib/papa/{sandbox → task/sandbox}/branches/patch/17.8.0/3-add-pidgey-gem/Gemfile +0 -0
- data/lib/papa/task/sandbox/clean.rb +23 -0
- data/lib/papa/task/sandbox/generate.rb +182 -0
- data/lib/papa/version.rb +1 -1
- data/lib/papa.rb +1 -9
- metadata +45 -40
- data/lib/papa/cli.rb +0 -34
- data/lib/papa/command.rb +0 -45
- data/lib/papa/common/add.rb +0 -101
- data/lib/papa/common/finish.rb +0 -56
- data/lib/papa/common/start.rb +0 -31
- data/lib/papa/common.rb +0 -4
- data/lib/papa/deploy.rb +0 -48
- data/lib/papa/git/checkout.rb +0 -16
- data/lib/papa/git/fetch.rb +0 -16
- data/lib/papa/git/merge.rb +0 -29
- data/lib/papa/git/rebase.rb +0 -29
- data/lib/papa/git.rb +0 -71
- data/lib/papa/helpers/path.rb +0 -27
- data/lib/papa/helpers/vi.rb +0 -60
- data/lib/papa/helpers.rb +0 -4
- data/lib/papa/hotfix/add.rb +0 -9
- data/lib/papa/hotfix/finish.rb +0 -11
- data/lib/papa/hotfix/start.rb +0 -9
- data/lib/papa/integration/start.rb +0 -17
- data/lib/papa/larga/deploy.rb +0 -36
- data/lib/papa/larga/type.rb +0 -12
- data/lib/papa/larga.rb +0 -18
- data/lib/papa/output.rb +0 -43
- data/lib/papa/release/add.rb +0 -9
- data/lib/papa/release/finish.rb +0 -10
- data/lib/papa/release/patch.rb +0 -30
- data/lib/papa/release/start.rb +0 -9
- data/lib/papa/sandbox/clean.rb +0 -17
- data/lib/papa/sandbox/generate.rb +0 -176
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'papa/command/base'
|
2
|
+
|
3
|
+
module Papa
|
4
|
+
module Command
|
5
|
+
module Larga
|
6
|
+
class Deploy < Command::Base
|
7
|
+
RELEASE_OR_HOTFIX_LIFESPAN = '3d'
|
8
|
+
DEFAULT_LIFESPAN = '4h'
|
9
|
+
RELEASE_OR_HOTFIX_PROTECTION = 'off'
|
10
|
+
DEFAULT_PROTECTION = 'on'
|
11
|
+
|
12
|
+
def initialize(options)
|
13
|
+
@options = options
|
14
|
+
|
15
|
+
command = "larga #{larga_options.join(' ')}"
|
16
|
+
super(command, silent: false)
|
17
|
+
end
|
18
|
+
|
19
|
+
def failed?
|
20
|
+
stdout.include? 'Cowardly refusing'
|
21
|
+
end
|
22
|
+
|
23
|
+
def failure_message
|
24
|
+
message = "Error while running #{command.bold}"
|
25
|
+
Helper::Output.error message
|
26
|
+
message = 'Larga output:' + @stdout
|
27
|
+
Helper::Output.stderr message
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def larga_options
|
33
|
+
branch = @options[:branch]
|
34
|
+
lifespan =
|
35
|
+
if branch_is_release_or_hotfix?
|
36
|
+
RELEASE_OR_HOTFIX_LIFESPAN
|
37
|
+
else
|
38
|
+
DEFAULT_LIFESPAN
|
39
|
+
end
|
40
|
+
protection =
|
41
|
+
if branch_is_release_or_hotfix?
|
42
|
+
RELEASE_OR_HOTFIX_PROTECTION
|
43
|
+
else
|
44
|
+
DEFAULT_PROTECTION
|
45
|
+
end
|
46
|
+
hostname = @options[:hostname]
|
47
|
+
|
48
|
+
options = []
|
49
|
+
options << '-action deploy'
|
50
|
+
options << "-branch #{branch}"
|
51
|
+
options << "-lifespan #{lifespan}"
|
52
|
+
options << "-protection #{protection}"
|
53
|
+
options << "-hostname #{hostname}" if hostname
|
54
|
+
options
|
55
|
+
end
|
56
|
+
|
57
|
+
def branch_is_release_or_hotfix?
|
58
|
+
['release', 'hotfix'].any? { |s| @options[:branch].include?(s) }
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'papa/command/base'
|
2
|
+
|
3
|
+
module Papa
|
4
|
+
module Command
|
5
|
+
module Larga
|
6
|
+
class Type < Command::Base
|
7
|
+
def initialize
|
8
|
+
command = 'type larga'
|
9
|
+
super(command)
|
10
|
+
end
|
11
|
+
|
12
|
+
def failure_message
|
13
|
+
super
|
14
|
+
Helper::Output.stderr 'Larga is not installed in this system'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'date'
|
2
|
+
|
3
|
+
module Papa
|
4
|
+
module Helper
|
5
|
+
class Helper::Output
|
6
|
+
REDIRECT_TO_NULL = '> /dev/null 2>&1'
|
7
|
+
|
8
|
+
def self.stdout(message, options = {})
|
9
|
+
puts build_output(message)
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.stderr(message, options = {})
|
13
|
+
STDERR.puts build_output(message)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.error(message)
|
17
|
+
stderr("ERROR: #{message}")
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.success(message)
|
21
|
+
puts
|
22
|
+
puts message.strip.green
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.failure(message)
|
26
|
+
STDERR.puts
|
27
|
+
STDERR.puts message.strip.red
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.failure_reason(messages)
|
31
|
+
messages.each do |message|
|
32
|
+
STDERR.puts " #{message}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.build_output(message)
|
37
|
+
"[#{timestamp}] - #{message}"
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.timestamp
|
41
|
+
DateTime.now.strftime('%H:%M:%S')
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'securerandom'
|
2
|
+
|
3
|
+
module Papa
|
4
|
+
module Helper
|
5
|
+
class Path
|
6
|
+
TMP_PATH = '/tmp/'
|
7
|
+
VI_PREFIX = 'papa-vi-'
|
8
|
+
SANDBOX_PREFIX = 'papa-sandbox-'
|
9
|
+
|
10
|
+
def self.generate_vi_file_path
|
11
|
+
File.join(TMP_PATH, VI_PREFIX + uuid_gen + '.txt')
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.generate_sandbox_path(type, options = {})
|
15
|
+
path =
|
16
|
+
if options.has_key?('override_path_prefix')
|
17
|
+
options[:override_path_prefix] + '-' + type
|
18
|
+
else
|
19
|
+
SANDBOX_PREFIX + type + '-' + uuid_gen
|
20
|
+
end
|
21
|
+
File.join(TMP_PATH, path)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.uuid_gen
|
25
|
+
SecureRandom.uuid
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'papa/helper/path'
|
2
|
+
require 'papa/command/base'
|
3
|
+
|
4
|
+
module Papa
|
5
|
+
module Helper
|
6
|
+
class Vi
|
7
|
+
attr_accessor :path, :branches
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@path = Helper::Path.generate_vi_file_path
|
11
|
+
@branches = []
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
initialize_file
|
16
|
+
prompt_vi
|
17
|
+
read_from_file
|
18
|
+
delete_file
|
19
|
+
validate_branches
|
20
|
+
branches
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def initialize_file
|
26
|
+
content = <<-CONTENT
|
27
|
+
# Add your branches here. One branch name per line.
|
28
|
+
# Lines starting in pound (#) will be ignored
|
29
|
+
# Sample:
|
30
|
+
# feature/1-add-butterfree-gem
|
31
|
+
# feature/2-add-beedrill-gem
|
32
|
+
CONTENT
|
33
|
+
File.open(path, 'w') { |file| file.write(content) }
|
34
|
+
end
|
35
|
+
|
36
|
+
def prompt_vi
|
37
|
+
system('vi', path)
|
38
|
+
end
|
39
|
+
|
40
|
+
def read_from_file
|
41
|
+
@branches = File.read(path).chomp.split("\n").map do |branch|
|
42
|
+
branch.strip!
|
43
|
+
if branch.empty? || branch[0] == '#'
|
44
|
+
nil
|
45
|
+
else
|
46
|
+
branch
|
47
|
+
end
|
48
|
+
end.compact
|
49
|
+
end
|
50
|
+
|
51
|
+
def delete_file
|
52
|
+
Command::Base.new("rm #{path}", silent: true).run
|
53
|
+
end
|
54
|
+
|
55
|
+
def validate_branches
|
56
|
+
if @branches.empty?
|
57
|
+
Helper::Output.failure 'No branches specified.'
|
58
|
+
exit 1
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -1,13 +1,9 @@
|
|
1
1
|
module Papa
|
2
|
-
class
|
2
|
+
class Runner
|
3
3
|
attr_accessor :queue, :last_command, :success, :last_error
|
4
4
|
|
5
|
-
def initialize
|
6
|
-
@queue = []
|
7
|
-
end
|
8
|
-
|
9
|
-
def add(command)
|
10
|
-
@queue.push command
|
5
|
+
def initialize(queue)
|
6
|
+
@queue = queue || []
|
11
7
|
end
|
12
8
|
|
13
9
|
def run
|
@@ -0,0 +1,117 @@
|
|
1
|
+
require 'papa/helper/output'
|
2
|
+
require 'papa/command/git/fetch'
|
3
|
+
require 'papa/command/git/checkout'
|
4
|
+
require 'papa/command/git/reset_hard'
|
5
|
+
require 'papa/command/git/rebase'
|
6
|
+
require 'papa/command/git/push_force'
|
7
|
+
require 'papa/command/git/merge'
|
8
|
+
require 'papa/command/git/push'
|
9
|
+
require 'papa/command/git/branch_delete'
|
10
|
+
require 'papa/runner'
|
11
|
+
|
12
|
+
module Papa
|
13
|
+
module Task
|
14
|
+
module Common
|
15
|
+
class Add
|
16
|
+
def run
|
17
|
+
check_branches
|
18
|
+
|
19
|
+
@build_branch ||= "#{@build_type}/#{@version}"
|
20
|
+
|
21
|
+
success = true
|
22
|
+
@success_branches = []
|
23
|
+
@failed_branches = []
|
24
|
+
|
25
|
+
Helper::Output.stdout "Started adding branches to #{@build_branch.bold}."
|
26
|
+
|
27
|
+
@branches.each_with_index do |branch, index|
|
28
|
+
Helper::Output.stdout "Adding branch #{branch.bold} (#{index + 1} of #{@branches.count})..."
|
29
|
+
queue = [
|
30
|
+
Command::Git::Fetch.new('origin'),
|
31
|
+
Command::Git::Checkout.new(@build_branch),
|
32
|
+
Command::Git::Checkout.new(branch),
|
33
|
+
Command::Git::ResetHard.new('origin', branch),
|
34
|
+
Command::Git::Rebase.new(@build_branch),
|
35
|
+
Command::Git::PushForce.new('origin', branch),
|
36
|
+
Command::Git::Checkout.new(@build_branch),
|
37
|
+
Command::Git::Merge.new(branch),
|
38
|
+
Command::Git::Push.new('origin', @build_branch)
|
39
|
+
]
|
40
|
+
runner = Runner.new(queue)
|
41
|
+
|
42
|
+
if runner.run
|
43
|
+
@success_branches << branch
|
44
|
+
else
|
45
|
+
failed_branch = {
|
46
|
+
branch: branch,
|
47
|
+
message: runner.last_error
|
48
|
+
}
|
49
|
+
@failed_branches << failed_branch
|
50
|
+
success = false
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
success_message
|
55
|
+
failure_message
|
56
|
+
|
57
|
+
if success
|
58
|
+
success_cleanup
|
59
|
+
else
|
60
|
+
failure_cleanup
|
61
|
+
exit 1
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
private
|
66
|
+
|
67
|
+
def check_branches
|
68
|
+
return unless @branches.empty?
|
69
|
+
require 'papa/helper/vi'
|
70
|
+
vi_file_helper = Helper::Vi.new
|
71
|
+
@branches = vi_file_helper.run
|
72
|
+
end
|
73
|
+
|
74
|
+
def success_cleanup
|
75
|
+
queue = @branches.map { |branch| Command::Git::BranchDelete.new(branch) }
|
76
|
+
Runner.new(queue).run
|
77
|
+
end
|
78
|
+
|
79
|
+
def success_message
|
80
|
+
return if @success_branches.empty?
|
81
|
+
output = ''
|
82
|
+
output << "Successfully added these branches to #{@build_branch}:\n"
|
83
|
+
@success_branches.each_with_index do |branch, index|
|
84
|
+
output << " #{index + 1}.) #{branch}\n"
|
85
|
+
end
|
86
|
+
Helper::Output.success output
|
87
|
+
end
|
88
|
+
|
89
|
+
def failure_cleanup
|
90
|
+
end
|
91
|
+
|
92
|
+
def failure_message
|
93
|
+
return if @failed_branches.empty?
|
94
|
+
|
95
|
+
output = ''
|
96
|
+
|
97
|
+
output << "Failed to add these branches to #{@build_branch}:\n"
|
98
|
+
@failed_branches.each_with_index do |failed_branch, index|
|
99
|
+
branch = failed_branch[:branch]
|
100
|
+
message = failed_branch[:message]
|
101
|
+
output << " #{index + 1}.) #{branch}\n"
|
102
|
+
output << " - #{message}\n"
|
103
|
+
end
|
104
|
+
|
105
|
+
output << "\n"
|
106
|
+
|
107
|
+
branch_names = @failed_branches.map { |f| f[:branch] }
|
108
|
+
|
109
|
+
output << "When the above problems are resolved, you can re-run this with:\n"
|
110
|
+
output << " papa #{@build_type} add -v #{@version} -b #{branch_names.join(' ')}"
|
111
|
+
|
112
|
+
Helper::Output.failure output
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'papa/command/git/fetch'
|
2
|
+
require 'papa/command/git/checkout'
|
3
|
+
require 'papa/command/git/merge'
|
4
|
+
require 'papa/command/git/push'
|
5
|
+
require 'papa/command/git/tag'
|
6
|
+
require 'papa/command/git/tag_push'
|
7
|
+
require 'papa/runner'
|
8
|
+
require 'papa/helper/output'
|
9
|
+
|
10
|
+
module Papa
|
11
|
+
module Task
|
12
|
+
module Common
|
13
|
+
class Finish
|
14
|
+
def run
|
15
|
+
@build_branch ||= "#{@build_type}/#{@version}"
|
16
|
+
|
17
|
+
success = true
|
18
|
+
@success_branches = []
|
19
|
+
|
20
|
+
@base_branches.each do |branch|
|
21
|
+
queue = [
|
22
|
+
Command::Git::Fetch.new('origin'),
|
23
|
+
Command::Git::Checkout.new(@build_branch),
|
24
|
+
Command::Git::Checkout.new(branch),
|
25
|
+
Command::Git::Merge.new(@build_branch),
|
26
|
+
Command::Git::Push.new('origin', branch)
|
27
|
+
]
|
28
|
+
if @tag_name && branch == 'master'
|
29
|
+
queue << Command::Git::Tag.new(@tag_name)
|
30
|
+
queue << Command::Git::TagPush.new('origin', @tag_name)
|
31
|
+
end
|
32
|
+
runner = Runner.new(queue)
|
33
|
+
|
34
|
+
if runner.run
|
35
|
+
@success_branches << branch
|
36
|
+
else
|
37
|
+
success = false
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
success_message if !@success_branches.empty?
|
42
|
+
|
43
|
+
if !success
|
44
|
+
failure_message
|
45
|
+
exit 1
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def success_message
|
52
|
+
output = ''
|
53
|
+
output << "Successfully merged #{@build_branch} to these branches:\n"
|
54
|
+
@success_branches.each_with_index do |branch, index|
|
55
|
+
output << " #{index + 1}.) #{branch}\n"
|
56
|
+
end
|
57
|
+
Helper::Output.success output
|
58
|
+
end
|
59
|
+
|
60
|
+
def failure_message
|
61
|
+
failed_branches = @base_branches - @success_branches
|
62
|
+
output = ''
|
63
|
+
output << "Failed to merge #{@build_branch} to these branches:\n"
|
64
|
+
failed_branches.each_with_index do |branch, index|
|
65
|
+
output << " #{index + 1}.) #{branch}\n"
|
66
|
+
end
|
67
|
+
Helper::Output.failure output
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'papa/command/git/fetch'
|
2
|
+
require 'papa/command/git/checkout'
|
3
|
+
require 'papa/command/git/branch'
|
4
|
+
require 'papa/command/git/push'
|
5
|
+
require 'papa/runner'
|
6
|
+
require 'papa/helper/output'
|
7
|
+
|
8
|
+
module Papa
|
9
|
+
module Task
|
10
|
+
module Common
|
11
|
+
class Start
|
12
|
+
def run
|
13
|
+
@build_branch ||= "#{@build_type}/#{@version}"
|
14
|
+
|
15
|
+
queue = [
|
16
|
+
Command::Git::Fetch.new('origin'),
|
17
|
+
Command::Git::Checkout.new(@base_branch),
|
18
|
+
Command::Git::Branch.new(@build_branch),
|
19
|
+
Command::Git::Checkout.new(@build_branch),
|
20
|
+
Command::Git::Push.new('origin', @build_branch)
|
21
|
+
]
|
22
|
+
runner = Runner.new(queue)
|
23
|
+
|
24
|
+
if runner.run
|
25
|
+
success_message
|
26
|
+
else
|
27
|
+
failure_message
|
28
|
+
exit 1
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def success_message
|
35
|
+
Helper::Output.success "Successfully started new #{@build_type} branch #{@build_branch}"
|
36
|
+
end
|
37
|
+
|
38
|
+
def failure_message
|
39
|
+
Helper::Output.failure "There was a problem starting #{@build_type} branch: #{@build_branch}"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'papa/command/larga/type'
|
2
|
+
require 'papa/command/larga/deploy'
|
3
|
+
require 'papa/runner'
|
4
|
+
|
5
|
+
module Papa
|
6
|
+
module Task
|
7
|
+
class Deploy
|
8
|
+
def initialize(options = {})
|
9
|
+
@options = options
|
10
|
+
end
|
11
|
+
|
12
|
+
def run
|
13
|
+
queue = [
|
14
|
+
Command::Larga::Type.new,
|
15
|
+
Command::Larga::Deploy.new(@options)
|
16
|
+
]
|
17
|
+
runner = Runner.new(queue)
|
18
|
+
|
19
|
+
if runner.run
|
20
|
+
success_message
|
21
|
+
else
|
22
|
+
failure_message
|
23
|
+
exit 1
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def success_message
|
30
|
+
Helper::Output.success 'Successfully deployed larga instance.'
|
31
|
+
end
|
32
|
+
|
33
|
+
def failure_message
|
34
|
+
Helper::Output.failure 'There was a problem deploying larga instance.'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'papa/task/common/add'
|
2
|
+
|
3
|
+
module Papa
|
4
|
+
module Task
|
5
|
+
module Hotfix
|
6
|
+
class Add < Common::Add
|
7
|
+
def initialize(version:, bugfix_branches:)
|
8
|
+
@build_type = 'hotfix'
|
9
|
+
@version = version
|
10
|
+
@branches = bugfix_branches
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'papa/task/common/finish'
|
2
|
+
|
3
|
+
module Papa
|
4
|
+
module Task
|
5
|
+
module Hotfix
|
6
|
+
class Finish < Common::Finish
|
7
|
+
def initialize(version:, additional_branches:)
|
8
|
+
@build_type = 'hotfix'
|
9
|
+
@version = version
|
10
|
+
additional_branches ||= []
|
11
|
+
@tag_name = version
|
12
|
+
@base_branches = ['develop', 'master'] + additional_branches
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'papa/task/common/start'
|
2
|
+
require 'date'
|
3
|
+
|
4
|
+
module Papa
|
5
|
+
module Task
|
6
|
+
module Integration
|
7
|
+
class Start < Common::Start
|
8
|
+
def initialize(base_branch:)
|
9
|
+
@build_type = 'integration'
|
10
|
+
@base_branch = base_branch
|
11
|
+
@build_branch = generate_integration_branch_name
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def generate_integration_branch_name
|
17
|
+
"integration/#{DateTime.now.strftime('%y.%m.%d.%H.%M').gsub('.0', '.')}"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'papa/task/common/add'
|
2
|
+
|
3
|
+
module Papa
|
4
|
+
module Task
|
5
|
+
module Release
|
6
|
+
class Add < Common::Add
|
7
|
+
def initialize(version:, feature_branches:)
|
8
|
+
@build_type = "release"
|
9
|
+
@version = version
|
10
|
+
@branches = feature_branches
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'papa/task/common/finish'
|
2
|
+
|
3
|
+
module Papa
|
4
|
+
module Task
|
5
|
+
module Release
|
6
|
+
class Finish < Common::Finish
|
7
|
+
def initialize(version:)
|
8
|
+
@build_type = 'release'
|
9
|
+
@version = version
|
10
|
+
@tag_name = version
|
11
|
+
@base_branches = ['develop', 'master']
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'papa/helper/path'
|
2
|
+
require 'papa/command/base'
|
3
|
+
|
4
|
+
module Papa
|
5
|
+
module Task
|
6
|
+
module Sandbox
|
7
|
+
class Clean
|
8
|
+
attr_accessor :options
|
9
|
+
|
10
|
+
def initialize(options = {})
|
11
|
+
@options = options
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
Helper::Output.stdout('Started cleaning sandbox directories...') unless options[:silent]
|
16
|
+
path = File.join(Helper::Path::TMP_PATH, Helper::Path::SANDBOX_PREFIX)
|
17
|
+
Command::Base.new("rm -rf #{path}*").run
|
18
|
+
Helper::Output.success('Successfully removed sandbox directories.')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|