ductwork 0.20.0 → 0.20.2

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: 82de3534dfed89267c6a4aaca8e1337841fa81f66c6c42b494d9fddfe6ff4a0e
4
- data.tar.gz: 334f632bcf121d1bfcddb94046d797ca1e65b2cd74fe19100b1d6d3560b1f05a
3
+ metadata.gz: 66eeccc14571dbd9d0970843c38da7601f090a9fdcc3b1bbd3b0cad083d37197
4
+ data.tar.gz: f277974af71bcbbbd33f1ad1398e79acac2f88c2c0afbbf0143b019e16e65d48
5
5
  SHA512:
6
- metadata.gz: 76ff2b157c3d85f4443178bf9a138c58dcead96c39c10c91cde45af88b7c07447c6cce73558f8f2a961d5fd2b3574fbbd8371442d1bf39bac4fbe30f80f415fa
7
- data.tar.gz: c8c060ebb944a64a3eb42e086f857f042b944a5bdaf1c07ff2d518409530febd4b68e21634452c861d885dcf6ea4d4cbb27a10b0231d99149a591b7a1c85546c
6
+ metadata.gz: 9ebc366c05370b908eb35789aa096733cd2171023843b2472602b307182d063a22980559ffed3278ef2ce5a6a98ad41a4d2d9221d216ee4fc3259fedf0319e99
7
+ data.tar.gz: 48211addcab05625ce589767370df9c28c7e1a4c44d2d69a71c4ec20906d371844af92ff4c5c937a5300fc490a6cca758fce6896bbc7e80b359d3a5105ec84bc
data/CHANGELOG-PRO.md ADDED
@@ -0,0 +1,27 @@
1
+ # Ductwork Pro Changelog
2
+
3
+ ## [0.4.0]
4
+
5
+ - feat: release pipeline or job claim if not finished by shutdown timeout - this is basically the same as what happens when a step times out except we don't restart the thread because we're shutting down
6
+ - fix: move logging to correct location
7
+ - fix: correctly wrap all queries in transaction
8
+
9
+ ## [0.3.0]
10
+
11
+ - feat: extract thread health check logic into class and use in pipeline advancer runner, job worker runner, and thread supervisor
12
+ - feat: correctly detect and restart timed out jobs and stuck threads when checking job worker health
13
+ - feat: override `PipelineAdvancerRunner#start_pipeline_advancers` to create multiple pipeline advancers based on configuration
14
+ - feat: create `ThreadSupervisor` and use in `ThreadSupervisorRunner` - in coming commits we will override `ThreadSupervisor#check_thread_health` to include Pro-specific features
15
+ - feat: override methods to launch thread or process supervisor runners
16
+ - feat: create `ThreadSupervisorRunner` - this is like `Processes::ThreadSupervisorRunner` except that it creates a pool of pipeline advancers based on configuration
17
+ - feat: rename `SupervisorRunner` to `ProcessSupervisorRunner` and override "runner" methods - this is the first in a series of commits that will align Pro with the new process organization in the open-source gem
18
+
19
+ ## [0.2.0]
20
+
21
+ - chore: remove ruby v3.2.9 from CI testing matrix - support is ending in March '26 but it's being removed now to better support edge rails
22
+ - feat: loosen rails version constraint to allow rails edge
23
+ - feat: respect "role" configuration by using new process launcher class to insert pro-specific process runners
24
+
25
+ ## [0.1.0]
26
+
27
+ - Initial release
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Ductwork Changelog
2
2
 
3
+ ## [0.20.2]
4
+
5
+ - fix: complete pipeline when there are no steps to expand to
6
+
7
+ ## [0.20.1]
8
+
9
+ - fix: fallback to hostname if machine id file is blank - came across this in heroku
10
+
3
11
  ## [0.20.0]
4
12
 
5
13
  - feat: add "timed_out" enum value to execution result model
@@ -3,7 +3,7 @@
3
3
  module Ductwork
4
4
  class MachineIdentifier
5
5
  def self.fetch
6
- File.read("/etc/machine-id").strip
6
+ File.read("/etc/machine-id").strip.presence || Socket.gethostname
7
7
  rescue Errno::ENOENT
8
8
  Socket.gethostname
9
9
  end
@@ -267,6 +267,8 @@ module Ductwork
267
267
 
268
268
  if max_depth != -1 && return_value.count > max_depth
269
269
  halt!
270
+ elsif return_value.none?
271
+ complete!
270
272
  else
271
273
  # TODO: Brainstorm on using `insert_all` instead of iterating.
272
274
  # Performance is bad when the return value has a lot of elements
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ductwork
4
- VERSION = "0.20.0"
4
+ VERSION = "0.20.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ductwork
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.20.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Ewing
@@ -111,6 +111,7 @@ executables: []
111
111
  extensions: []
112
112
  extra_rdoc_files: []
113
113
  files:
114
+ - CHANGELOG-PRO.md
114
115
  - CHANGELOG.md
115
116
  - COMM-LICENSE.txt
116
117
  - LICENSE.txt