blubber 0.1.9 → 0.2.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 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