dash 3.1.4 → 3.1.5

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: 8c3e7210d642d1f0fc0d9a414cdf74a0c4a1ec9e09cf2f534c1cb1f6b02342a5
4
- data.tar.gz: d91f21902a85f56d76bfde689a75d6c3d5b10aa587138de732943e3a0015433d
3
+ metadata.gz: f5065b1c8a366e822c1a5725f6695e7a3c331fcc463f46468fbe4fee20d78849
4
+ data.tar.gz: 771148010423f80ae9be75786e72ea16c04ed42aed1df9299d7bbf8964f5576a
5
5
  SHA512:
6
- metadata.gz: e62792a82328365e87efd4428cfab12808281fc617157f8699e757962b742988560ff66ebdd0c5fa7f36f6071b1a46441284038c442e74724ec0b1caa354f5c9
7
- data.tar.gz: f328a6e03c4d302170ad406a6550ddd95987622b26af74442945b25cec44081074b995a633b97f546bb873b97e3b9b3905c78973526698a5e0dd4d5635f6dd13
6
+ metadata.gz: 9d2331591dddd15a2b4dfebe431140f1a8b514060478160c306af84474183792097abf2ac23f90f025ee13ab4e218fdeb552273ac22bfb59853ab21e1e9d83dd
7
+ data.tar.gz: 45f79aa83398b76497eedb2b39fc66bbc9c28ef3beb3934ed8701dda2236e746f288645a8355c0e3a7c3091eb3189eb4b236122d27b8c5ceb36a0bb31c756b4b
@@ -180,6 +180,8 @@ module Kamal::Cli
180
180
 
181
181
  say "Acquiring the server lock...", :magenta
182
182
 
183
+ retried_after_release = false
184
+
183
185
  loop do
184
186
  held = []
185
187
 
@@ -194,9 +196,24 @@ module Kamal::Cli
194
196
  release_server_lock_on(held)
195
197
 
196
198
  unless details_shown
197
- say "Server lock is held by:", :magenta
198
- puts capture_lock_status(lock: KAMAL.server_lock, hosts: server_lock_hosts.first)
199
- details_shown = true
199
+ # The holder can release between our failed mkdir and this read.
200
+ # That means the lock is free, not that anything went wrong, so
201
+ # it must never escape as LockMissingError and fail the deploy.
202
+ status = begin
203
+ capture_lock_status(lock: KAMAL.server_lock, hosts: server_lock_hosts.first)
204
+ rescue LockMissingError
205
+ nil
206
+ end
207
+
208
+ if status
209
+ say "Server lock is held by:", :magenta
210
+ puts status
211
+ details_shown = true
212
+ elsif !retried_after_release
213
+ # Gone already — take one immediate run at it before backing off.
214
+ retried_after_release = true
215
+ next
216
+ end
200
217
  end
201
218
 
202
219
  remaining = (deadline - Time.now).to_i
data/lib/kamal/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kamal
2
- VERSION = "3.1.4"
2
+ VERSION = "3.1.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dash
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.4
4
+ version: 3.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikael Henriksson