vx-builder 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/lib/vx/builder/build_configuration.rb +9 -6
  4. data/lib/vx/builder/build_configuration/deploy.rb +22 -13
  5. data/lib/vx/builder/build_configuration/deploy/provider.rb +58 -0
  6. data/lib/vx/builder/configuration.rb +1 -1
  7. data/lib/vx/builder/matrix.rb +14 -0
  8. data/lib/vx/builder/script.rb +32 -7
  9. data/lib/vx/builder/script/artifacts.rb +1 -3
  10. data/lib/vx/builder/script/base.rb +56 -0
  11. data/lib/vx/builder/script/clojure.rb +5 -9
  12. data/lib/vx/builder/script/deploy.rb +40 -0
  13. data/lib/vx/builder/script/env.rb +1 -3
  14. data/lib/vx/builder/script/java.rb +5 -5
  15. data/lib/vx/builder/script/ruby.rb +20 -15
  16. data/lib/vx/builder/script/scala.rb +11 -13
  17. data/lib/vx/builder/script/script.rb +19 -8
  18. data/lib/vx/builder/script/services.rb +1 -3
  19. data/lib/vx/builder/task.rb +5 -0
  20. data/lib/vx/builder/version.rb +1 -1
  21. data/spec/fixtures/integration/ruby/deploy/config.yml +12 -0
  22. data/spec/fixtures/integration/ruby/deploy/d.after_script.sh +10 -0
  23. data/spec/fixtures/integration/ruby/deploy/d.before_script.sh +61 -0
  24. data/spec/fixtures/integration/ruby/deploy/d.script.sh +4 -0
  25. data/spec/fixtures/integration/ruby/language/after_script.sh +10 -0
  26. data/spec/fixtures/integration/ruby/language/before_script.sh +59 -0
  27. data/spec/fixtures/integration/ruby/language/config.yml +1 -0
  28. data/spec/fixtures/integration/ruby/language/script.sh +8 -0
  29. data/spec/fixtures/integration/ruby/matrix/0.after_script.sh +10 -0
  30. data/spec/fixtures/integration/ruby/matrix/0.before_script.sh +61 -0
  31. data/spec/fixtures/integration/ruby/matrix/0.script.sh +6 -0
  32. data/spec/fixtures/integration/ruby/matrix/1.after_script.sh +10 -0
  33. data/spec/fixtures/integration/ruby/matrix/1.before_script.sh +61 -0
  34. data/spec/fixtures/integration/ruby/matrix/1.script.sh +6 -0
  35. data/spec/fixtures/integration/ruby/matrix/config.yml +11 -0
  36. data/spec/fixtures/integration/ruby/matrix/d.after_script.sh +10 -0
  37. data/spec/fixtures/integration/ruby/matrix/d.before_script.sh +59 -0
  38. data/spec/fixtures/integration/ruby/matrix/d.script.sh +4 -0
  39. data/spec/fixtures/travis.yml +3 -0
  40. data/spec/integration/ruby_spec.rb +159 -0
  41. data/spec/lib/builder/build_configuration_spec.rb +31 -0
  42. data/spec/lib/builder/matrix_spec.rb +59 -0
  43. data/spec/lib/builder/task_spec.rb +2 -1
  44. data/spec/support/create.rb +14 -11
  45. data/vx-builder.gemspec +1 -1
  46. metadata +48 -7
@@ -2,9 +2,7 @@ module Vx
2
2
  module Builder
3
3
  class Script
4
4
 
5
- Env = Struct.new(:app) do
6
-
7
- include Helper::TraceShCommand
5
+ class Env < Base
8
6
 
9
7
  def call(env)
10
8
  env.init << "set -e"
@@ -2,15 +2,15 @@ module Vx
2
2
  module Builder
3
3
  class Script
4
4
 
5
- Java = Struct.new(:app) do
6
-
7
- include Helper::TraceShCommand
5
+ class Java < Base
8
6
 
9
7
  def call(env)
10
8
  if java(env)
11
- env.cache_key << "jdk-#{java env}"
9
+ do_cache_key(env) do |i|
10
+ i << "jdk-#{java env}"
11
+ end
12
12
 
13
- env.before_install.tap do |i|
13
+ do_before_install(env) do |i|
14
14
  i << "source $(which jdk_switcher.sh)"
15
15
  i << trace_sh_command("jdk_switcher use #{java env}")
16
16
  end
@@ -2,28 +2,28 @@ module Vx
2
2
  module Builder
3
3
  class Script
4
4
 
5
- Ruby = Struct.new(:app) do
6
-
7
- include Helper::TraceShCommand
5
+ class Ruby < Base
8
6
 
9
7
  DEFAULT_RUBY = '1.9.3'
10
8
 
11
9
  def call(env)
12
10
  if enabled?(env)
13
- env.cache_key << "rvm-#{ruby env}"
14
- env.cache_key << gemfile(env)
11
+ do_cache_key(env) do |i|
12
+ i << "rvm-#{ruby env}"
13
+ i << gemfile(env)
14
+ end
15
15
 
16
- env.before_install.tap do |i|
16
+ do_before_install(env) do |i|
17
17
  i << 'eval "$(rbenv init -)" || true'
18
18
  i << "rbenv shell #{make_rbenv_version_command env}"
19
19
  i << trace_sh_command("export BUNDLE_GEMFILE=${PWD}/#{gemfile(env)}")
20
20
  i << trace_sh_command('export GEM_HOME=~/.rubygems')
21
21
  end
22
22
 
23
- env.announce.tap do |a|
24
- a << trace_sh_command("ruby --version")
25
- a << trace_sh_command("gem --version")
26
- a << trace_sh_command("bundle --version")
23
+ do_announce(env) do |i|
24
+ i << trace_sh_command("ruby --version")
25
+ i << trace_sh_command("gem --version")
26
+ i << trace_sh_command("bundle --version")
27
27
  end
28
28
 
29
29
  env.install.tap do |i|
@@ -32,13 +32,18 @@ module Vx
32
32
  i << trace_sh_command("bundle clean --force")
33
33
  end
34
34
 
35
- if env.source.script.empty?
36
- script = "if [ -f Rakefile ] then (#{trace_sh_command "bundle exec rake"}) ; fi"
37
- env.script << script
35
+ do_install(env) do |i|
36
+ i << trace_sh_command("bundle install")
37
+ i << trace_sh_command("bundle clean --force")
38
+ end
39
+
40
+ do_script(env) do |i|
41
+ script = "if [ -f Rakefile ] ; then \n #{trace_sh_command "bundle exec rake"}\nfi"
42
+ i << script
38
43
  end
39
44
 
40
- if env.source.cached_directories != false
41
- env.cached_directories.push "~/.rubygems"
45
+ do_cached_directories(env) do |i|
46
+ i << "~/.rubygems"
42
47
  end
43
48
  end
44
49
 
@@ -2,33 +2,31 @@ module Vx
2
2
  module Builder
3
3
  class Script
4
4
 
5
- Scala = Struct.new(:app) do
6
-
7
- include Helper::TraceShCommand
5
+ class Scala < Base
8
6
 
9
7
  DEFAULT_SCALA = '2.10.3'
10
8
 
11
9
  def call(env)
12
10
  if enabled?(env)
13
- env.cache_key << "scala-#{scala env}"
11
+ do_cache_key(env) do |i|
12
+ i << "scala-#{scala env}"
13
+ end
14
14
 
15
- env.announce.tap do |i|
15
+ do_announce(env) do |i|
16
16
  i << trace_sh_command("export SCALA_VERSION=#{scala env}")
17
17
  end
18
18
 
19
- env.install.tap do |i|
19
+ do_install(env) do |i|
20
20
  i << "if [[ -d project || -f build.sbt ]] ; then #{trace_sh_command "sbt ++#{scala env} update"} ; fi"
21
21
  end
22
22
 
23
- if env.source.script.empty?
24
- env.script.tap do |i|
25
- i << "if [[ -d project || -f build.sbt ]] ; then #{trace_sh_command "sbt ++#{scala env} test"} ; fi"
26
- end
23
+ do_script(env) do |i|
24
+ i << "if [[ -d project || -f build.sbt ]] ; then #{trace_sh_command "sbt ++#{scala env} test"} ; fi"
27
25
  end
28
26
 
29
- if env.source.cached_directories != false
30
- env.cached_directories.push "~/.sbt"
31
- env.cached_directories.push "~/.ivy2"
27
+ do_cached_directories(env) do |i|
28
+ i << "~/.sbt"
29
+ i << "~/.ivy2"
32
30
  end
33
31
  end
34
32
 
@@ -10,15 +10,26 @@ module Vx
10
10
  env.source.before_install.each do |c|
11
11
  env.before_install << trace_sh_command(c)
12
12
  end
13
- env.source.before_script.each do |c|
14
- env.before_script << trace_sh_command(c)
15
- end
16
- env.source.script.each do |c|
17
- env.script << trace_sh_command(c)
18
- end
19
- env.source.after_success.each do |c|
20
- env.after_success << trace_sh_command(c)
13
+
14
+ if env.task.deploy?
15
+ env.source.before_deploy.each do |c|
16
+ env.before_script << trace_sh_command(c)
17
+ end
18
+ env.source.after_deploy.each do |c|
19
+ env.after_success << trace_sh_command(c)
20
+ end
21
+ else
22
+ env.source.before_script.each do |c|
23
+ env.before_script << trace_sh_command(c)
24
+ end
25
+ env.source.script.each do |c|
26
+ env.script << trace_sh_command(c)
27
+ end
28
+ env.source.after_success.each do |c|
29
+ env.after_success << trace_sh_command(c)
30
+ end
21
31
  end
32
+
22
33
  app.call(env)
23
34
  end
24
35
 
@@ -2,14 +2,12 @@ module Vx
2
2
  module Builder
3
3
  class Script
4
4
 
5
- Services = Struct.new(:app) do
5
+ class Services < Base
6
6
 
7
7
  ALIASES = {
8
8
  'rabbitmq' => 'rabbitmq-server'
9
9
  }
10
10
 
11
- include Helper::TraceShCommand
12
-
13
11
  def call(env)
14
12
  env.source.services.each do |srv|
15
13
  srv = ALIASES[srv] || srv
@@ -16,10 +16,15 @@ module Vx
16
16
  @pull_request_id = options[:pull_request_id]
17
17
  @cache_url_prefix = options[:cache_url_prefix]
18
18
  @artifacts_url_prefix = options[:artifacts_url_prefix]
19
+ @deploy = !!options[:deploy]
19
20
 
20
21
  validate!
21
22
  end
22
23
 
24
+ def deploy?
25
+ @deploy
26
+ end
27
+
23
28
  private
24
29
 
25
30
  def validate!
@@ -1,5 +1,5 @@
1
1
  module Vx
2
2
  module Builder
3
- VERSION = "0.1.8"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+
3
+ deploy:
4
+
5
+ - command: cap staging deploy
6
+ branch: master
7
+
8
+ - command: cap producation deploy
9
+ branch: production
10
+
11
+ after_deploy: echo after deploy
12
+ before_deploy: echo before deploy
@@ -0,0 +1,10 @@
1
+
2
+ # after script init
3
+ export CI_JOB_ID=1
4
+ export CI_BUILD_ID=12
5
+ export CI_BRANCH=master
6
+ export VX_ROOT=$(pwd)
7
+ cd ${VX_ROOT}/code/name
8
+
9
+ # after deploy
10
+ test -f $HOME/.casher/bin/casher && /opt/rbenv/versions/1.9.3-p547/bin/ruby $HOME/.casher/bin/casher push http://example.com/master/rvm-1.9.3-gemfile.tgz
@@ -0,0 +1,61 @@
1
+
2
+ # init
3
+ set -e
4
+ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
5
+ export LC_ALL=en_US.UTF8
6
+ export DEBIAN_FRONTEND=noninteractive
7
+ export CI_JOB_ID=1
8
+ export CI_BUILD_ID=12
9
+ export CI_BRANCH=master
10
+ export VX_ROOT=$(pwd)
11
+ mkdir -p ${VX_ROOT}/data/name
12
+ mkdir -p ${VX_ROOT}/code/name
13
+ (echo LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdmVpcXpyMG54SkE0OGZrL1Q3cUZyT0RtZFQ5NGx2dDdvbnRHTGhxTlQ3WitHYnFMCnQ0NUY0LzVCeE5neU1iU1FmYUp3MXNHTXVuUWZqS1JkV2Z1S1VRcDB5NmJOaEFqdG5Dbm9WZWwzU01CYVhFMnIKODk2R2toTlhjMS9sejF2LzFUOGJsYy9jaFZlS1p2UVQraER2Qy9LRUNGLyt2ZDd5TDZOUmxvYXlaZHYwa3M3egpDd29JZWVUZkV1MmhkM3JYREVMZ29pTStBQUVjaVllMDhWdXl0RmpiT055MjhFeTNTR0hVUk40MThGSnJKSERzCjdCNXgzUDg5Z2xrU3RhMVRZNEpPUXRvV3V4emE3eWxTOEcxaytzcytUREIrRVQzc3FqRGUxbXhvc1JBZnFTQTcKYXBFWkszQUxiWnJ1M25ZZDI2eCtDRTg0ZHZIN0dpS29CbDBUU1FJREFRQUJBb0lCQUVFQWduYUJDRHVmb2Q0eApFaHFZSFdrdkViTFFKdGFHL2FwL3gyWEFjTjMzK1BHVmlIMHJsWUNVWnE2WjBaUngyWU1uTnJoTFI0QUtmMElFCmdHOXNTY3V6YUliTWNVdmdRblJSWTlVRU5IQVNadHR4T29vZWdMRS9MWSt3STFqMmhIclpQdmZvVGZMV0krbFoKWWYwV0RyeG9KZ2szMGxuckZicDRqRlNaaGphV21zbTFYUTRodHQ5YmZHT0JsZS9nSjZVVHIzMndGMEV5T3B2NAplcmNpMVJTVXp5RFd6MHE3VGphcTZTSGx3UTJKd2NMRzB2bnJacStZbk1KVXdqTGhDNEpBTVpFS0YvNjFLbnNNCnp3UjludU9FMlpESTF4SDV4QUErMHBOa3d6eFdjcXJ5b0tCck9NYXREYSs3Wk9KRW9iT2lxK2dscW1vcHJvdjQKZ1hYUjJJRUNnWUVBK3dQMVNaTTdFMFdudFF5UGdSaVo3RDlUU2lvVit4NTFSUHc5UHV3OEtHM1R1R09McWFNegpyTXdzY2JUb2VqaVpGU3YybEhHRGJTZldzdzc2TVlqK3ZLM1JGNWVkOE14eTNnU2ZWRnhWelNENTBlZnBKY1ZxCmtWNm4vdWEzQUpZR1ZibmVhajU2QmxqeEhieFZ2Y3lYWEZHbmFtbDhJQ1BKMmp5UjhSRTE4NDhDZ1lFQXdhNFMKamdubVJlWStUdXU3VTB4ZDZPbzBYOXRqa3FreXlHcStzdFEzSTJPZll6bXRRdmVGbFdzZmVjbmJDbUVNeWxMeQpuR1Z4WVNpUk5jaWdNb1o3ZXVyZ2RtR0QvTzRtREc4MER5NFBKN2xGOC84WHg3MDFWN1lqZ0duSUkyL1Z3cDFrCnZsUjl4VEo1bFZwQU5YcVNZcTFrd3llU1BuMUtMS3QwRTQyVlA2Y0NnWUVBMmw0T0pDeU9KdXpnd2JNa29FVDcKbXJkWVNOdWw5YWtBa2J2eHQreWhSUGFPU2dsbmRYTUJ3R0I2aFl6QTlacUpLZzd0MnlPSkZ3dWlUbkZJSEpHMgpNZ1B3TTFyMXpvYTlvd0ZZYm5aSk9rTm1zVUhUNU1VQ09XYWtOUzhXb3M3Z3dmRUpXVm55bzlUNkpVa3pPZ05pCjViQXZPWFo4d2lVQU0vZWZhcHp6VjJjQ2dZQmJLdFkvRi9mVjFWQmxFOStFa1VEdlB6ZFNHOUllR2hqMmNCQzkKMnRqdGhwcGpPYVlPRExkTG96WVl2T1NuV1JHTk4waE9TQTM3bnYzalpFSE1Kck4vSTRwdkR1M3pKQ0t5M2JHUwpwNnFvbHpTUGF2ZEZwUkd6N045L05jdm9xbDdqa2ZUM0JveUJRNFlwd0diVEJaUmNjS1FxbkxqaFExYWoranpVCmEyUGlwd0tCZ1FDQ0x1T3JoTzM3VW92TW5tTnJSelhud3U5QytWQ0I0b0dmNlF0akVlaE14L0orNmVodlNZdWIKbExPeGVaUUh6VmtDM0k2clZNYksxcXgwdDhRbmIrNWpIUkFrUjR4L0phVG9qcFpZcW5nZExydFk0L3FMS0pxNwo0YU9MWWpKeUwzWUIwOWczcjY4d2NuVFVIYmNaWWorUTd4VDFZL250WE5wM3BkYlljNDdOVVE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= | base64 --decode) > ${VX_ROOT}/data/name/key
14
+ chmod 0600 ${VX_ROOT}/data/name/key
15
+ export VX_PRIVATE_KEY=${VX_ROOT}/data/name/key
16
+ (echo IyEvYmluL3NoCi91c3IvYmluL3NzaCAtQSAtbyBMb2dMZXZlbD1xdWlldCAtbyBTdHJpY3RIb3N0S2V5Q2hlY2tpbmc9bm8gLW8gVXNlcktub3duSG9zdHNGaWxlPS9kZXYvbnVsbCAtaSAke1ZYX1JPT1R9L2RhdGEvbmFtZS9rZXkgJEAK | base64 --decode) > ${VX_ROOT}/data/name/git_ssh
17
+ chmod 0750 ${VX_ROOT}/data/name/git_ssh
18
+ export GIT_SSH=${VX_ROOT}/data/name/git_ssh
19
+ echo "$ git clone --depth=50 --branch=master git@github.com:dima-exe/ci-worker-test-repo.git ${VX_ROOT}/code/name"
20
+ git clone --depth=50 --branch=master git@github.com:dima-exe/ci-worker-test-repo.git ${VX_ROOT}/code/name
21
+ echo "$ git checkout -qf b665f90239563c030f1b280a434b3d84daeda1bd"
22
+ ( cd ${VX_ROOT}/code/name && git checkout -qf b665f90239563c030f1b280a434b3d84daeda1bd )
23
+ unset GIT_SSH
24
+ echo "Starting SSH Agent"
25
+ eval "$(ssh-agent)"
26
+ ssh-add $VX_PRIVATE_KEY
27
+ cd ${VX_ROOT}/code/name
28
+ export CASHER_DIR=$HOME/.casher && ( mkdir -p $CASHER_DIR/bin && /usr/bin/curl https://raw2.github.com/dima-exe/casher/master/bin/casher -s -o $HOME/.casher/bin/casher && chmod +x $HOME/.casher/bin/casher ) || true
29
+ test -f $HOME/.casher/bin/casher && /opt/rbenv/versions/1.9.3-p547/bin/ruby $HOME/.casher/bin/casher fetch http://example.com/master/rvm-1.9.3-gemfile.tgz || true
30
+ test -f $HOME/.casher/bin/casher && /opt/rbenv/versions/1.9.3-p547/bin/ruby $HOME/.casher/bin/casher add ~/.rubygems || true
31
+ unset CASHER_DIR
32
+
33
+ # before install
34
+ eval "$(rbenv init -)" || true
35
+ rbenv shell $(rbenv versions | sed -e 's/^*/ /' | awk '{print $1}' | grep -v 'system' | grep '1.9.3' | tail -n1)
36
+ echo \$\ export\ BUNDLE_GEMFILE\=\$\{PWD\}/Gemfile
37
+ export BUNDLE_GEMFILE=${PWD}/Gemfile
38
+ echo \$\ export\ GEM_HOME\=\~/.rubygems
39
+ export GEM_HOME=~/.rubygems
40
+
41
+ # announce
42
+ echo \$\ ruby\ --version
43
+ ruby --version
44
+ echo \$\ gem\ --version
45
+ gem --version
46
+ echo \$\ bundle\ --version
47
+ bundle --version
48
+
49
+ # install
50
+ echo \$\ bundle\ install\
51
+ bundle install
52
+ echo \$\ bundle\ clean\ --force
53
+ bundle clean --force
54
+ echo \$\ bundle\ install
55
+ bundle install
56
+ echo \$\ bundle\ clean\ --force
57
+ bundle clean --force
58
+
59
+ # before deploy
60
+ echo \$\ echo\ before\ deploy
61
+ echo before deploy
@@ -0,0 +1,4 @@
1
+
2
+ # deploy
3
+ echo \$\ cap\ staging\ deploy
4
+ cap staging deploy
@@ -0,0 +1,10 @@
1
+
2
+ # after script init
3
+ export CI_JOB_ID=1
4
+ export CI_BUILD_ID=12
5
+ export CI_BRANCH=master
6
+ export VX_ROOT=$(pwd)
7
+ cd ${VX_ROOT}/code/name
8
+
9
+ # after script
10
+ test -f $HOME/.casher/bin/casher && /opt/rbenv/versions/1.9.3-p547/bin/ruby $HOME/.casher/bin/casher push http://example.com/master/rvm-1.9.3-gemfile.tgz
@@ -0,0 +1,59 @@
1
+
2
+ # init
3
+ set -e
4
+ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
5
+ export LC_ALL=en_US.UTF8
6
+ export DEBIAN_FRONTEND=noninteractive
7
+ export CI_JOB_ID=1
8
+ export CI_BUILD_ID=12
9
+ export CI_BRANCH=master
10
+ export VX_ROOT=$(pwd)
11
+ mkdir -p ${VX_ROOT}/data/name
12
+ mkdir -p ${VX_ROOT}/code/name
13
+ (echo LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdmVpcXpyMG54SkE0OGZrL1Q3cUZyT0RtZFQ5NGx2dDdvbnRHTGhxTlQ3WitHYnFMCnQ0NUY0LzVCeE5neU1iU1FmYUp3MXNHTXVuUWZqS1JkV2Z1S1VRcDB5NmJOaEFqdG5Dbm9WZWwzU01CYVhFMnIKODk2R2toTlhjMS9sejF2LzFUOGJsYy9jaFZlS1p2UVQraER2Qy9LRUNGLyt2ZDd5TDZOUmxvYXlaZHYwa3M3egpDd29JZWVUZkV1MmhkM3JYREVMZ29pTStBQUVjaVllMDhWdXl0RmpiT055MjhFeTNTR0hVUk40MThGSnJKSERzCjdCNXgzUDg5Z2xrU3RhMVRZNEpPUXRvV3V4emE3eWxTOEcxaytzcytUREIrRVQzc3FqRGUxbXhvc1JBZnFTQTcKYXBFWkszQUxiWnJ1M25ZZDI2eCtDRTg0ZHZIN0dpS29CbDBUU1FJREFRQUJBb0lCQUVFQWduYUJDRHVmb2Q0eApFaHFZSFdrdkViTFFKdGFHL2FwL3gyWEFjTjMzK1BHVmlIMHJsWUNVWnE2WjBaUngyWU1uTnJoTFI0QUtmMElFCmdHOXNTY3V6YUliTWNVdmdRblJSWTlVRU5IQVNadHR4T29vZWdMRS9MWSt3STFqMmhIclpQdmZvVGZMV0krbFoKWWYwV0RyeG9KZ2szMGxuckZicDRqRlNaaGphV21zbTFYUTRodHQ5YmZHT0JsZS9nSjZVVHIzMndGMEV5T3B2NAplcmNpMVJTVXp5RFd6MHE3VGphcTZTSGx3UTJKd2NMRzB2bnJacStZbk1KVXdqTGhDNEpBTVpFS0YvNjFLbnNNCnp3UjludU9FMlpESTF4SDV4QUErMHBOa3d6eFdjcXJ5b0tCck9NYXREYSs3Wk9KRW9iT2lxK2dscW1vcHJvdjQKZ1hYUjJJRUNnWUVBK3dQMVNaTTdFMFdudFF5UGdSaVo3RDlUU2lvVit4NTFSUHc5UHV3OEtHM1R1R09McWFNegpyTXdzY2JUb2VqaVpGU3YybEhHRGJTZldzdzc2TVlqK3ZLM1JGNWVkOE14eTNnU2ZWRnhWelNENTBlZnBKY1ZxCmtWNm4vdWEzQUpZR1ZibmVhajU2QmxqeEhieFZ2Y3lYWEZHbmFtbDhJQ1BKMmp5UjhSRTE4NDhDZ1lFQXdhNFMKamdubVJlWStUdXU3VTB4ZDZPbzBYOXRqa3FreXlHcStzdFEzSTJPZll6bXRRdmVGbFdzZmVjbmJDbUVNeWxMeQpuR1Z4WVNpUk5jaWdNb1o3ZXVyZ2RtR0QvTzRtREc4MER5NFBKN2xGOC84WHg3MDFWN1lqZ0duSUkyL1Z3cDFrCnZsUjl4VEo1bFZwQU5YcVNZcTFrd3llU1BuMUtMS3QwRTQyVlA2Y0NnWUVBMmw0T0pDeU9KdXpnd2JNa29FVDcKbXJkWVNOdWw5YWtBa2J2eHQreWhSUGFPU2dsbmRYTUJ3R0I2aFl6QTlacUpLZzd0MnlPSkZ3dWlUbkZJSEpHMgpNZ1B3TTFyMXpvYTlvd0ZZYm5aSk9rTm1zVUhUNU1VQ09XYWtOUzhXb3M3Z3dmRUpXVm55bzlUNkpVa3pPZ05pCjViQXZPWFo4d2lVQU0vZWZhcHp6VjJjQ2dZQmJLdFkvRi9mVjFWQmxFOStFa1VEdlB6ZFNHOUllR2hqMmNCQzkKMnRqdGhwcGpPYVlPRExkTG96WVl2T1NuV1JHTk4waE9TQTM3bnYzalpFSE1Kck4vSTRwdkR1M3pKQ0t5M2JHUwpwNnFvbHpTUGF2ZEZwUkd6N045L05jdm9xbDdqa2ZUM0JveUJRNFlwd0diVEJaUmNjS1FxbkxqaFExYWoranpVCmEyUGlwd0tCZ1FDQ0x1T3JoTzM3VW92TW5tTnJSelhud3U5QytWQ0I0b0dmNlF0akVlaE14L0orNmVodlNZdWIKbExPeGVaUUh6VmtDM0k2clZNYksxcXgwdDhRbmIrNWpIUkFrUjR4L0phVG9qcFpZcW5nZExydFk0L3FMS0pxNwo0YU9MWWpKeUwzWUIwOWczcjY4d2NuVFVIYmNaWWorUTd4VDFZL250WE5wM3BkYlljNDdOVVE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= | base64 --decode) > ${VX_ROOT}/data/name/key
14
+ chmod 0600 ${VX_ROOT}/data/name/key
15
+ export VX_PRIVATE_KEY=${VX_ROOT}/data/name/key
16
+ (echo IyEvYmluL3NoCi91c3IvYmluL3NzaCAtQSAtbyBMb2dMZXZlbD1xdWlldCAtbyBTdHJpY3RIb3N0S2V5Q2hlY2tpbmc9bm8gLW8gVXNlcktub3duSG9zdHNGaWxlPS9kZXYvbnVsbCAtaSAke1ZYX1JPT1R9L2RhdGEvbmFtZS9rZXkgJEAK | base64 --decode) > ${VX_ROOT}/data/name/git_ssh
17
+ chmod 0750 ${VX_ROOT}/data/name/git_ssh
18
+ export GIT_SSH=${VX_ROOT}/data/name/git_ssh
19
+ echo "$ git clone --depth=50 --branch=master git@github.com:dima-exe/ci-worker-test-repo.git ${VX_ROOT}/code/name"
20
+ git clone --depth=50 --branch=master git@github.com:dima-exe/ci-worker-test-repo.git ${VX_ROOT}/code/name
21
+ echo "$ git checkout -qf b665f90239563c030f1b280a434b3d84daeda1bd"
22
+ ( cd ${VX_ROOT}/code/name && git checkout -qf b665f90239563c030f1b280a434b3d84daeda1bd )
23
+ unset GIT_SSH
24
+ echo "Starting SSH Agent"
25
+ eval "$(ssh-agent)"
26
+ ssh-add $VX_PRIVATE_KEY
27
+ cd ${VX_ROOT}/code/name
28
+ export CASHER_DIR=$HOME/.casher && ( mkdir -p $CASHER_DIR/bin && /usr/bin/curl https://raw2.github.com/dima-exe/casher/master/bin/casher -s -o $HOME/.casher/bin/casher && chmod +x $HOME/.casher/bin/casher ) || true
29
+ test -f $HOME/.casher/bin/casher && /opt/rbenv/versions/1.9.3-p547/bin/ruby $HOME/.casher/bin/casher fetch http://example.com/master/rvm-1.9.3-gemfile.tgz || true
30
+ test -f $HOME/.casher/bin/casher && /opt/rbenv/versions/1.9.3-p547/bin/ruby $HOME/.casher/bin/casher add ~/.rubygems || true
31
+ unset CASHER_DIR
32
+
33
+ # before install
34
+ eval "$(rbenv init -)" || true
35
+ rbenv shell $(rbenv versions | sed -e 's/^*/ /' | awk '{print $1}' | grep -v 'system' | grep '1.9.3' | tail -n1)
36
+ echo \$\ export\ BUNDLE_GEMFILE\=\$\{PWD\}/Gemfile
37
+ export BUNDLE_GEMFILE=${PWD}/Gemfile
38
+ echo \$\ export\ GEM_HOME\=\~/.rubygems
39
+ export GEM_HOME=~/.rubygems
40
+
41
+ # announce
42
+ echo \$\ ruby\ --version
43
+ ruby --version
44
+ echo \$\ gem\ --version
45
+ gem --version
46
+ echo \$\ bundle\ --version
47
+ bundle --version
48
+
49
+ # install
50
+ echo \$\ bundle\ install\
51
+ bundle install
52
+ echo \$\ bundle\ clean\ --force
53
+ bundle clean --force
54
+ echo \$\ bundle\ install
55
+ bundle install
56
+ echo \$\ bundle\ clean\ --force
57
+ bundle clean --force
58
+
59
+ # before script
@@ -0,0 +1 @@
1
+ language: ruby
@@ -0,0 +1,8 @@
1
+
2
+ # script
3
+ if [ -f Rakefile ] ; then
4
+ echo \$\ bundle\ exec\ rake
5
+ bundle exec rake
6
+ fi
7
+
8
+ # after success
@@ -0,0 +1,10 @@
1
+
2
+ # after script init
3
+ export CI_JOB_ID=1
4
+ export CI_BUILD_ID=12
5
+ export CI_BRANCH=master
6
+ export VX_ROOT=$(pwd)
7
+ cd ${VX_ROOT}/code/name
8
+
9
+ # after script
10
+ test -f $HOME/.casher/bin/casher && /opt/rbenv/versions/1.9.3-p547/bin/ruby $HOME/.casher/bin/casher push http://example.com/master/rvm-1.9.3-gemfile.tgz
@@ -0,0 +1,61 @@
1
+
2
+ # init
3
+ set -e
4
+ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
5
+ export LC_ALL=en_US.UTF8
6
+ export DEBIAN_FRONTEND=noninteractive
7
+ export CI_JOB_ID=1
8
+ export CI_BUILD_ID=12
9
+ export CI_BRANCH=master
10
+ export VX_ROOT=$(pwd)
11
+ mkdir -p ${VX_ROOT}/data/name
12
+ mkdir -p ${VX_ROOT}/code/name
13
+ (echo LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdmVpcXpyMG54SkE0OGZrL1Q3cUZyT0RtZFQ5NGx2dDdvbnRHTGhxTlQ3WitHYnFMCnQ0NUY0LzVCeE5neU1iU1FmYUp3MXNHTXVuUWZqS1JkV2Z1S1VRcDB5NmJOaEFqdG5Dbm9WZWwzU01CYVhFMnIKODk2R2toTlhjMS9sejF2LzFUOGJsYy9jaFZlS1p2UVQraER2Qy9LRUNGLyt2ZDd5TDZOUmxvYXlaZHYwa3M3egpDd29JZWVUZkV1MmhkM3JYREVMZ29pTStBQUVjaVllMDhWdXl0RmpiT055MjhFeTNTR0hVUk40MThGSnJKSERzCjdCNXgzUDg5Z2xrU3RhMVRZNEpPUXRvV3V4emE3eWxTOEcxaytzcytUREIrRVQzc3FqRGUxbXhvc1JBZnFTQTcKYXBFWkszQUxiWnJ1M25ZZDI2eCtDRTg0ZHZIN0dpS29CbDBUU1FJREFRQUJBb0lCQUVFQWduYUJDRHVmb2Q0eApFaHFZSFdrdkViTFFKdGFHL2FwL3gyWEFjTjMzK1BHVmlIMHJsWUNVWnE2WjBaUngyWU1uTnJoTFI0QUtmMElFCmdHOXNTY3V6YUliTWNVdmdRblJSWTlVRU5IQVNadHR4T29vZWdMRS9MWSt3STFqMmhIclpQdmZvVGZMV0krbFoKWWYwV0RyeG9KZ2szMGxuckZicDRqRlNaaGphV21zbTFYUTRodHQ5YmZHT0JsZS9nSjZVVHIzMndGMEV5T3B2NAplcmNpMVJTVXp5RFd6MHE3VGphcTZTSGx3UTJKd2NMRzB2bnJacStZbk1KVXdqTGhDNEpBTVpFS0YvNjFLbnNNCnp3UjludU9FMlpESTF4SDV4QUErMHBOa3d6eFdjcXJ5b0tCck9NYXREYSs3Wk9KRW9iT2lxK2dscW1vcHJvdjQKZ1hYUjJJRUNnWUVBK3dQMVNaTTdFMFdudFF5UGdSaVo3RDlUU2lvVit4NTFSUHc5UHV3OEtHM1R1R09McWFNegpyTXdzY2JUb2VqaVpGU3YybEhHRGJTZldzdzc2TVlqK3ZLM1JGNWVkOE14eTNnU2ZWRnhWelNENTBlZnBKY1ZxCmtWNm4vdWEzQUpZR1ZibmVhajU2QmxqeEhieFZ2Y3lYWEZHbmFtbDhJQ1BKMmp5UjhSRTE4NDhDZ1lFQXdhNFMKamdubVJlWStUdXU3VTB4ZDZPbzBYOXRqa3FreXlHcStzdFEzSTJPZll6bXRRdmVGbFdzZmVjbmJDbUVNeWxMeQpuR1Z4WVNpUk5jaWdNb1o3ZXVyZ2RtR0QvTzRtREc4MER5NFBKN2xGOC84WHg3MDFWN1lqZ0duSUkyL1Z3cDFrCnZsUjl4VEo1bFZwQU5YcVNZcTFrd3llU1BuMUtMS3QwRTQyVlA2Y0NnWUVBMmw0T0pDeU9KdXpnd2JNa29FVDcKbXJkWVNOdWw5YWtBa2J2eHQreWhSUGFPU2dsbmRYTUJ3R0I2aFl6QTlacUpLZzd0MnlPSkZ3dWlUbkZJSEpHMgpNZ1B3TTFyMXpvYTlvd0ZZYm5aSk9rTm1zVUhUNU1VQ09XYWtOUzhXb3M3Z3dmRUpXVm55bzlUNkpVa3pPZ05pCjViQXZPWFo4d2lVQU0vZWZhcHp6VjJjQ2dZQmJLdFkvRi9mVjFWQmxFOStFa1VEdlB6ZFNHOUllR2hqMmNCQzkKMnRqdGhwcGpPYVlPRExkTG96WVl2T1NuV1JHTk4waE9TQTM3bnYzalpFSE1Kck4vSTRwdkR1M3pKQ0t5M2JHUwpwNnFvbHpTUGF2ZEZwUkd6N045L05jdm9xbDdqa2ZUM0JveUJRNFlwd0diVEJaUmNjS1FxbkxqaFExYWoranpVCmEyUGlwd0tCZ1FDQ0x1T3JoTzM3VW92TW5tTnJSelhud3U5QytWQ0I0b0dmNlF0akVlaE14L0orNmVodlNZdWIKbExPeGVaUUh6VmtDM0k2clZNYksxcXgwdDhRbmIrNWpIUkFrUjR4L0phVG9qcFpZcW5nZExydFk0L3FMS0pxNwo0YU9MWWpKeUwzWUIwOWczcjY4d2NuVFVIYmNaWWorUTd4VDFZL250WE5wM3BkYlljNDdOVVE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= | base64 --decode) > ${VX_ROOT}/data/name/key
14
+ chmod 0600 ${VX_ROOT}/data/name/key
15
+ export VX_PRIVATE_KEY=${VX_ROOT}/data/name/key
16
+ (echo IyEvYmluL3NoCi91c3IvYmluL3NzaCAtQSAtbyBMb2dMZXZlbD1xdWlldCAtbyBTdHJpY3RIb3N0S2V5Q2hlY2tpbmc9bm8gLW8gVXNlcktub3duSG9zdHNGaWxlPS9kZXYvbnVsbCAtaSAke1ZYX1JPT1R9L2RhdGEvbmFtZS9rZXkgJEAK | base64 --decode) > ${VX_ROOT}/data/name/git_ssh
17
+ chmod 0750 ${VX_ROOT}/data/name/git_ssh
18
+ export GIT_SSH=${VX_ROOT}/data/name/git_ssh
19
+ echo "$ git clone --depth=50 --branch=master git@github.com:dima-exe/ci-worker-test-repo.git ${VX_ROOT}/code/name"
20
+ git clone --depth=50 --branch=master git@github.com:dima-exe/ci-worker-test-repo.git ${VX_ROOT}/code/name
21
+ echo "$ git checkout -qf b665f90239563c030f1b280a434b3d84daeda1bd"
22
+ ( cd ${VX_ROOT}/code/name && git checkout -qf b665f90239563c030f1b280a434b3d84daeda1bd )
23
+ unset GIT_SSH
24
+ echo "Starting SSH Agent"
25
+ eval "$(ssh-agent)"
26
+ ssh-add $VX_PRIVATE_KEY
27
+ cd ${VX_ROOT}/code/name
28
+ export CASHER_DIR=$HOME/.casher && ( mkdir -p $CASHER_DIR/bin && /usr/bin/curl https://raw2.github.com/dima-exe/casher/master/bin/casher -s -o $HOME/.casher/bin/casher && chmod +x $HOME/.casher/bin/casher ) || true
29
+ test -f $HOME/.casher/bin/casher && /opt/rbenv/versions/1.9.3-p547/bin/ruby $HOME/.casher/bin/casher fetch http://example.com/master/rvm-1.9.3-gemfile.tgz || true
30
+ test -f $HOME/.casher/bin/casher && /opt/rbenv/versions/1.9.3-p547/bin/ruby $HOME/.casher/bin/casher add ~/.rubygems || true
31
+ unset CASHER_DIR
32
+
33
+ # before install
34
+ eval "$(rbenv init -)" || true
35
+ rbenv shell $(rbenv versions | sed -e 's/^*/ /' | awk '{print $1}' | grep -v 'system' | grep '1.9.3' | tail -n1)
36
+ echo \$\ export\ BUNDLE_GEMFILE\=\$\{PWD\}/Gemfile
37
+ export BUNDLE_GEMFILE=${PWD}/Gemfile
38
+ echo \$\ export\ GEM_HOME\=\~/.rubygems
39
+ export GEM_HOME=~/.rubygems
40
+
41
+ # announce
42
+ echo \$\ ruby\ --version
43
+ ruby --version
44
+ echo \$\ gem\ --version
45
+ gem --version
46
+ echo \$\ bundle\ --version
47
+ bundle --version
48
+
49
+ # install
50
+ echo \$\ bundle\ install\
51
+ bundle install
52
+ echo \$\ bundle\ clean\ --force
53
+ bundle clean --force
54
+ echo \$\ bundle\ install
55
+ bundle install
56
+ echo \$\ bundle\ clean\ --force
57
+ bundle clean --force
58
+
59
+ # before script
60
+ echo \$\ echo\ before\ script
61
+ echo before script