buildizer 0.0.9 → 0.1.0
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 +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
|