vx-builder 0.0.4 → 0.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dfbe290e0979d13dc2247256846a0a7bbb4cffa3
4
- data.tar.gz: 0ef71474e8232fcc4891dc752d4f28790d1652fb
3
+ metadata.gz: a0532b05f9d5890cad0fd2b6a4097f0a24434cb2
4
+ data.tar.gz: d7242c8f70bd18dc7cc41aafab1a2d28c927b03c
5
5
  SHA512:
6
- metadata.gz: aab68e031514142fb618bb6dfd7a7125e900c36ea67021d2a550417251fd62241c93e4b119ecca3123ed62c6f7b58bab918b5449371e96b4c6ee8ee45798df0e
7
- data.tar.gz: 790cc4d61325fba00d62b8fddafb752b2737fb076bd11c455a21a9e8eb5f35c35b275a5faab9669284910e77c9be262fa17339072916b1ecf84a963fc7a1d1f4
6
+ metadata.gz: 94987973aca134b0db7e094d415cfb34dd4190d4e3210a9eb2a079d28c9d5f308902b56d86d002317453fe6e9a0199f9fceef7c789f91687f893b81f93924ece
7
+ data.tar.gz: 78b318295d9eb7e4283e200c983999c8d750d4dd2be907a2203a1fbafd30802c70076401a740ccde00ad96ba91530f669ed405904eff68af97bcb3264dd8f581
@@ -7,11 +7,11 @@ module Vx
7
7
  include Helper::TraceShCommand
8
8
 
9
9
  def call(env)
10
+ env.init << "set -e"
10
11
  env.init << 'export LC_ALL=en_US.UTF8'
11
12
  env.source.global_env.each do |e|
12
13
  env.init << trace_sh_command("export #{e}")
13
14
  end
14
- env.announce << trace_sh_command("env")
15
15
  app.call(env)
16
16
  end
17
17
 
@@ -13,21 +13,22 @@ module Vx
13
13
  name = env.task.name
14
14
  deploy_key = env.task.deploy_key
15
15
 
16
- repo_path = "code/#{name}"
17
- data_path = "data/#{name}"
16
+ repo_path = "${VX_ROOT}/code/#{name}"
17
+ data_path = "${VX_ROOT}/data/#{name}"
18
18
  key_file = "#{data_path}/key"
19
19
  git_ssh_file = "#{data_path}/git_ssh"
20
20
 
21
21
  sha = env.task.sha
22
22
  scm = build_scm(env, sha, repo_path)
23
- git_ssh = scm.git_ssh.class.template(deploy_key && "$(dirname $0)/key")
23
+ git_ssh = scm.git_ssh_content(deploy_key && "#{key_file}")
24
24
 
25
25
  env.init.tap do |i|
26
- i << "mkdir -p #{data_path}"
27
- i << "mkdir -p #{repo_path}"
26
+ i << 'export VX_ROOT=$(pwd)'
27
+
28
+ i << "mkdir -p #{data_path}"
29
+ i << "mkdir -p #{repo_path}"
28
30
 
29
31
  if deploy_key
30
- i << "echo instaling keys"
31
32
  i << upload_sh_command(key_file, deploy_key)
32
33
  i << "chmod 0600 #{key_file}"
33
34
  end
@@ -35,9 +36,10 @@ module Vx
35
36
  i << upload_sh_command(git_ssh_file, git_ssh)
36
37
  i << "chmod 0750 #{git_ssh_file}"
37
38
 
38
- i << "export GIT_SSH=$PWD/#{git_ssh_file}"
39
- i << scm.make_fetch_command
39
+ i << "export GIT_SSH=#{git_ssh_file}"
40
+ i << scm.fetch_cmd
40
41
  i << "unset GIT_SSH"
42
+ i << "cd #{repo_path}"
41
43
  end
42
44
 
43
45
  app.call env
@@ -46,7 +48,7 @@ module Vx
46
48
  private
47
49
 
48
50
  def build_scm(env, sha, path)
49
- SCM::Git.new(env.task.src,
51
+ Common::Git.new(env.task.src,
50
52
  sha,
51
53
  "$PWD/#{path}",
52
54
  branch: env.task.branch,
@@ -1,5 +1,5 @@
1
1
  module Vx
2
2
  module Builder
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Vx::Builder::Script::Env do
4
+ let(:app) { ->(_) { 0 } }
5
+ let(:script) { described_class.new app }
6
+ let(:env) { create :env }
7
+ let(:run) { script.call env }
8
+ subject { run }
9
+
10
+ it { should eq 0 }
11
+
12
+ context "run it" do
13
+ let(:command) { create :command_from_env, env: env }
14
+ before { run }
15
+
16
+ it "should be success" do
17
+ system( command )
18
+ expect($?.to_i).to eq 0
19
+ end
20
+ end
21
+
22
+ end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+ require 'tmpdir'
3
+ require 'fileutils'
4
+
5
+ describe Vx::Builder::Script::Prepare do
6
+ let(:app) { ->(_) { 0 } }
7
+ let(:script) { described_class.new app }
8
+ let(:env) { create :env }
9
+ let(:run) { script.call env }
10
+ let(:path) { Dir.tmpdir }
11
+ subject { run }
12
+
13
+ before { FileUtils.rm_rf(path) }
14
+ after { FileUtils.rm_rf(path) }
15
+
16
+ it { should eq 0 }
17
+
18
+ context "run it" do
19
+ let(:command) { create :command_from_env, env: env }
20
+ before { run }
21
+
22
+ context "success" do
23
+ it "should return zero code" do
24
+ Dir.chdir(path) do
25
+ system( command )
26
+ end
27
+ expect($?.to_i).to eq 0
28
+ end
29
+ end
30
+ end
31
+
32
+ end
@@ -1,15 +1,34 @@
1
+ require 'ostruct'
2
+
1
3
  def create(name, options = {})
2
4
  case name
5
+ when :message
6
+ Vx::Message::PerformBuild.test_message
7
+
3
8
  when :task
9
+ msg = create(:message)
4
10
  Vx::Builder::Task.new(
5
11
  'name',
6
- 'src',
7
- 'sha',
8
- deploy_key: 'deploy_key',
9
- branch: 'master',
10
- cache_url_prefix: "http://localhost"
12
+ msg.src,
13
+ msg.sha,
14
+ deploy_key: msg.deploy_key,
15
+ branch: msg.branch
11
16
  )
17
+
12
18
  when :source
13
19
  Vx::Builder::Source.from_yaml(fixture("travis.yml"))
20
+
21
+ when :env
22
+ OpenStruct.new(
23
+ init: [],
24
+ source: create(:source),
25
+ task: create(:task)
26
+ )
27
+
28
+ when :command_from_env
29
+ env = options[:env]
30
+ a = ["set -e"]
31
+ a += env.init
32
+ a.join("\n")
14
33
  end
15
34
  end
data/vx-builder.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency 'vx-common'
21
+ spec.add_runtime_dependency 'vx-common', '0.3.0'
22
22
  spec.add_runtime_dependency 'vx-message'
23
23
  spec.add_runtime_dependency 'hashr'
24
24
 
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vx-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Galinsky
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-19 00:00:00.000000000 Z
11
+ date: 2014-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: vx-common
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: vx-message
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -144,6 +144,8 @@ files:
144
144
  - spec/fixtures/travis_bug_1.yml
145
145
  - spec/fixtures/travis_bug_2.yml
146
146
  - spec/lib/builder/configuration_spec.rb
147
+ - spec/lib/builder/script/env_spec.rb
148
+ - spec/lib/builder/script/prepare_spec.rb
147
149
  - spec/lib/builder/script_spec.rb
148
150
  - spec/lib/builder/source_matrix_spec.rb
149
151
  - spec/lib/builder/source_spec.rb
@@ -182,6 +184,8 @@ test_files:
182
184
  - spec/fixtures/travis_bug_1.yml
183
185
  - spec/fixtures/travis_bug_2.yml
184
186
  - spec/lib/builder/configuration_spec.rb
187
+ - spec/lib/builder/script/env_spec.rb
188
+ - spec/lib/builder/script/prepare_spec.rb
185
189
  - spec/lib/builder/script_spec.rb
186
190
  - spec/lib/builder/source_matrix_spec.rb
187
191
  - spec/lib/builder/source_spec.rb