blubber 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2484c94b32da5b9915155e5e79cabbbdb1e7b13cf0d6b4be56819e97faa673d4
4
- data.tar.gz: 76f0b0b06e6d4e72274969f4e44c468f09edda884e90b7ee31b6e5f03fc6ffa8
3
+ metadata.gz: 2fc43a8d69b7d4d93a797191b720892f7b8ad4a853f450d6177cb32064a03ebc
4
+ data.tar.gz: b56d0301887bc29ab7dbf07328db241f7230afc7ee101cf475350250187c1850
5
5
  SHA512:
6
- metadata.gz: 74148c5d3fc3c3206235a162ad9501d14ff96149b2166769fa9b8d3780006c9a2dd1f7358a9b5eb100d59bb1caf6da7c78c9d8ef2e3e2a5913666f9bdc5b512e
7
- data.tar.gz: 9d82634efd869b5457062e11277aa14b49b1df4053e5806c957e709aa1b8c8a4ba942e87cb37be0d1da2747b21b59a7661a5e14e2a564f29c4cb17e001492bd3
6
+ metadata.gz: cb8a7675b4959203c9675d3dd1e35cc645924f8e66638e5c94d5b4a9f1d19eea96aba8c662a32c8e51e0c1b5b9d6adae157c5b471cfc274849644d2602cec767
7
+ data.tar.gz: b6696c0121a6cc8fef1e541c1e4b0216171e7cfa476370b06a9fee5e74400d4fa2eab841aa129e03230413b43e5253d1fe004db7eed36eb85510bc414dd8b4fe
@@ -45,7 +45,7 @@ module Blubber
45
45
  def build(layer)
46
46
  status = nil
47
47
  Dir.chdir(layer) do
48
- status = runner.run('docker build .') do |stdout, _, _|
48
+ status = runner.run("docker build --build-arg BRANCH_NAME=#{tagger.branch_name} .") do |stdout, _, _|
49
49
  if stdout && (m = stdout.match(/Successfully built ([a-z0-9]{12})/))
50
50
  build_ids[layer] = m[1]
51
51
  end
data/lib/blubber/flow.rb CHANGED
@@ -29,8 +29,13 @@ module Blubber
29
29
 
30
30
  def self.changed_layers
31
31
  @changed_layers ||= begin
32
- if ENV['GIT_PREVIOUS_SUCCESSFUL_COMMIT'] != '' && ENV['BUILD_ALL'] != 'true'
32
+ if ENV.fetch('GIT_PREVIOUS_SUCCESSFUL_COMMIT', '').empty? || ENV['BUILD_ALL'] == 'true'
33
+ Dir['**/*/Dockerfile'].map { |d| File.dirname(d) }.sort
34
+ else
33
35
  commit = ENV['GIT_COMMIT'] || `git rev-parse HEAD`.strip
36
+
37
+ puts "Detecting changed layers between #{ENV['GIT_PREVIOUS_SUCCESSFUL_COMMIT']}..#{commit}"
38
+
34
39
  changes = `git diff --name-only #{ENV['GIT_PREVIOUS_SUCCESSFUL_COMMIT']}..#{commit}`.split("\n")
35
40
  paths = []
36
41
  changes.each do |path|
@@ -40,8 +45,6 @@ module Blubber
40
45
  end
41
46
  end
42
47
  paths
43
- else
44
- Dir['**/*/Dockerfile'].map { |d| File.dirname(d) }.sort
45
48
  end
46
49
  end
47
50
  end
@@ -12,15 +12,18 @@ module Blubber
12
12
  # read each stream from a new thread
13
13
  { out: stdout, err: stderr }.each do |key, stream|
14
14
  Thread.new do
15
- until (line = stream.gets).nil?
16
- # yield the block depending on the stream
17
- if key == :out
18
- logger.info line.strip
19
- yield line, nil, thread if block_given?
20
- else
21
- logger.error line.strip
22
- yield nil, line, thread if block_given?
15
+ begin
16
+ until (line = stream.gets).nil?
17
+ # yield the block depending on the stream
18
+ if key == :out
19
+ logger.info line.strip
20
+ yield line, nil, thread if block_given?
21
+ else
22
+ logger.error line.strip
23
+ yield nil, line, thread if block_given?
24
+ end
23
25
  end
26
+ rescue IOError
24
27
  end
25
28
  end
26
29
  end
@@ -22,13 +22,6 @@ module Blubber
22
22
  push
23
23
  end
24
24
 
25
- def project
26
- [
27
- Tagger.docker_registry,
28
- *layer.split('/').select { |p| p[/[a-z0-9]+/] }
29
- ].join('/')
30
- end
31
-
32
25
  def tags
33
26
  @tags ||= begin
34
27
  tags = []
@@ -45,6 +38,17 @@ module Blubber
45
38
  end
46
39
  end
47
40
 
41
+ def project
42
+ [
43
+ Tagger.docker_registry,
44
+ *layer.split('/').select { |p| p[/[a-z0-9]+/] }
45
+ ].join('/')
46
+ end
47
+
48
+ def branch_name
49
+ @branch_name ||= ENV['BRANCH_NAME'] || `git rev-parse HEAD | git branch -a --contains | sed -n 2p | cut -d'/' -f 3-`.strip
50
+ end
51
+
48
52
  private
49
53
 
50
54
  attr_reader :layer, :image_id, :logger
@@ -65,10 +69,6 @@ module Blubber
65
69
  @commit ||= ENV['GIT_COMMIT'] || `git rev-parse HEAD`.strip
66
70
  end
67
71
 
68
- def branch_name
69
- @branch_name ||= ENV['BRANCH_NAME'] || `git rev-parse HEAD | git branch -a --contains | sed -n 2p | cut -d'/' -f 3-`.strip
70
- end
71
-
72
72
  def push
73
73
  status = true
74
74
  tags.each do |tag|
@@ -1,3 +1,3 @@
1
1
  module Blubber
2
- VERSION = '0.1.9'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blubber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikko Kokkonen