dapp 0.28.9 → 0.28.10

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: 606f920d89eb260413661a3a30098442df068a1a
4
- data.tar.gz: 8576a586ebc9213fe8ed3a335fb25ff495cd1cb3
3
+ metadata.gz: 435bfad980694c0766403ee37dc76a22df40f9d1
4
+ data.tar.gz: 547eb74b7dfcd6da66ac0198ee88c4481238f7d3
5
5
  SHA512:
6
- metadata.gz: 72c82ed6e36ffaa1dd905314074366793cf04976929e59ce5691158c2393f675f065561ec89885f3692a7b764e8fd891987ed415b0b3ca42c4b047f097dbd9e4
7
- data.tar.gz: cc0180070f5d9beb7513cefe54193e96988ece5e10af1054a21dcb495a5e6cc8144087ba65de47331451e3c327aad2e2bf052aefaf23d89870180273e9300947
6
+ metadata.gz: 80568b12b3424f0d2565d0c0f3314ebca37b19d941af313ee5debbd5a871e55084effc0cee35fcd379867329f30a2b0714569e4ae8a19a832bcc95bfd2bcc05c
7
+ data.tar.gz: 1003e256b226c28f2742e92b8847cbf0181fca828530f7f36b342f3294896d7e054b846c4f121a878e1c2775374c88df76f0386754f704ae825a68fd45afd52d
@@ -77,27 +77,18 @@ module Dapp
77
77
  def cleanup_repo_by_policies(registry, detailed_dimgs_images_by_scheme)
78
78
  %w(git_tag git_commit).each_with_object([]) do |scheme, dimgs_images|
79
79
  dimgs_images.concat begin
80
- detailed_dimgs_images_by_scheme[scheme].map do |dimg|
81
- next if dry_run? && begin
80
+ detailed_dimgs_images_by_scheme[scheme].select do |dimg|
81
+ !dry_run? && begin
82
82
  if scheme == 'git_tag'
83
- !consistent_git_tags.include?(dimg[:tag])
83
+ consistent_git_tags.include?(dimg[:tag])
84
84
  elsif scheme == 'git_commit'
85
- !git_own_repo.commit_exists?(dimg[:tag])
85
+ git_own_repo.commit_exists?(dimg[:tag])
86
86
  end
87
87
  end
88
-
89
- dimg[:created_at] = begin
90
- if scheme == 'git_tag'
91
- git_own_repo.tag_at(git_tag_by_consistent_git_tag(dimg[:tag]))
92
- elsif scheme == 'git_commit'
93
- git_own_repo.commit_at(dimg[:tag])
94
- end
95
- end
96
- dimg
97
- end.compact
88
+ end
98
89
  end
99
90
  end.tap do |detailed_dimgs_images|
100
- sorted_detailed_dimgs_images = detailed_dimgs_images.sort_by { |dimg| dimg[:created_at] }
91
+ sorted_detailed_dimgs_images = detailed_dimgs_images.sort_by { |dimg| dimg[:created_at] }.reverse
101
92
  expired_dimgs_images, not_expired_dimgs_images = sorted_detailed_dimgs_images.partition do |dimg_image|
102
93
  dimg_image[:created_at] < DATE_POLICY
103
94
  end
@@ -48,14 +48,14 @@ module Dapp
48
48
  .reject(&:empty?)
49
49
  .each do |l|
50
50
  id, name, created_at = l.split(';')
51
- images << { id: id, name: name, created_at: Time.parse(created_at), **extra_fields }
51
+ images << { id: id, name: name, created_at: Time.parse(created_at).to_i, **extra_fields }
52
52
  end
53
53
  end
54
54
  end
55
55
 
56
- def remove_project_images(project_images)
56
+ def remove_project_images(project_images, force: false)
57
57
  update_project_images_cache(project_images)
58
- remove_images(project_images_to_delete(project_images))
58
+ remove_images(project_images_to_delete(project_images), force: force)
59
59
  end
60
60
 
61
61
  def update_project_images_cache(project_images)
@@ -72,7 +72,7 @@ module Dapp
72
72
 
73
73
  def dapp_containers_flush_by_label(label)
74
74
  log_proper_containers do
75
- remove_containers_by_query(%(#{host_docker} ps -a -f "label=#{label}" -q --no-trunc))
75
+ remove_containers_by_query(%(#{host_docker} ps -a -f "label=#{label}" -f "name=dapp.build." -q --no-trunc))
76
76
  end
77
77
  end
78
78
 
@@ -90,10 +90,10 @@ module Dapp
90
90
  with_subquery(images_query) { |ids| remove_images(ids) }
91
91
  end
92
92
 
93
- def remove_images(images_ids_or_names)
93
+ def remove_images(images_ids_or_names, force: false)
94
94
  ids_chunks(images_ids_or_names) do |chunk|
95
- chunk = ignore_used_images(chunk)
96
- remove_base("#{host_docker} rmi%{force_option} %{ids}", chunk, force: false)
95
+ chunk = ignore_used_images(chunk) unless force
96
+ remove_base("#{host_docker} rmi%{force_option} %{ids}", chunk, force: force)
97
97
  end
98
98
  end
99
99
 
@@ -6,7 +6,7 @@ module Dapp
6
6
  def flush_local
7
7
  lock("#{name}.images") do
8
8
  log_step_with_indent(:flush) do
9
- remove_project_images(dapp_project_dimgs)
9
+ remove_project_images(dapp_project_dimgs, force: true)
10
10
  stages_flush_local if with_stages?
11
11
  end
12
12
  end
@@ -58,14 +58,14 @@ module Dapp
58
58
 
59
59
  def dapp_images_flush_by_label(label)
60
60
  log_step_with_indent('proper images') do
61
- remove_images(dapp_images_names_by_label(label))
61
+ remove_images(dapp_images_names_by_label(label), force: true)
62
62
  end
63
63
  end
64
64
 
65
65
  def proper_cache_version
66
66
  log_proper_cache do
67
67
  proper_cache_all_images_names.tap do |proper_cache_images|
68
- remove_images(dapp_images_names_by_label('dapp').select { |image_name| !proper_cache_images.include?(image_name) })
68
+ remove_images(dapp_images_names_by_label('dapp').select { |image_name| !proper_cache_images.include?(image_name) }, force: true)
69
69
  end
70
70
  end
71
71
  end
@@ -46,7 +46,7 @@ module Dapp
46
46
 
47
47
  # Удаление только образов старше 2ч
48
48
  dimgstages.delete_if do |dimgstage|
49
- Time.now - dimgstage[:created_at] < 2 * 60 * 60
49
+ Time.now.to_i - dimgstage[:created_at] < 2 * 60 * 60
50
50
  end unless ENV['DAPP_STAGES_CLEANUP_LOCAL_DISABLED_DATE_POLICY']
51
51
 
52
52
  remove_project_images(dimgstages)
@@ -7,10 +7,12 @@ module Dapp
7
7
  protected
8
8
 
9
9
  def repo_detailed_dimgs_images(registry)
10
- repo_dimgs_images(registry).each do |dimg|
10
+ repo_dimgs_images(registry).select do |dimg|
11
11
  image_history = registry.image_history(dimg[:tag], dimg[:dimg])
12
+ dimg[:created_at] = Time.parse(image_history['created']).to_i
12
13
  dimg[:parent] = image_history['container_config']['Image']
13
- dimg[:labels] = image_history['config']['Labels']
14
+ dimg[:labels] = image_history['config']['Labels'] || {}
15
+ dimg[:labels]['dapp'] == name
14
16
  end
15
17
  end
16
18
 
@@ -6,7 +6,7 @@ module Dapp
6
6
  module FlushLocal
7
7
  def stages_flush_local
8
8
  lock("#{name}.images") do
9
- log_step_with_indent('flush stages') { remove_project_images(dapp_project_dimgstages) }
9
+ log_step_with_indent('flush stages') { remove_project_images(dapp_project_dimgstages, force: true) }
10
10
  end
11
11
 
12
12
  dapp_containers_flush_by_label("dapp=#{name}")
@@ -146,11 +146,6 @@ module Dapp
146
146
  raise Error::Rugged, code: :git_repository_reference_error, data: { name: name, message: e.message.downcase }
147
147
  end
148
148
 
149
- def tag_at(name)
150
- tag = git.tags.find { |t| t.name == name }
151
- tag.target.time.to_i
152
- end
153
-
154
149
  def tags
155
150
  git.tags.map(&:name)
156
151
  end
@@ -161,11 +156,7 @@ module Dapp
161
156
  .select { |b| b.start_with?('origin/') }
162
157
  .map { |b| b.reverse.chomp('origin/'.reverse).reverse }
163
158
  end
164
-
165
- def commit_at(commit)
166
- lookup_commit(commit).time.to_i
167
- end
168
-
159
+
169
160
  def find_commit_id_by_message(regex)
170
161
  walker.each do |commit|
171
162
  msg = commit.message.encode('UTF-8', invalid: :replace, undef: :replace)
@@ -5,7 +5,7 @@ module Dapp
5
5
  include Argument
6
6
 
7
7
  def initialize(name:, dapp:, built_id: nil, from: nil)
8
- @container_name = "#{dapp.name}.#{SecureRandom.hex(4)}"
8
+ @container_name = "dapp.build.#{SecureRandom.hex(4)}"
9
9
  @built_id = built_id
10
10
 
11
11
  @bash_commands = []
@@ -1,4 +1,4 @@
1
1
  module Dapp
2
- VERSION = "0.28.9"
2
+ VERSION = "0.28.10"
3
3
  BUILD_CACHE_VERSION = 29
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.9
4
+ version: 0.28.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Stolyarov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-28 00:00:00.000000000 Z
11
+ date: 2018-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-shellout