ductwork 0.1.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.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/LICENSE.txt +168 -0
  4. data/README.md +154 -0
  5. data/Rakefile +10 -0
  6. data/app/models/ductwork/availability.rb +9 -0
  7. data/app/models/ductwork/execution.rb +13 -0
  8. data/app/models/ductwork/job.rb +181 -0
  9. data/app/models/ductwork/pipeline.rb +195 -0
  10. data/app/models/ductwork/process.rb +19 -0
  11. data/app/models/ductwork/record.rb +15 -0
  12. data/app/models/ductwork/result.rb +13 -0
  13. data/app/models/ductwork/run.rb +9 -0
  14. data/app/models/ductwork/step.rb +27 -0
  15. data/lib/ductwork/cli.rb +48 -0
  16. data/lib/ductwork/configuration.rb +145 -0
  17. data/lib/ductwork/dsl/branch_builder.rb +102 -0
  18. data/lib/ductwork/dsl/definition_builder.rb +153 -0
  19. data/lib/ductwork/engine.rb +14 -0
  20. data/lib/ductwork/machine_identifier.rb +11 -0
  21. data/lib/ductwork/processes/job_worker.rb +71 -0
  22. data/lib/ductwork/processes/job_worker_runner.rb +164 -0
  23. data/lib/ductwork/processes/pipeline_advancer.rb +91 -0
  24. data/lib/ductwork/processes/pipeline_advancer_runner.rb +169 -0
  25. data/lib/ductwork/processes/supervisor.rb +160 -0
  26. data/lib/ductwork/processes/supervisor_runner.rb +35 -0
  27. data/lib/ductwork/running_context.rb +22 -0
  28. data/lib/ductwork/testing/helpers.rb +18 -0
  29. data/lib/ductwork/testing/minitest.rb +8 -0
  30. data/lib/ductwork/testing/rspec.rb +63 -0
  31. data/lib/ductwork/testing.rb +15 -0
  32. data/lib/ductwork/version.rb +5 -0
  33. data/lib/ductwork.rb +77 -0
  34. data/lib/generators/ductwork/install/USAGE +11 -0
  35. data/lib/generators/ductwork/install/install_generator.rb +36 -0
  36. data/lib/generators/ductwork/install/templates/bin/ductwork +8 -0
  37. data/lib/generators/ductwork/install/templates/config/ductwork.yml +25 -0
  38. data/lib/generators/ductwork/install/templates/db/create_ductwork_availabilities.rb +16 -0
  39. data/lib/generators/ductwork/install/templates/db/create_ductwork_executions.rb +14 -0
  40. data/lib/generators/ductwork/install/templates/db/create_ductwork_jobs.rb +17 -0
  41. data/lib/generators/ductwork/install/templates/db/create_ductwork_pipelines.rb +19 -0
  42. data/lib/generators/ductwork/install/templates/db/create_ductwork_processes.rb +14 -0
  43. data/lib/generators/ductwork/install/templates/db/create_ductwork_results.rb +14 -0
  44. data/lib/generators/ductwork/install/templates/db/create_ductwork_runs.rb +12 -0
  45. data/lib/generators/ductwork/install/templates/db/create_ductwork_steps.rb +17 -0
  46. metadata +165 -0
metadata ADDED
@@ -0,0 +1,165 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ductwork
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Tyler Ewing
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: activerecord
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '7.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '8.2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '7.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '8.2'
32
+ - !ruby/object:Gem::Dependency
33
+ name: activesupport
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '7.1'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '8.2'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '7.1'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '8.2'
52
+ - !ruby/object:Gem::Dependency
53
+ name: railties
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '7.1'
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '8.2'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '7.1'
69
+ - - "<"
70
+ - !ruby/object:Gem::Version
71
+ version: '8.2'
72
+ - !ruby/object:Gem::Dependency
73
+ name: zeitwerk
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '2.7'
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '2.7'
86
+ description: Ductwork lets you build complex pipelines quickly and easily using intuitive
87
+ Ruby tooling and a natural DSL.
88
+ email:
89
+ - tewing10@gmail.com
90
+ executables: []
91
+ extensions: []
92
+ extra_rdoc_files: []
93
+ files:
94
+ - CHANGELOG.md
95
+ - LICENSE.txt
96
+ - README.md
97
+ - Rakefile
98
+ - app/models/ductwork/availability.rb
99
+ - app/models/ductwork/execution.rb
100
+ - app/models/ductwork/job.rb
101
+ - app/models/ductwork/pipeline.rb
102
+ - app/models/ductwork/process.rb
103
+ - app/models/ductwork/record.rb
104
+ - app/models/ductwork/result.rb
105
+ - app/models/ductwork/run.rb
106
+ - app/models/ductwork/step.rb
107
+ - lib/ductwork.rb
108
+ - lib/ductwork/cli.rb
109
+ - lib/ductwork/configuration.rb
110
+ - lib/ductwork/dsl/branch_builder.rb
111
+ - lib/ductwork/dsl/definition_builder.rb
112
+ - lib/ductwork/engine.rb
113
+ - lib/ductwork/machine_identifier.rb
114
+ - lib/ductwork/processes/job_worker.rb
115
+ - lib/ductwork/processes/job_worker_runner.rb
116
+ - lib/ductwork/processes/pipeline_advancer.rb
117
+ - lib/ductwork/processes/pipeline_advancer_runner.rb
118
+ - lib/ductwork/processes/supervisor.rb
119
+ - lib/ductwork/processes/supervisor_runner.rb
120
+ - lib/ductwork/running_context.rb
121
+ - lib/ductwork/testing.rb
122
+ - lib/ductwork/testing/helpers.rb
123
+ - lib/ductwork/testing/minitest.rb
124
+ - lib/ductwork/testing/rspec.rb
125
+ - lib/ductwork/version.rb
126
+ - lib/generators/ductwork/install/USAGE
127
+ - lib/generators/ductwork/install/install_generator.rb
128
+ - lib/generators/ductwork/install/templates/bin/ductwork
129
+ - lib/generators/ductwork/install/templates/config/ductwork.yml
130
+ - lib/generators/ductwork/install/templates/db/create_ductwork_availabilities.rb
131
+ - lib/generators/ductwork/install/templates/db/create_ductwork_executions.rb
132
+ - lib/generators/ductwork/install/templates/db/create_ductwork_jobs.rb
133
+ - lib/generators/ductwork/install/templates/db/create_ductwork_pipelines.rb
134
+ - lib/generators/ductwork/install/templates/db/create_ductwork_processes.rb
135
+ - lib/generators/ductwork/install/templates/db/create_ductwork_results.rb
136
+ - lib/generators/ductwork/install/templates/db/create_ductwork_runs.rb
137
+ - lib/generators/ductwork/install/templates/db/create_ductwork_steps.rb
138
+ homepage: https://github.com/ductwork/ductwork
139
+ licenses:
140
+ - LGPL-3.0-or-later
141
+ metadata:
142
+ homepage_uri: https://github.com/ductwork/ductwork
143
+ changelog_uri: https://github.com/ductwork/ductwork/blob/main/README.md
144
+ rubygems_mfa_required: 'true'
145
+ documentation_uri: https://docs.getductwork.io/
146
+ rdoc_options: []
147
+ require_paths:
148
+ - app
149
+ - config
150
+ - lib
151
+ required_ruby_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: 3.1.0
156
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ requirements: []
162
+ rubygems_version: 3.6.9
163
+ specification_version: 4
164
+ summary: A Ruby pipeline framework
165
+ test_files: []