buildizer 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Gemfile.lock +3 -5
- data/bin/buildizer +1 -1
- data/buildizer.gemspec +1 -0
- data/lib/buildizer/builder/base.rb +30 -35
- data/lib/buildizer/builder/fpm.rb +10 -10
- data/lib/buildizer/builder/patch.rb +2 -2
- data/lib/buildizer/{packager → buildizer}/buildizer_conf_mod.rb +3 -5
- data/lib/buildizer/{packager → buildizer}/ci_mod.rb +2 -2
- data/lib/buildizer/{packager → buildizer}/docker_cache_mod.rb +12 -9
- data/lib/buildizer/{packager → buildizer}/git_mod.rb +2 -2
- data/lib/buildizer/{packager → buildizer}/misc_mod.rb +34 -6
- data/lib/buildizer/{packager → buildizer}/overcommit_mod.rb +26 -13
- data/lib/buildizer/{packager → buildizer}/package_cloud_mod.rb +11 -9
- data/lib/buildizer/{packager → buildizer}/package_version_tag_mod.rb +2 -4
- data/lib/buildizer/{packager → buildizer}/project_settings_mod.rb +5 -7
- data/lib/buildizer/{packager → buildizer}/user_settings_mod.rb +4 -6
- data/lib/buildizer/{packager.rb → buildizer.rb} +29 -33
- data/lib/buildizer/ci/base.rb +8 -6
- data/lib/buildizer/ci/travis/docker_cache_mod.rb +9 -9
- data/lib/buildizer/ci/travis/package_cloud_mod.rb +8 -8
- data/lib/buildizer/ci/travis/package_version_tag_mod.rb +3 -5
- data/lib/buildizer/ci/travis.rb +18 -14
- data/lib/buildizer/cli/base.rb +3 -2
- data/lib/buildizer/cli/main.rb +14 -14
- data/lib/buildizer/core_ext/false_class.rb +5 -0
- data/lib/buildizer/core_ext/hash.rb +48 -0
- data/lib/buildizer/core_ext/pathname.rb +17 -0
- data/lib/buildizer/core_ext/string.rb +17 -0
- data/lib/buildizer/core_ext/true_class.rb +5 -0
- data/lib/buildizer/docker.rb +34 -31
- data/lib/buildizer/target/base.rb +1 -5
- data/lib/buildizer/version.rb +1 -1
- data/lib/buildizer.rb +7 -2
- metadata +38 -14
- data/lib/buildizer/refine.rb +0 -42
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NTFhMmM1N2Y4NzhjOWNkMWRlMWFhMTlmOGQ5YzU0M2FkYTg3NDc0Yg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjQ5OTYxZGJiMWJkZGNiNjBjMzkwYjFiZTRkYzMxZWZiYmY5ODIwMw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDZlNTZiNmFiOTBmZmFiYzczNWQ1NGI0MWVkODk4NDYwZjcwZmM1MDc5MDRk
|
10
|
+
ZjU1MmNiMDU3MTRiMTYzOTM0YmQxMDM2NjE0MjM5YjZjODRiYzRmMTA5NGY0
|
11
|
+
ZTg0ZDQ3MTFmMWVjNzYyNzY4ZjdlYzEzYzU4YjFiNWQ4MDU1YTI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MGExOGQ3ZjViMDVmZGE0MDg2ZjE2NjU2MTI3ZTcwNjFhM2U0MmM5YjFiZjNk
|
14
|
+
NDU2ZGNmNmVmMjcyNjczZjlhMTA0OTBmNDU5ZGZmYzQxNDg3YTdlZGY1YzI1
|
15
|
+
NzA4NmJiYWVhMDFlOWUyZmQ0MjUzNzgyMjEyMDQwZTFiMTQ1OGY=
|
data/Gemfile.lock
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
GIT
|
2
2
|
remote: https://github.com/flant/shellfold.git
|
3
|
-
revision:
|
3
|
+
revision: 4704e2ffe717268e1316b66db34e5f9a1aafabee
|
4
4
|
specs:
|
5
5
|
shellfold (0.0.3)
|
6
6
|
mixlib-shellout (>= 2.2.6, < 3.0)
|
@@ -8,7 +8,8 @@ GIT
|
|
8
8
|
PATH
|
9
9
|
remote: .
|
10
10
|
specs:
|
11
|
-
buildizer (0.0
|
11
|
+
buildizer (0.1.0)
|
12
|
+
colorize (>= 0.6.0, < 1.0)
|
12
13
|
net_status (>= 0.0.1, < 1.0)
|
13
14
|
overcommit (>= 0.33.0, < 1.0)
|
14
15
|
package_cloud (>= 0.2, < 1.0)
|
@@ -118,6 +119,3 @@ DEPENDENCIES
|
|
118
119
|
rspec (~> 3.4, >= 3.4.0)
|
119
120
|
shellfold!
|
120
121
|
travis (~> 1.8, >= 1.8.2)
|
121
|
-
|
122
|
-
BUNDLED WITH
|
123
|
-
1.11.2
|
data/bin/buildizer
CHANGED
data/buildizer.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_dependency "shellfold", ">= 0.0.1", "< 1.0"
|
22
22
|
spec.add_dependency "package_cloud", ">= 0.2", "< 1.0"
|
23
23
|
spec.add_dependency "overcommit", ">= 0.33.0", "< 1.0"
|
24
|
+
spec.add_dependency "colorize", ">= 0.6.0", "< 1.0"
|
24
25
|
|
25
26
|
spec.add_development_dependency "bundler", "~> 1.7"
|
26
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
@@ -1,19 +1,14 @@
|
|
1
1
|
module Buildizer
|
2
2
|
module Builder
|
3
3
|
class Base
|
4
|
-
|
5
|
-
|
6
|
-
attr_reader :packager
|
4
|
+
attr_reader :buildizer
|
7
5
|
attr_reader :work_path
|
8
6
|
attr_reader :docker
|
9
7
|
|
10
|
-
def initialize(
|
11
|
-
@
|
12
|
-
|
13
|
-
@
|
14
|
-
work_path.mkpath
|
15
|
-
|
16
|
-
@docker = Docker.new(self, cache: packager.docker_cache)
|
8
|
+
def initialize(buildizer)
|
9
|
+
@buildizer = buildizer
|
10
|
+
@work_path = buildizer.work_path.join('builder').expand_path
|
11
|
+
@docker = Docker.new(self, cache: buildizer.docker_cache)
|
17
12
|
end
|
18
13
|
|
19
14
|
def build_type
|
@@ -36,7 +31,7 @@ module Buildizer
|
|
36
31
|
image = docker.new_image(os_name, os_version)
|
37
32
|
|
38
33
|
params = initial_target_params
|
39
|
-
|
34
|
+
buildizer.buildizer_conf.each do |match_key, match_params|
|
40
35
|
match_os_name, match_os_version, match_target_tag = match_key.to_s.split('/', 3)
|
41
36
|
if image.os_name.match_glob?(match_os_name) and
|
42
37
|
( match_os_version.nil? or image.os_version.match_glob?(match_os_version) ) and
|
@@ -54,18 +49,18 @@ module Buildizer
|
|
54
49
|
end
|
55
50
|
|
56
51
|
def targets
|
57
|
-
@targets ||=
|
52
|
+
@targets ||= buildizer.targets.map {|target_name| new_target(target_name)}
|
58
53
|
end
|
59
54
|
|
60
55
|
def initial_target_params
|
61
56
|
{}.tap do |params|
|
62
|
-
params[:package_name] =
|
63
|
-
params[:package_version] =
|
64
|
-
params[:package_cloud] =
|
65
|
-
params[:prepare] =
|
66
|
-
params[:build_dep] =
|
67
|
-
params[:before_build] =
|
68
|
-
params[:maintainer] =
|
57
|
+
params[:package_name] = buildizer.package_name
|
58
|
+
params[:package_version] = buildizer.package_version
|
59
|
+
params[:package_cloud] = buildizer.package_cloud
|
60
|
+
params[:prepare] = buildizer.prepare
|
61
|
+
params[:build_dep] = buildizer.build_dep
|
62
|
+
params[:before_build] = buildizer.before_build
|
63
|
+
params[:maintainer] = buildizer.maintainer
|
69
64
|
end
|
70
65
|
end
|
71
66
|
|
@@ -114,13 +109,13 @@ module Buildizer
|
|
114
109
|
|
115
110
|
def prepare
|
116
111
|
docker.with_cache do
|
117
|
-
|
118
|
-
|
112
|
+
buildizer.before_prepare
|
113
|
+
.each {|cmd| buildizer.command! cmd, desc: "Before prepare command: #{cmd}"}
|
119
114
|
|
120
115
|
targets.each {|target| prepare_target_image(target)}
|
121
116
|
|
122
|
-
|
123
|
-
|
117
|
+
buildizer.after_prepare
|
118
|
+
.each {|cmd| buildizer.command! cmd, desc: "After prepare command: #{cmd}"}
|
124
119
|
end # with_cache
|
125
120
|
end
|
126
121
|
|
@@ -158,27 +153,27 @@ module Buildizer
|
|
158
153
|
end
|
159
154
|
|
160
155
|
def deploy
|
161
|
-
if
|
162
|
-
not
|
156
|
+
if buildizer.package_version_tag_required_for_deploy? and
|
157
|
+
not buildizer.package_version_tag
|
163
158
|
puts "package_version_tag (env TRAVIS_TAG or CI_BUILD_TAG) required: ignoring deploy"
|
164
159
|
return
|
165
|
-
elsif
|
166
|
-
warn "No package cloud settings " +
|
167
|
-
|
160
|
+
elsif buildizer.package_cloud.empty?
|
161
|
+
buildizer.warn "No package cloud settings " +
|
162
|
+
"(PACKAGECLOUD, PACKAGECLOUD_TOKEN, PACKAGECLOUD_TOKEN_<ORG>)"
|
168
163
|
return
|
169
164
|
end
|
170
165
|
|
171
|
-
|
166
|
+
buildizer.package_cloud_org.each do |org, token|
|
172
167
|
unless token
|
173
|
-
warn "No package cloud token defined for org '#{org}' " +
|
174
|
-
|
168
|
+
buildizer.warn "No package cloud token defined for org '#{org}' " +
|
169
|
+
"(PACKAGECLOUD_TOKEN or PACKAGECLOUD_TOKEN_#{org.upcase})"
|
175
170
|
end
|
176
171
|
end
|
177
172
|
|
178
173
|
targets.map do |target|
|
179
174
|
target.tap do
|
180
|
-
if
|
181
|
-
|
175
|
+
if buildizer.package_version_tag_required_for_deploy? and
|
176
|
+
buildizer.package_version_tag != target.package_version_tag
|
182
177
|
raise(Error, error: :logical_error,
|
183
178
|
message: "#{target.package_version_tag_param_name} and "+
|
184
179
|
"package_version_tag (env TRAVIS_TAG or CI_BUILD_TAG) " +
|
@@ -200,12 +195,12 @@ module Buildizer
|
|
200
195
|
)
|
201
196
|
end
|
202
197
|
}.flatten.each {|desc|
|
203
|
-
|
198
|
+
buildizer.command desc[:yank],
|
204
199
|
desc: ["Package cloud yank package '#{desc[:package]}'",
|
205
200
|
" of target '#{target.name}'"].join,
|
206
201
|
environment: {'PACKAGECLOUD_TOKEN' => desc[:token]}
|
207
202
|
|
208
|
-
|
203
|
+
buildizer.command desc[:push],
|
209
204
|
desc: ["Package cloud push package '#{desc[:package]}'",
|
210
205
|
" of target '#{target.name}'"].join,
|
211
206
|
environment: {'PACKAGECLOUD_TOKEN' =>desc[:token]}
|
@@ -15,15 +15,15 @@ module Buildizer
|
|
15
15
|
|
16
16
|
def initial_target_params
|
17
17
|
super.tap do |params|
|
18
|
-
params[:fpm_script] = Array(
|
19
|
-
params[:fpm_config_files] =
|
20
|
-
params[:fpm_files] =
|
21
|
-
params[:fpm_conflicts] = Array(
|
22
|
-
params[:fpm_replaces] = Array(
|
23
|
-
params[:fpm_provides] = Array(
|
24
|
-
params[:fpm_depends] = Array(
|
25
|
-
params[:fpm_description] =
|
26
|
-
params[:fpm_url] =
|
18
|
+
params[:fpm_script] = Array(buildizer.buildizer_conf['fpm_script'])
|
19
|
+
params[:fpm_config_files] = buildizer.buildizer_conf['fpm_config_files'].to_h
|
20
|
+
params[:fpm_files] = buildizer.buildizer_conf['fpm_files'].to_h
|
21
|
+
params[:fpm_conflicts] = Array(buildizer.buildizer_conf['fpm_conflicts'])
|
22
|
+
params[:fpm_replaces] = Array(buildizer.buildizer_conf['fpm_replaces'])
|
23
|
+
params[:fpm_provides] = Array(buildizer.buildizer_conf['fpm_provides'])
|
24
|
+
params[:fpm_depends] = Array(buildizer.buildizer_conf['fpm_depends'])
|
25
|
+
params[:fpm_description] = buildizer.buildizer_conf['fpm_description']
|
26
|
+
params[:fpm_url] = buildizer.buildizer_conf['fpm_url']
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -75,7 +75,7 @@ module Buildizer
|
|
75
75
|
end
|
76
76
|
|
77
77
|
fpm_script.values.map do |desc|
|
78
|
-
desc[:file].write ["#!/bin/bash", *desc[:cmd], nil].join("\n")
|
78
|
+
desc[:file].write! ["#!/bin/bash", *desc[:cmd], nil].join("\n")
|
79
79
|
desc[:file].chmod 0755
|
80
80
|
end
|
81
81
|
|
@@ -11,8 +11,8 @@ module Buildizer
|
|
11
11
|
|
12
12
|
def initial_target_params
|
13
13
|
super.tap do |params|
|
14
|
-
params[:patch] = Array(
|
15
|
-
params[:patch_version] =
|
14
|
+
params[:patch] = Array(buildizer.buildizer_conf['patch'])
|
15
|
+
params[:patch_version] = buildizer.buildizer_conf['patch_version']
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -1,8 +1,6 @@
|
|
1
1
|
module Buildizer
|
2
|
-
class
|
2
|
+
class Buildizer
|
3
3
|
module BuildizerConfMod
|
4
|
-
using Refine
|
5
|
-
|
6
4
|
def buildizer_conf_path
|
7
5
|
package_path.join('Buildizer')
|
8
6
|
end
|
@@ -16,7 +14,7 @@ module Buildizer
|
|
16
14
|
end
|
17
15
|
|
18
16
|
def buildizer_conf_setup!
|
19
|
-
|
17
|
+
write_yaml(buildizer_conf_path, buildizer_conf)
|
20
18
|
end
|
21
19
|
|
22
20
|
def package_name
|
@@ -59,5 +57,5 @@ module Buildizer
|
|
59
57
|
buildizer_conf['maintainer']
|
60
58
|
end
|
61
59
|
end # BuildizerConfMod
|
62
|
-
end #
|
60
|
+
end # Buildizer
|
63
61
|
end # Buildizer
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Buildizer
|
2
|
-
class
|
2
|
+
class Buildizer
|
3
3
|
module DockerCacheMod
|
4
4
|
def docker_cache
|
5
5
|
return unless repo = ENV['BUILDIZER_DOCKER_CACHE']
|
@@ -11,7 +11,7 @@ module Buildizer
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def setup_docker_cache_repo
|
14
|
-
|
14
|
+
options[:docker_cache]
|
15
15
|
end
|
16
16
|
|
17
17
|
def setup_docker_cache_org
|
@@ -19,14 +19,17 @@ module Buildizer
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def setup_docker_cache_user
|
22
|
-
|
22
|
+
options[:docker_cache_user] || user_settings_docker_cache_user_list(setup_docker_cache_org).first
|
23
23
|
end
|
24
24
|
|
25
25
|
def setup_docker_cache_password
|
26
26
|
@setup_docker_cache_password ||= begin
|
27
27
|
settings_password = user_settings_docker_cache_user(setup_docker_cache_user)['password']
|
28
|
-
if
|
29
|
-
|
28
|
+
if options[:reset_docker_cache_password] or settings_password.nil?
|
29
|
+
secure_option(
|
30
|
+
:docker_cache_password,
|
31
|
+
ask: "Docker cache user '#{setup_docker_cache_user}' password:"
|
32
|
+
)
|
30
33
|
else
|
31
34
|
settings_password
|
32
35
|
end
|
@@ -34,11 +37,11 @@ module Buildizer
|
|
34
37
|
end
|
35
38
|
|
36
39
|
def setup_docker_cache_email
|
37
|
-
|
40
|
+
options[:docker_cache_email] || user_settings_docker_cache_user(setup_docker_cache_user)['email']
|
38
41
|
end
|
39
42
|
|
40
43
|
def setup_docker_cache_server
|
41
|
-
|
44
|
+
options[:docker_cache_server] || user_settings_docker_cache_user(setup_docker_cache_user)['server']
|
42
45
|
end
|
43
46
|
|
44
47
|
def user_settings_docker_cache
|
@@ -68,7 +71,7 @@ module Buildizer
|
|
68
71
|
end
|
69
72
|
|
70
73
|
def docker_cache_clear_settings?
|
71
|
-
|
74
|
+
options[:clear_docker_cache]
|
72
75
|
end
|
73
76
|
|
74
77
|
def docker_cache_setup!
|
@@ -99,5 +102,5 @@ module Buildizer
|
|
99
102
|
ci.docker_cache_setup!
|
100
103
|
end
|
101
104
|
end # DockerCacheMod
|
102
|
-
end #
|
105
|
+
end # Buildizer
|
103
106
|
end # Buildizer
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Buildizer
|
2
|
-
class
|
2
|
+
class Buildizer
|
3
3
|
module GitMod
|
4
4
|
def git_available?
|
5
5
|
res = raw_command 'git status'
|
@@ -12,5 +12,5 @@ module Buildizer
|
|
12
12
|
res.stdout.strip
|
13
13
|
end
|
14
14
|
end # GitMod
|
15
|
-
end #
|
15
|
+
end # Buildizer
|
16
16
|
end # Buildizer
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module Buildizer
|
2
|
-
class
|
2
|
+
class Buildizer
|
3
3
|
module MiscMod
|
4
4
|
def command(*args, do_raise: false, **kwargs)
|
5
|
-
Shellfold.run(*args, **kwargs).tap do |cmd|
|
5
|
+
Shellfold.run(*args, live_log: debug, **kwargs).tap do |cmd|
|
6
6
|
if not cmd.status.success? and do_raise
|
7
7
|
raise Error.new(error: :error, message: "external command error")
|
8
8
|
end
|
@@ -36,22 +36,50 @@ module Buildizer
|
|
36
36
|
if path.read == value
|
37
37
|
fin.call 'OK'
|
38
38
|
else
|
39
|
-
path.write value
|
39
|
+
path.write! value
|
40
40
|
fin.call 'UPDATED'
|
41
41
|
end
|
42
42
|
else
|
43
|
-
path.write value
|
43
|
+
path.write! value
|
44
44
|
fin.call 'CREATED'
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
def
|
49
|
+
def write_yaml(path, cfg)
|
50
|
+
with_log(desc: "Update config #{path}") do |&fin|
|
51
|
+
old_cfg = path.load_yaml
|
52
|
+
if old_cfg == cfg
|
53
|
+
fin.call 'OK'
|
54
|
+
elsif cfg.empty?
|
55
|
+
if path.exist?
|
56
|
+
path.delete
|
57
|
+
fin.call 'DELETED'
|
58
|
+
else
|
59
|
+
fin.call 'OK'
|
60
|
+
end
|
61
|
+
else
|
62
|
+
if path.exist?
|
63
|
+
path.dump_yaml(cfg)
|
64
|
+
fin.call 'UPDATED'
|
65
|
+
else
|
66
|
+
path.dump_yaml(cfg)
|
67
|
+
fin.call 'CREATED'
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def with_log(desc: nil, &blk) # TODO: rename to verbose
|
50
74
|
puts(" #{desc}") if desc
|
51
75
|
blk.call do |status|
|
52
76
|
puts("=> #{desc} [#{status || 'OK'}]") if desc
|
53
77
|
end
|
54
78
|
end
|
79
|
+
|
80
|
+
def warn(msg)
|
81
|
+
Kernel::warn msg.to_s.colorize(:yellow)
|
82
|
+
end
|
55
83
|
end # MiscMod
|
56
|
-
end #
|
84
|
+
end # Buildizer
|
57
85
|
end # Buildizer
|
@@ -1,8 +1,6 @@
|
|
1
1
|
module Buildizer
|
2
|
-
class
|
2
|
+
class Buildizer
|
3
3
|
module OvercommitMod
|
4
|
-
using Refine
|
5
|
-
|
6
4
|
def overcommit_conf_path
|
7
5
|
package_path.join('.overcommit.yml')
|
8
6
|
end
|
@@ -19,28 +17,39 @@ module Buildizer
|
|
19
17
|
@overcommit_conf ||= overcommit_conf_path.load_yaml
|
20
18
|
end
|
21
19
|
|
22
|
-
def overcommit_conf_raw
|
23
|
-
YAML.dump(overcommit_conf)
|
24
|
-
end
|
25
|
-
|
26
20
|
def overcommit_conf_dump!
|
27
|
-
|
21
|
+
write_yaml overcommit_conf_path, overcommit_conf
|
28
22
|
command! 'overcommit --sign'
|
29
23
|
end
|
30
24
|
|
31
25
|
def overcommit_setup!
|
32
|
-
overcommit_hooks_path.mkpath
|
33
26
|
overcommit_conf_dump!
|
34
27
|
command! 'overcommit --install'
|
35
28
|
end
|
36
29
|
|
30
|
+
def overcommit_buildizer_require_list
|
31
|
+
[].tap do |res|
|
32
|
+
res << 'bundler/setup' if ENV.key? 'BUNDLE_BIN_PATH'
|
33
|
+
res << 'buildizer'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def overcommit_buildizer_require
|
38
|
+
overcommit_buildizer_require_list.map {|req| " require '#{req}'"}.join("\n")
|
39
|
+
end
|
40
|
+
|
37
41
|
def overcommit_verify_setup!
|
38
42
|
hookcode = <<-HOOKCODE
|
39
43
|
module Overcommit::Hook::PreCommit
|
40
44
|
class BuildizerVerify < Base
|
41
45
|
def run
|
42
|
-
|
46
|
+
#{overcommit_buildizer_require}
|
47
|
+
|
48
|
+
::Buildizer::Buildizer.new.verify!
|
43
49
|
:pass
|
50
|
+
rescue ::Buildizer::Error => e
|
51
|
+
$stderr.puts e.net_status.net_status_message
|
52
|
+
:fail
|
44
53
|
end
|
45
54
|
end
|
46
55
|
end
|
@@ -54,8 +63,13 @@ end
|
|
54
63
|
module Overcommit::Hook::PreCommit
|
55
64
|
class BuildizerCiVerify < Base
|
56
65
|
def run
|
57
|
-
|
66
|
+
#{overcommit_buildizer_require}
|
67
|
+
|
68
|
+
Buildizer::Buildizer.new.ci.configuration_actual!
|
58
69
|
:pass
|
70
|
+
rescue ::Buildizer::Error => e
|
71
|
+
$stderr.puts e.net_status.net_status_message
|
72
|
+
:fail
|
59
73
|
end
|
60
74
|
end
|
61
75
|
end
|
@@ -75,11 +89,10 @@ end
|
|
75
89
|
end
|
76
90
|
overcommit_conf_dump!
|
77
91
|
|
78
|
-
overcommit_hooks_pre_commit_path.mkpath
|
79
92
|
path = overcommit_hooks_pre_commit_path.join("#{name}.rb")
|
80
93
|
write_path path, hookcode
|
81
94
|
command! 'overcommit --sign pre-commit'
|
82
95
|
end
|
83
96
|
end # OvercommitMod
|
84
|
-
end #
|
97
|
+
end # Buildizer
|
85
98
|
end # Buildizer
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Buildizer
|
2
|
-
class
|
2
|
+
class Buildizer
|
3
3
|
module PackageCloudMod
|
4
4
|
def package_cloud_repo
|
5
5
|
ENV['PACKAGECLOUD'].to_s.split(',')
|
@@ -30,7 +30,7 @@ module Buildizer
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def setup_package_cloud_repo_list
|
33
|
-
Array(
|
33
|
+
Array(options[:package_cloud]).uniq
|
34
34
|
end
|
35
35
|
|
36
36
|
def setup_package_cloud_repo_desc_list
|
@@ -49,21 +49,23 @@ module Buildizer
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def package_cloud_update_settings?
|
52
|
-
|
52
|
+
options[:package_cloud]
|
53
53
|
end
|
54
54
|
|
55
55
|
def package_cloud_clear_settings?
|
56
|
-
|
56
|
+
options[:clear_package_cloud]
|
57
57
|
end
|
58
58
|
|
59
59
|
def package_cloud_setup!
|
60
60
|
if package_cloud_update_settings?
|
61
61
|
update_user_settings = false
|
62
62
|
setup_package_cloud_org_list.each do |org|
|
63
|
-
if user_settings_package_cloud_token[org].nil? or
|
64
|
-
|
65
|
-
|
66
|
-
|
63
|
+
if user_settings_package_cloud_token[org].nil? or options[:reset_package_cloud_token]
|
64
|
+
token = secure_option(
|
65
|
+
"package_cloud_token_#{org}",
|
66
|
+
ask: "Enter token for package_cloud org '#{org}':",
|
67
|
+
default: "none",
|
68
|
+
)
|
67
69
|
token = (token == 'none' ? nil : token)
|
68
70
|
if user_settings_package_cloud_token[org] != token
|
69
71
|
user_settings_package_cloud_token[org] = token
|
@@ -77,5 +79,5 @@ module Buildizer
|
|
77
79
|
ci.package_cloud_setup!
|
78
80
|
end
|
79
81
|
end # PackageCloudMod
|
80
|
-
end #
|
82
|
+
end # Buildizer
|
81
83
|
end # Buildizer
|
@@ -1,8 +1,6 @@
|
|
1
1
|
module Buildizer
|
2
|
-
class
|
2
|
+
class Buildizer
|
3
3
|
module PackageVersionTagMod
|
4
|
-
using Refine
|
5
|
-
|
6
4
|
def package_version_tag_required_for_deploy?
|
7
5
|
ENV['BUILDIZER_REQUIRE_TAG'].to_s.on?
|
8
6
|
end
|
@@ -11,5 +9,5 @@ module Buildizer
|
|
11
9
|
ci.git_tag
|
12
10
|
end
|
13
11
|
end # PackageVersionTagMod
|
14
|
-
end #
|
12
|
+
end # Buildizer
|
15
13
|
end # Buildizer
|
@@ -1,27 +1,25 @@
|
|
1
1
|
module Buildizer
|
2
|
-
class
|
2
|
+
class Buildizer
|
3
3
|
module ProjectSettingsMod
|
4
|
-
using Refine
|
5
|
-
|
6
4
|
def project_settings_path
|
7
5
|
package_path.join('.buildizer.yml')
|
8
6
|
end
|
9
7
|
|
10
8
|
def project_settings
|
11
9
|
@project_settings ||= begin
|
12
|
-
|
13
|
-
settings['master'] =
|
10
|
+
project_settings_path.load_yaml.tap do |settings|
|
11
|
+
settings['master'] = options[:master] if options.key? :master
|
14
12
|
end
|
15
13
|
end
|
16
14
|
end
|
17
15
|
|
18
16
|
def project_settings_save!
|
19
|
-
|
17
|
+
write_yaml project_settings_path, project_settings
|
20
18
|
end
|
21
19
|
|
22
20
|
def project_settings_setup!
|
23
21
|
project_settings_save!
|
24
22
|
end
|
25
23
|
end # ProjectSettingsMod
|
26
|
-
end #
|
24
|
+
end # Buildizer
|
27
25
|
end # Buildizer
|
@@ -1,18 +1,16 @@
|
|
1
1
|
module Buildizer
|
2
|
-
class
|
2
|
+
class Buildizer
|
3
3
|
module UserSettingsMod
|
4
|
-
using Refine
|
5
|
-
|
6
4
|
def user_settings_path
|
7
5
|
work_path.join('settings.yml')
|
8
6
|
end
|
9
7
|
|
10
8
|
def user_settings
|
11
|
-
@user_settings ||=
|
9
|
+
@user_settings ||= user_settings_path.load_yaml
|
12
10
|
end
|
13
11
|
|
14
12
|
def user_settings_save!
|
15
|
-
|
13
|
+
write_yaml user_settings_path, user_settings
|
16
14
|
user_settings_path.chmod(0600)
|
17
15
|
end
|
18
16
|
|
@@ -20,5 +18,5 @@ module Buildizer
|
|
20
18
|
user_settings_save!
|
21
19
|
end
|
22
20
|
end # UserSettingsMod
|
23
|
-
end #
|
21
|
+
end # Buildizer
|
24
22
|
end # Buildizer
|