construi 0.29.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # Construi
2
2
 
3
- [![Gem](https://img.shields.io/gem/v/construi.svg?style=plastic)](https://rubygems.org/gems/construi) [![Code Climate](https://img.shields.io/codeclimate/github/lstephen/construi.svg?style=plastic)](https://codeclimate.com/github/lstephen/construi) [![Code Climate](https://img.shields.io/codeclimate/coverage/github/lstephen/construi.svg?style=plastic)](https://codeclimate.com/github/lstephen/construi) [![Coveralls](https://img.shields.io/coveralls/lstephen/construi/develop.svg?style=plastic)](https://coveralls.io/r/lstephen/construi)
3
+ [![Gem](https://img.shields.io/gem/v/construi.svg?style=plastic)](https://rubygems.org/gems/construi) [![Build Status](http://jenkins.mylonelybear.org/buildStatus/icon?job=construi-develop)](http://jenkins.mylonelybear.org/job/construi-develop/)
4
+ [![Code Climate](https://img.shields.io/codeclimate/github/lstephen/construi.svg?style=plastic)](https://codeclimate.com/github/lstephen/construi) [![Code Climate](https://img.shields.io/codeclimate/coverage/github/lstephen/construi.svg?style=plastic)](https://codeclimate.com/github/lstephen/construi) [![Coveralls](https://img.shields.io/coveralls/lstephen/construi/develop.svg?style=plastic)](https://coveralls.io/r/lstephen/construi)
4
5
 
@@ -1,8 +1,10 @@
1
1
  image: ruby:1.9
2
2
 
3
3
  environment:
4
+ - JENKINS_URL
5
+ - BUILD_NUMBER
4
6
  - CODECLIMATE_REPO_TOKEN
5
- - COVERALLS_TOKEN
7
+ - COVERALLS_REPO_TOKEN
6
8
  - GIT_COMMIT
7
9
  - GIT_SSH_KEY
8
10
  - RUBYGEMS_API_KEY
@@ -17,35 +19,8 @@ targets:
17
19
  - bundle exec rake install
18
20
 
19
21
  release:
20
- - git config user.name lstephen
21
- - git config user.email levi.stephen@gmail.com
22
- - mkdir -p ~/.ssh
23
- - cp ${GIT_SSH_KEY} ~/.ssh/id_rsa
24
- - chmod 0600 ~/.ssh/id_rsa
25
- - printf "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
26
- - git config push.default simple
27
- - git checkout master
28
- - git pull --rebase
29
- - echo ${GIT_COMMIT}
30
- - git merge --commit ${GIT_COMMIT}
31
- - git push origin
32
- - git checkout develop
33
- - git pull --rebase
34
- - bundle install --path vendor/bundle
35
- - bundle exec gem bump --version minor
36
- - git push origin
22
+ - bash construi/release/script.sh
37
23
 
38
24
  deploy:
39
- - git config user.name lstephen
40
- - git config user.email levi.stephen@gmail.com
41
- - mkdir -p ~/.ssh
42
- - cp ${GIT_SSH_KEY} ~/.ssh/id_rsa
43
- - chmod 0600 ~/.ssh/id_rsa
44
- - printf "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
45
- - git config push.default simple
46
- - mkdir -p ~/.gem
47
- - "printf -- \"---\\n:rubygems_api_key: ${RUBYGEMS_API_KEY}\" >> ~/.gem/credentials"
48
- - chmod 0600 ~/.gem/credentials
49
- - bundle install --path vendor/bundle
50
- - bundle exec gem release --tag
25
+ - bash construi/deploy/script.sh
51
26
 
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ git config user.name lstephen
6
+ git config user.email levi.stephen@gmail.com
7
+ mkdir -p ~/.ssh
8
+ cp ${GIT_SSH_KEY} ~/.ssh/id_rsa
9
+ chmod 0600 ~/.ssh/id_rsa
10
+ printf "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
11
+ git config push.default simple
12
+ mkdir -p ~/.gem
13
+ printf -- "---\\n:rubygems_api_key: ${RUBYGEMS_API_KEY}" >> ~/.gem/credentials
14
+ chmod 0600 ~/.gem/credentials
15
+ bundle install --path vendor/bundle
16
+ bundle exec gem release --tag
17
+
@@ -0,0 +1,22 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ git config user.name lstephen
6
+ git config user.email levi.stephen@gmail.com
7
+ mkdir -p ~/.ssh
8
+ cp ${GIT_SSH_KEY} ~/.ssh/id_rsa
9
+ chmod 0600 ~/.ssh/id_rsa
10
+ printf "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
11
+ git config push.default simple
12
+ git checkout master
13
+ git pull --rebase
14
+ echo ${GIT_COMMIT}
15
+ git merge --commit ${GIT_COMMIT}
16
+ git push origin
17
+ git checkout develop
18
+ git pull --rebase
19
+ bundle install --path vendor/bundle
20
+ bundle exec gem bump --version minor
21
+ git push origin
22
+
@@ -40,7 +40,7 @@ module Construi
40
40
  end
41
41
 
42
42
  def self.run(targets)
43
- Runner.new(Config.load('construi.yml')).run(targets)
43
+ Runner.new(Config.load_file('construi.yml')).run(targets)
44
44
  end
45
45
 
46
46
  end
@@ -10,8 +10,12 @@ module Construi
10
10
  @yaml = yaml
11
11
  end
12
12
 
13
- def self.load(path)
14
- new(YAML.load_file(path))
13
+ def self.load(content)
14
+ new YAML.load(content)
15
+ end
16
+
17
+ def self.load_file(path)
18
+ new YAML.load_file(path)
15
19
  end
16
20
 
17
21
  def image
@@ -35,7 +35,7 @@ module Construi
35
35
 
36
36
  def self.create(image, cmd, env)
37
37
  wrap Docker::Container.create(
38
- 'Cmd' => ["sh", "-c", cmd],
38
+ 'Cmd' => cmd.split,
39
39
  'Image' => image.id,
40
40
  'Env' => env.to_json,
41
41
  'Tty' => false,
@@ -1,3 +1,3 @@
1
1
  module Construi
2
- VERSION = "0.29.0"
2
+ VERSION = "0.30.0"
3
3
  end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ require 'construi/config'
4
+
5
+ RSpec.describe Construi::Config do
6
+
7
+ describe '#image' do
8
+ let(:config_content) do
9
+ <<-YAML
10
+ image: #{image}
11
+ YAML
12
+ end
13
+
14
+ let(:config) { Construi::Config.load(config_content) }
15
+
16
+ subject { config.image }
17
+
18
+ %w{ test-image:latest lstephen/construi:latest }.each do |image_name|
19
+ context "when image is #{image_name}" do
20
+ let(:image) { image_name }
21
+ it { is_expected.to eq(image) }
22
+ end
23
+ end
24
+ end
25
+
26
+ end
27
+
@@ -2,9 +2,18 @@
2
2
  require 'codeclimate-test-reporter'
3
3
  require 'coveralls'
4
4
 
5
- Coveralls.wear!
5
+ #CodeClimate::TestReporter.start
6
+ #Coveralls.wear!
6
7
 
7
- CodeClimate::TestReporter.start
8
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
9
+ Coveralls::SimpleCov::Formatter,
10
+ SimpleCov::Formatter::HTMLFormatter,
11
+ CodeClimate::TestReporter::Formatter
12
+ ]
13
+ SimpleCov.start do
14
+ add_filter '/vendor/'
15
+ add_filter '/spec'
16
+ end
8
17
 
9
18
  RSpec.configure do |config|
10
19
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: construi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.0
4
+ version: 0.30.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-12 00:00:00.000000000 Z
12
+ date: 2015-03-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: docker-api
@@ -141,11 +141,14 @@ files:
141
141
  - bin/construi
142
142
  - construi.gemspec
143
143
  - construi.yml
144
+ - construi/deploy/script.sh
145
+ - construi/release/script.sh
144
146
  - lib/construi.rb
145
147
  - lib/construi/config.rb
146
148
  - lib/construi/container.rb
147
149
  - lib/construi/image.rb
148
150
  - lib/construi/version.rb
151
+ - spec/lib/config_spec.rb
149
152
  - spec/sanity_spec.rb
150
153
  - spec/spec_helper.rb
151
154
  homepage: ''
@@ -163,7 +166,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
163
166
  version: '0'
164
167
  segments:
165
168
  - 0
166
- hash: 461137891521925881
169
+ hash: -746607983965103946
167
170
  required_rubygems_version: !ruby/object:Gem::Requirement
168
171
  none: false
169
172
  requirements:
@@ -172,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
175
  version: '0'
173
176
  segments:
174
177
  - 0
175
- hash: 461137891521925881
178
+ hash: -746607983965103946
176
179
  requirements: []
177
180
  rubyforge_project:
178
181
  rubygems_version: 1.8.23.2
@@ -180,5 +183,6 @@ signing_key:
180
183
  specification_version: 3
181
184
  summary: Build tool using Docker to specify build environment
182
185
  test_files:
186
+ - spec/lib/config_spec.rb
183
187
  - spec/sanity_spec.rb
184
188
  - spec/spec_helper.rb