shoryuken 6.2.1 → 7.0.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.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/push.yml +36 -0
  3. data/.github/workflows/specs.yml +49 -44
  4. data/.github/workflows/verify-action-pins.yml +16 -0
  5. data/.gitignore +4 -1
  6. data/.rspec +3 -1
  7. data/.rubocop.yml +6 -1
  8. data/.ruby-version +1 -0
  9. data/.yard-lint.yml +279 -0
  10. data/CHANGELOG.md +308 -139
  11. data/Gemfile +1 -8
  12. data/Gemfile.lint +9 -0
  13. data/Gemfile.lint.lock +69 -0
  14. data/README.md +16 -33
  15. data/Rakefile +6 -10
  16. data/bin/clean_sqs +52 -0
  17. data/bin/cli/base.rb +22 -2
  18. data/bin/cli/sqs.rb +74 -7
  19. data/bin/integrations +275 -0
  20. data/bin/scenario +154 -0
  21. data/bin/shoryuken +3 -2
  22. data/docker-compose.yml +6 -0
  23. data/lib/{shoryuken/extensions/active_job_extensions.rb → active_job/extensions.rb} +20 -6
  24. data/lib/active_job/queue_adapters/shoryuken_adapter.rb +208 -0
  25. data/lib/active_job/queue_adapters/shoryuken_concurrent_send_adapter.rb +78 -0
  26. data/lib/shoryuken/active_job/current_attributes.rb +139 -0
  27. data/lib/shoryuken/active_job/job_wrapper.rb +28 -0
  28. data/lib/shoryuken/body_parser.rb +11 -1
  29. data/lib/shoryuken/client.rb +16 -0
  30. data/lib/shoryuken/default_exception_handler.rb +11 -0
  31. data/lib/shoryuken/default_worker_registry.rb +39 -11
  32. data/lib/shoryuken/environment_loader.rb +85 -15
  33. data/lib/shoryuken/errors.rb +36 -0
  34. data/lib/shoryuken/fetcher.rb +41 -3
  35. data/lib/shoryuken/helpers/atomic_boolean.rb +58 -0
  36. data/lib/shoryuken/helpers/atomic_counter.rb +104 -0
  37. data/lib/shoryuken/helpers/atomic_hash.rb +182 -0
  38. data/lib/shoryuken/helpers/hash_utils.rb +56 -0
  39. data/lib/shoryuken/helpers/string_utils.rb +65 -0
  40. data/lib/shoryuken/helpers/timer_task.rb +80 -0
  41. data/lib/shoryuken/inline_message.rb +22 -0
  42. data/lib/shoryuken/launcher.rb +55 -0
  43. data/lib/shoryuken/logging/base.rb +26 -0
  44. data/lib/shoryuken/logging/pretty.rb +25 -0
  45. data/lib/shoryuken/logging/without_timestamp.rb +25 -0
  46. data/lib/shoryuken/logging.rb +43 -15
  47. data/lib/shoryuken/manager.rb +84 -5
  48. data/lib/shoryuken/message.rb +116 -1
  49. data/lib/shoryuken/middleware/chain.rb +141 -43
  50. data/lib/shoryuken/middleware/entry.rb +30 -0
  51. data/lib/shoryuken/middleware/server/active_record.rb +10 -0
  52. data/lib/shoryuken/middleware/server/auto_delete.rb +12 -0
  53. data/lib/shoryuken/middleware/server/auto_extend_visibility.rb +37 -11
  54. data/lib/shoryuken/middleware/server/exponential_backoff_retry.rb +34 -3
  55. data/lib/shoryuken/middleware/server/non_retryable_exception.rb +95 -0
  56. data/lib/shoryuken/middleware/server/timing.rb +13 -0
  57. data/lib/shoryuken/options.rb +154 -13
  58. data/lib/shoryuken/polling/base_strategy.rb +127 -0
  59. data/lib/shoryuken/polling/queue_configuration.rb +103 -0
  60. data/lib/shoryuken/polling/strict_priority.rb +41 -0
  61. data/lib/shoryuken/polling/weighted_round_robin.rb +44 -0
  62. data/lib/shoryuken/processor.rb +37 -3
  63. data/lib/shoryuken/queue.rb +99 -8
  64. data/lib/shoryuken/runner.rb +54 -16
  65. data/lib/shoryuken/util.rb +32 -7
  66. data/lib/shoryuken/version.rb +4 -1
  67. data/lib/shoryuken/worker/default_executor.rb +23 -1
  68. data/lib/shoryuken/worker/inline_executor.rb +33 -2
  69. data/lib/shoryuken/worker.rb +224 -0
  70. data/lib/shoryuken/worker_registry.rb +35 -0
  71. data/lib/shoryuken.rb +27 -38
  72. data/renovate.json +62 -0
  73. data/shoryuken.gemspec +8 -4
  74. data/spec/integration/.rspec +1 -0
  75. data/spec/integration/active_job/adapter_configuration/configuration_spec.rb +26 -0
  76. data/spec/integration/active_job/bulk_enqueue/bulk_enqueue_spec.rb +53 -0
  77. data/spec/integration/active_job/current_attributes/bulk_enqueue_spec.rb +50 -0
  78. data/spec/integration/active_job/current_attributes/complex_types_spec.rb +55 -0
  79. data/spec/integration/active_job/current_attributes/empty_context_spec.rb +41 -0
  80. data/spec/integration/active_job/current_attributes/full_context_spec.rb +63 -0
  81. data/spec/integration/active_job/current_attributes/partial_context_spec.rb +57 -0
  82. data/spec/integration/active_job/custom_attributes/number_attributes_spec.rb +37 -0
  83. data/spec/integration/active_job/custom_attributes/string_attributes_spec.rb +39 -0
  84. data/spec/integration/active_job/error_handling/job_wrapper_spec.rb +53 -0
  85. data/spec/integration/active_job/fifo_and_attributes/deduplication_spec.rb +86 -0
  86. data/spec/integration/active_job/keyword_arguments/keyword_arguments_spec.rb +63 -0
  87. data/spec/integration/active_job/retry/discard_on_spec.rb +43 -0
  88. data/spec/integration/active_job/retry/retry_on_spec.rb +36 -0
  89. data/spec/integration/active_job/roundtrip/roundtrip_spec.rb +52 -0
  90. data/spec/integration/active_job/scheduled/scheduled_spec.rb +76 -0
  91. data/spec/integration/active_record_middleware/active_record_middleware_spec.rb +84 -0
  92. data/spec/integration/auto_delete/auto_delete_spec.rb +53 -0
  93. data/spec/integration/auto_extend_visibility/auto_extend_visibility_spec.rb +57 -0
  94. data/spec/integration/aws_config/aws_config_spec.rb +59 -0
  95. data/spec/integration/batch_processing/batch_processing_spec.rb +37 -0
  96. data/spec/integration/body_parser/json_parser_spec.rb +45 -0
  97. data/spec/integration/body_parser/proc_parser_spec.rb +54 -0
  98. data/spec/integration/body_parser/text_parser_spec.rb +43 -0
  99. data/spec/integration/concurrent_processing/concurrent_processing_spec.rb +45 -0
  100. data/spec/integration/custom_group_polling_strategy/custom_group_polling_strategy_spec.rb +87 -0
  101. data/spec/integration/dead_letter_queue/dead_letter_queue_spec.rb +91 -0
  102. data/spec/integration/exception_handlers/exception_handlers_spec.rb +69 -0
  103. data/spec/integration/exponential_backoff/exponential_backoff_spec.rb +67 -0
  104. data/spec/integration/fifo_ordering/fifo_ordering_spec.rb +44 -0
  105. data/spec/integration/large_payloads/large_payloads_spec.rb +30 -0
  106. data/spec/integration/launcher/launcher_spec.rb +40 -0
  107. data/spec/integration/message_attributes/message_attributes_spec.rb +54 -0
  108. data/spec/integration/message_operations/message_operations_spec.rb +59 -0
  109. data/spec/integration/middleware_chain/empty_chain_spec.rb +11 -0
  110. data/spec/integration/middleware_chain/execution_order_spec.rb +33 -0
  111. data/spec/integration/middleware_chain/removal_spec.rb +31 -0
  112. data/spec/integration/middleware_chain/short_circuit_spec.rb +40 -0
  113. data/spec/integration/non_retryable_exception/non_retryable_exception_spec.rb +149 -0
  114. data/spec/integration/polling_strategies/polling_strategies_spec.rb +46 -0
  115. data/spec/integration/queue_operations/queue_operations_spec.rb +84 -0
  116. data/spec/integration/rails/rails_72/Gemfile +6 -0
  117. data/spec/integration/rails/rails_72/activejob_adapter_spec.rb +98 -0
  118. data/spec/integration/rails/rails_80/Gemfile +6 -0
  119. data/spec/integration/rails/rails_80/activejob_adapter_spec.rb +98 -0
  120. data/spec/integration/rails/rails_80/continuation_spec.rb +79 -0
  121. data/spec/integration/rails/rails_81/Gemfile +6 -0
  122. data/spec/integration/rails/rails_81/activejob_adapter_spec.rb +98 -0
  123. data/spec/integration/rails/rails_81/continuation_spec.rb +79 -0
  124. data/spec/integration/retry_behavior/retry_behavior_spec.rb +45 -0
  125. data/spec/integration/spec_helper.rb +7 -0
  126. data/spec/integration/strict_priority_polling/strict_priority_polling_spec.rb +58 -0
  127. data/spec/integration/visibility_timeout/visibility_timeout_spec.rb +37 -0
  128. data/spec/integration/worker_enqueueing/worker_enqueueing_spec.rb +60 -0
  129. data/spec/integration/worker_groups/worker_groups_spec.rb +79 -0
  130. data/spec/integration/worker_lifecycle/worker_lifecycle_spec.rb +33 -0
  131. data/spec/integrations_helper.rb +243 -0
  132. data/spec/lib/active_job/extensions_spec.rb +225 -0
  133. data/spec/lib/active_job/queue_adapters/shoryuken_adapter_spec.rb +29 -0
  134. data/spec/{shoryuken/extensions/active_job_concurrent_send_adapter_spec.rb → lib/active_job/queue_adapters/shoryuken_concurrent_send_adapter_spec.rb} +5 -4
  135. data/spec/{shoryuken/extensions/active_job_wrapper_spec.rb → lib/shoryuken/active_job/job_wrapper_spec.rb} +6 -5
  136. data/spec/{shoryuken → lib/shoryuken}/body_parser_spec.rb +2 -4
  137. data/spec/{shoryuken → lib/shoryuken}/client_spec.rb +1 -1
  138. data/spec/{shoryuken → lib/shoryuken}/default_exception_handler_spec.rb +9 -10
  139. data/spec/{shoryuken → lib/shoryuken}/default_worker_registry_spec.rb +1 -2
  140. data/spec/{shoryuken → lib/shoryuken}/environment_loader_spec.rb +10 -9
  141. data/spec/{shoryuken → lib/shoryuken}/fetcher_spec.rb +23 -26
  142. data/spec/lib/shoryuken/helpers/atomic_boolean_spec.rb +196 -0
  143. data/spec/lib/shoryuken/helpers/atomic_counter_spec.rb +177 -0
  144. data/spec/lib/shoryuken/helpers/atomic_hash_spec.rb +307 -0
  145. data/spec/lib/shoryuken/helpers/hash_utils_spec.rb +145 -0
  146. data/spec/lib/shoryuken/helpers/string_utils_spec.rb +124 -0
  147. data/spec/lib/shoryuken/helpers/timer_task_spec.rb +298 -0
  148. data/spec/lib/shoryuken/helpers_integration_spec.rb +96 -0
  149. data/spec/lib/shoryuken/inline_message_spec.rb +196 -0
  150. data/spec/{shoryuken → lib/shoryuken}/launcher_spec.rb +23 -2
  151. data/spec/lib/shoryuken/logging_spec.rb +242 -0
  152. data/spec/{shoryuken → lib/shoryuken}/manager_spec.rb +1 -2
  153. data/spec/lib/shoryuken/message_spec.rb +109 -0
  154. data/spec/{shoryuken → lib/shoryuken}/middleware/chain_spec.rb +1 -1
  155. data/spec/lib/shoryuken/middleware/entry_spec.rb +68 -0
  156. data/spec/lib/shoryuken/middleware/server/active_record_spec.rb +133 -0
  157. data/spec/{shoryuken → lib/shoryuken}/middleware/server/auto_delete_spec.rb +1 -1
  158. data/spec/{shoryuken → lib/shoryuken}/middleware/server/auto_extend_visibility_spec.rb +51 -1
  159. data/spec/{shoryuken → lib/shoryuken}/middleware/server/exponential_backoff_retry_spec.rb +1 -1
  160. data/spec/lib/shoryuken/middleware/server/non_retryable_exception_spec.rb +214 -0
  161. data/spec/{shoryuken → lib/shoryuken}/middleware/server/timing_spec.rb +1 -1
  162. data/spec/{shoryuken → lib/shoryuken}/options_spec.rb +49 -6
  163. data/spec/lib/shoryuken/polling/base_strategy_spec.rb +280 -0
  164. data/spec/lib/shoryuken/polling/queue_configuration_spec.rb +195 -0
  165. data/spec/{shoryuken → lib/shoryuken}/polling/strict_priority_spec.rb +1 -1
  166. data/spec/{shoryuken → lib/shoryuken}/polling/weighted_round_robin_spec.rb +1 -1
  167. data/spec/{shoryuken → lib/shoryuken}/processor_spec.rb +1 -1
  168. data/spec/{shoryuken → lib/shoryuken}/queue_spec.rb +2 -3
  169. data/spec/{shoryuken → lib/shoryuken}/runner_spec.rb +1 -3
  170. data/spec/{shoryuken → lib/shoryuken}/util_spec.rb +2 -2
  171. data/spec/lib/shoryuken/version_spec.rb +17 -0
  172. data/spec/{shoryuken → lib/shoryuken}/worker/default_executor_spec.rb +1 -1
  173. data/spec/lib/shoryuken/worker/inline_executor_spec.rb +105 -0
  174. data/spec/lib/shoryuken/worker_registry_spec.rb +63 -0
  175. data/spec/{shoryuken → lib/shoryuken}/worker_spec.rb +15 -11
  176. data/spec/{shoryuken_spec.rb → lib/shoryuken_spec.rb} +1 -1
  177. data/spec/shared_examples_for_active_job.rb +40 -15
  178. data/spec/spec_helper.rb +48 -2
  179. metadata +295 -101
  180. data/.codeclimate.yml +0 -20
  181. data/.devcontainer/Dockerfile +0 -17
  182. data/.devcontainer/base.Dockerfile +0 -43
  183. data/.devcontainer/devcontainer.json +0 -35
  184. data/.github/FUNDING.yml +0 -12
  185. data/.github/dependabot.yml +0 -6
  186. data/.github/workflows/stale.yml +0 -20
  187. data/.reek.yml +0 -5
  188. data/Appraisals +0 -42
  189. data/gemfiles/.gitignore +0 -1
  190. data/gemfiles/aws_sdk_core_2.gemfile +0 -21
  191. data/gemfiles/rails_4_2.gemfile +0 -20
  192. data/gemfiles/rails_5_2.gemfile +0 -21
  193. data/gemfiles/rails_6_0.gemfile +0 -21
  194. data/gemfiles/rails_6_1.gemfile +0 -21
  195. data/gemfiles/rails_7_0.gemfile +0 -22
  196. data/lib/shoryuken/core_ext.rb +0 -69
  197. data/lib/shoryuken/extensions/active_job_adapter.rb +0 -103
  198. data/lib/shoryuken/extensions/active_job_concurrent_send_adapter.rb +0 -50
  199. data/lib/shoryuken/polling/base.rb +0 -67
  200. data/shoryuken.jpg +0 -0
  201. data/spec/integration/launcher_spec.rb +0 -128
  202. data/spec/shoryuken/core_ext_spec.rb +0 -40
  203. data/spec/shoryuken/extensions/active_job_adapter_spec.rb +0 -7
  204. data/spec/shoryuken/extensions/active_job_base_spec.rb +0 -84
  205. data/spec/shoryuken/worker/inline_executor_spec.rb +0 -49
metadata CHANGED
@@ -1,23 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shoryuken
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.1
4
+ version: 7.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pablo Cantero
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-02-09 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: dotenv
13
+ name: aws-sdk-sqs
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 1.66.0
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 1.66.0
26
+ - !ruby/object:Gem::Dependency
27
+ name: concurrent-ruby
15
28
  requirement: !ruby/object:Gem::Requirement
16
29
  requirements:
17
30
  - - ">="
18
31
  - !ruby/object:Gem::Version
19
32
  version: '0'
20
- type: :development
33
+ type: :runtime
21
34
  prerelease: false
22
35
  version_requirements: !ruby/object:Gem::Requirement
23
36
  requirements:
@@ -25,7 +38,35 @@ dependencies:
25
38
  - !ruby/object:Gem::Version
26
39
  version: '0'
27
40
  - !ruby/object:Gem::Dependency
28
- name: rake
41
+ name: thor
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: zeitwerk
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.6'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.6'
68
+ - !ruby/object:Gem::Dependency
69
+ name: dotenv
29
70
  requirement: !ruby/object:Gem::Requirement
30
71
  requirements:
31
72
  - - ">="
@@ -39,7 +80,7 @@ dependencies:
39
80
  - !ruby/object:Gem::Version
40
81
  version: '0'
41
82
  - !ruby/object:Gem::Dependency
42
- name: rspec
83
+ name: ostruct
43
84
  requirement: !ruby/object:Gem::Requirement
44
85
  requirements:
45
86
  - - ">="
@@ -53,27 +94,27 @@ dependencies:
53
94
  - !ruby/object:Gem::Version
54
95
  version: '0'
55
96
  - !ruby/object:Gem::Dependency
56
- name: aws-sdk-core
97
+ name: rake
57
98
  requirement: !ruby/object:Gem::Requirement
58
99
  requirements:
59
100
  - - ">="
60
101
  - !ruby/object:Gem::Version
61
- version: '2'
62
- type: :runtime
102
+ version: '0'
103
+ type: :development
63
104
  prerelease: false
64
105
  version_requirements: !ruby/object:Gem::Requirement
65
106
  requirements:
66
107
  - - ">="
67
108
  - !ruby/object:Gem::Version
68
- version: '2'
109
+ version: '0'
69
110
  - !ruby/object:Gem::Dependency
70
- name: concurrent-ruby
111
+ name: rspec
71
112
  requirement: !ruby/object:Gem::Requirement
72
113
  requirements:
73
114
  - - ">="
74
115
  - !ruby/object:Gem::Version
75
116
  version: '0'
76
- type: :runtime
117
+ type: :development
77
118
  prerelease: false
78
119
  version_requirements: !ruby/object:Gem::Requirement
79
120
  requirements:
@@ -81,13 +122,13 @@ dependencies:
81
122
  - !ruby/object:Gem::Version
82
123
  version: '0'
83
124
  - !ruby/object:Gem::Dependency
84
- name: thor
125
+ name: warning
85
126
  requirement: !ruby/object:Gem::Requirement
86
127
  requirements:
87
128
  - - ">="
88
129
  - !ruby/object:Gem::Version
89
130
  version: '0'
90
- type: :runtime
131
+ type: :development
91
132
  prerelease: false
92
133
  version_requirements: !ruby/object:Gem::Requirement
93
134
  requirements:
@@ -102,59 +143,68 @@ executables:
102
143
  extensions: []
103
144
  extra_rdoc_files: []
104
145
  files:
105
- - ".codeclimate.yml"
106
- - ".devcontainer/Dockerfile"
107
- - ".devcontainer/base.Dockerfile"
108
- - ".devcontainer/devcontainer.json"
109
- - ".github/FUNDING.yml"
110
- - ".github/dependabot.yml"
146
+ - ".github/workflows/push.yml"
111
147
  - ".github/workflows/specs.yml"
112
- - ".github/workflows/stale.yml"
148
+ - ".github/workflows/verify-action-pins.yml"
113
149
  - ".gitignore"
114
- - ".reek.yml"
115
150
  - ".rspec"
116
151
  - ".rubocop.yml"
117
- - Appraisals
152
+ - ".ruby-version"
153
+ - ".yard-lint.yml"
118
154
  - CHANGELOG.md
119
155
  - Gemfile
156
+ - Gemfile.lint
157
+ - Gemfile.lint.lock
120
158
  - LICENSE
121
159
  - README.md
122
160
  - Rakefile
161
+ - bin/clean_sqs
123
162
  - bin/cli/base.rb
124
163
  - bin/cli/sqs.rb
164
+ - bin/integrations
165
+ - bin/scenario
125
166
  - bin/shoryuken
167
+ - docker-compose.yml
126
168
  - examples/bootstrap_queues.rb
127
169
  - examples/default_worker.rb
128
- - gemfiles/.gitignore
129
- - gemfiles/aws_sdk_core_2.gemfile
130
- - gemfiles/rails_4_2.gemfile
131
- - gemfiles/rails_5_2.gemfile
132
- - gemfiles/rails_6_0.gemfile
133
- - gemfiles/rails_6_1.gemfile
134
- - gemfiles/rails_7_0.gemfile
170
+ - lib/active_job/extensions.rb
171
+ - lib/active_job/queue_adapters/shoryuken_adapter.rb
172
+ - lib/active_job/queue_adapters/shoryuken_concurrent_send_adapter.rb
135
173
  - lib/shoryuken.rb
174
+ - lib/shoryuken/active_job/current_attributes.rb
175
+ - lib/shoryuken/active_job/job_wrapper.rb
136
176
  - lib/shoryuken/body_parser.rb
137
177
  - lib/shoryuken/client.rb
138
- - lib/shoryuken/core_ext.rb
139
178
  - lib/shoryuken/default_exception_handler.rb
140
179
  - lib/shoryuken/default_worker_registry.rb
141
180
  - lib/shoryuken/environment_loader.rb
142
- - lib/shoryuken/extensions/active_job_adapter.rb
143
- - lib/shoryuken/extensions/active_job_concurrent_send_adapter.rb
144
- - lib/shoryuken/extensions/active_job_extensions.rb
181
+ - lib/shoryuken/errors.rb
145
182
  - lib/shoryuken/fetcher.rb
183
+ - lib/shoryuken/helpers/atomic_boolean.rb
184
+ - lib/shoryuken/helpers/atomic_counter.rb
185
+ - lib/shoryuken/helpers/atomic_hash.rb
186
+ - lib/shoryuken/helpers/hash_utils.rb
187
+ - lib/shoryuken/helpers/string_utils.rb
188
+ - lib/shoryuken/helpers/timer_task.rb
189
+ - lib/shoryuken/inline_message.rb
146
190
  - lib/shoryuken/launcher.rb
147
191
  - lib/shoryuken/logging.rb
192
+ - lib/shoryuken/logging/base.rb
193
+ - lib/shoryuken/logging/pretty.rb
194
+ - lib/shoryuken/logging/without_timestamp.rb
148
195
  - lib/shoryuken/manager.rb
149
196
  - lib/shoryuken/message.rb
150
197
  - lib/shoryuken/middleware/chain.rb
198
+ - lib/shoryuken/middleware/entry.rb
151
199
  - lib/shoryuken/middleware/server/active_record.rb
152
200
  - lib/shoryuken/middleware/server/auto_delete.rb
153
201
  - lib/shoryuken/middleware/server/auto_extend_visibility.rb
154
202
  - lib/shoryuken/middleware/server/exponential_backoff_retry.rb
203
+ - lib/shoryuken/middleware/server/non_retryable_exception.rb
155
204
  - lib/shoryuken/middleware/server/timing.rb
156
205
  - lib/shoryuken/options.rb
157
- - lib/shoryuken/polling/base.rb
206
+ - lib/shoryuken/polling/base_strategy.rb
207
+ - lib/shoryuken/polling/queue_configuration.rb
158
208
  - lib/shoryuken/polling/strict_priority.rb
159
209
  - lib/shoryuken/polling/weighted_round_robin.rb
160
210
  - lib/shoryuken/processor.rb
@@ -166,40 +216,113 @@ files:
166
216
  - lib/shoryuken/worker/default_executor.rb
167
217
  - lib/shoryuken/worker/inline_executor.rb
168
218
  - lib/shoryuken/worker_registry.rb
219
+ - renovate.json
169
220
  - shoryuken.gemspec
170
- - shoryuken.jpg
171
- - spec/integration/launcher_spec.rb
221
+ - spec/integration/.rspec
222
+ - spec/integration/active_job/adapter_configuration/configuration_spec.rb
223
+ - spec/integration/active_job/bulk_enqueue/bulk_enqueue_spec.rb
224
+ - spec/integration/active_job/current_attributes/bulk_enqueue_spec.rb
225
+ - spec/integration/active_job/current_attributes/complex_types_spec.rb
226
+ - spec/integration/active_job/current_attributes/empty_context_spec.rb
227
+ - spec/integration/active_job/current_attributes/full_context_spec.rb
228
+ - spec/integration/active_job/current_attributes/partial_context_spec.rb
229
+ - spec/integration/active_job/custom_attributes/number_attributes_spec.rb
230
+ - spec/integration/active_job/custom_attributes/string_attributes_spec.rb
231
+ - spec/integration/active_job/error_handling/job_wrapper_spec.rb
232
+ - spec/integration/active_job/fifo_and_attributes/deduplication_spec.rb
233
+ - spec/integration/active_job/keyword_arguments/keyword_arguments_spec.rb
234
+ - spec/integration/active_job/retry/discard_on_spec.rb
235
+ - spec/integration/active_job/retry/retry_on_spec.rb
236
+ - spec/integration/active_job/roundtrip/roundtrip_spec.rb
237
+ - spec/integration/active_job/scheduled/scheduled_spec.rb
238
+ - spec/integration/active_record_middleware/active_record_middleware_spec.rb
239
+ - spec/integration/auto_delete/auto_delete_spec.rb
240
+ - spec/integration/auto_extend_visibility/auto_extend_visibility_spec.rb
241
+ - spec/integration/aws_config/aws_config_spec.rb
242
+ - spec/integration/batch_processing/batch_processing_spec.rb
243
+ - spec/integration/body_parser/json_parser_spec.rb
244
+ - spec/integration/body_parser/proc_parser_spec.rb
245
+ - spec/integration/body_parser/text_parser_spec.rb
246
+ - spec/integration/concurrent_processing/concurrent_processing_spec.rb
247
+ - spec/integration/custom_group_polling_strategy/custom_group_polling_strategy_spec.rb
248
+ - spec/integration/dead_letter_queue/dead_letter_queue_spec.rb
249
+ - spec/integration/exception_handlers/exception_handlers_spec.rb
250
+ - spec/integration/exponential_backoff/exponential_backoff_spec.rb
251
+ - spec/integration/fifo_ordering/fifo_ordering_spec.rb
252
+ - spec/integration/large_payloads/large_payloads_spec.rb
253
+ - spec/integration/launcher/launcher_spec.rb
254
+ - spec/integration/message_attributes/message_attributes_spec.rb
255
+ - spec/integration/message_operations/message_operations_spec.rb
256
+ - spec/integration/middleware_chain/empty_chain_spec.rb
257
+ - spec/integration/middleware_chain/execution_order_spec.rb
258
+ - spec/integration/middleware_chain/removal_spec.rb
259
+ - spec/integration/middleware_chain/short_circuit_spec.rb
260
+ - spec/integration/non_retryable_exception/non_retryable_exception_spec.rb
261
+ - spec/integration/polling_strategies/polling_strategies_spec.rb
262
+ - spec/integration/queue_operations/queue_operations_spec.rb
263
+ - spec/integration/rails/rails_72/Gemfile
264
+ - spec/integration/rails/rails_72/activejob_adapter_spec.rb
265
+ - spec/integration/rails/rails_80/Gemfile
266
+ - spec/integration/rails/rails_80/activejob_adapter_spec.rb
267
+ - spec/integration/rails/rails_80/continuation_spec.rb
268
+ - spec/integration/rails/rails_81/Gemfile
269
+ - spec/integration/rails/rails_81/activejob_adapter_spec.rb
270
+ - spec/integration/rails/rails_81/continuation_spec.rb
271
+ - spec/integration/retry_behavior/retry_behavior_spec.rb
272
+ - spec/integration/spec_helper.rb
273
+ - spec/integration/strict_priority_polling/strict_priority_polling_spec.rb
274
+ - spec/integration/visibility_timeout/visibility_timeout_spec.rb
275
+ - spec/integration/worker_enqueueing/worker_enqueueing_spec.rb
276
+ - spec/integration/worker_groups/worker_groups_spec.rb
277
+ - spec/integration/worker_lifecycle/worker_lifecycle_spec.rb
278
+ - spec/integrations_helper.rb
279
+ - spec/lib/active_job/extensions_spec.rb
280
+ - spec/lib/active_job/queue_adapters/shoryuken_adapter_spec.rb
281
+ - spec/lib/active_job/queue_adapters/shoryuken_concurrent_send_adapter_spec.rb
282
+ - spec/lib/shoryuken/active_job/job_wrapper_spec.rb
283
+ - spec/lib/shoryuken/body_parser_spec.rb
284
+ - spec/lib/shoryuken/client_spec.rb
285
+ - spec/lib/shoryuken/default_exception_handler_spec.rb
286
+ - spec/lib/shoryuken/default_worker_registry_spec.rb
287
+ - spec/lib/shoryuken/environment_loader_spec.rb
288
+ - spec/lib/shoryuken/fetcher_spec.rb
289
+ - spec/lib/shoryuken/helpers/atomic_boolean_spec.rb
290
+ - spec/lib/shoryuken/helpers/atomic_counter_spec.rb
291
+ - spec/lib/shoryuken/helpers/atomic_hash_spec.rb
292
+ - spec/lib/shoryuken/helpers/hash_utils_spec.rb
293
+ - spec/lib/shoryuken/helpers/string_utils_spec.rb
294
+ - spec/lib/shoryuken/helpers/timer_task_spec.rb
295
+ - spec/lib/shoryuken/helpers_integration_spec.rb
296
+ - spec/lib/shoryuken/inline_message_spec.rb
297
+ - spec/lib/shoryuken/launcher_spec.rb
298
+ - spec/lib/shoryuken/logging_spec.rb
299
+ - spec/lib/shoryuken/manager_spec.rb
300
+ - spec/lib/shoryuken/message_spec.rb
301
+ - spec/lib/shoryuken/middleware/chain_spec.rb
302
+ - spec/lib/shoryuken/middleware/entry_spec.rb
303
+ - spec/lib/shoryuken/middleware/server/active_record_spec.rb
304
+ - spec/lib/shoryuken/middleware/server/auto_delete_spec.rb
305
+ - spec/lib/shoryuken/middleware/server/auto_extend_visibility_spec.rb
306
+ - spec/lib/shoryuken/middleware/server/exponential_backoff_retry_spec.rb
307
+ - spec/lib/shoryuken/middleware/server/non_retryable_exception_spec.rb
308
+ - spec/lib/shoryuken/middleware/server/timing_spec.rb
309
+ - spec/lib/shoryuken/options_spec.rb
310
+ - spec/lib/shoryuken/polling/base_strategy_spec.rb
311
+ - spec/lib/shoryuken/polling/queue_configuration_spec.rb
312
+ - spec/lib/shoryuken/polling/strict_priority_spec.rb
313
+ - spec/lib/shoryuken/polling/weighted_round_robin_spec.rb
314
+ - spec/lib/shoryuken/processor_spec.rb
315
+ - spec/lib/shoryuken/queue_spec.rb
316
+ - spec/lib/shoryuken/runner_spec.rb
317
+ - spec/lib/shoryuken/util_spec.rb
318
+ - spec/lib/shoryuken/version_spec.rb
319
+ - spec/lib/shoryuken/worker/default_executor_spec.rb
320
+ - spec/lib/shoryuken/worker/inline_executor_spec.rb
321
+ - spec/lib/shoryuken/worker_registry_spec.rb
322
+ - spec/lib/shoryuken/worker_spec.rb
323
+ - spec/lib/shoryuken_spec.rb
172
324
  - spec/shared_examples_for_active_job.rb
173
325
  - spec/shoryuken.yml
174
- - spec/shoryuken/body_parser_spec.rb
175
- - spec/shoryuken/client_spec.rb
176
- - spec/shoryuken/core_ext_spec.rb
177
- - spec/shoryuken/default_exception_handler_spec.rb
178
- - spec/shoryuken/default_worker_registry_spec.rb
179
- - spec/shoryuken/environment_loader_spec.rb
180
- - spec/shoryuken/extensions/active_job_adapter_spec.rb
181
- - spec/shoryuken/extensions/active_job_base_spec.rb
182
- - spec/shoryuken/extensions/active_job_concurrent_send_adapter_spec.rb
183
- - spec/shoryuken/extensions/active_job_wrapper_spec.rb
184
- - spec/shoryuken/fetcher_spec.rb
185
- - spec/shoryuken/launcher_spec.rb
186
- - spec/shoryuken/manager_spec.rb
187
- - spec/shoryuken/middleware/chain_spec.rb
188
- - spec/shoryuken/middleware/server/auto_delete_spec.rb
189
- - spec/shoryuken/middleware/server/auto_extend_visibility_spec.rb
190
- - spec/shoryuken/middleware/server/exponential_backoff_retry_spec.rb
191
- - spec/shoryuken/middleware/server/timing_spec.rb
192
- - spec/shoryuken/options_spec.rb
193
- - spec/shoryuken/polling/strict_priority_spec.rb
194
- - spec/shoryuken/polling/weighted_round_robin_spec.rb
195
- - spec/shoryuken/processor_spec.rb
196
- - spec/shoryuken/queue_spec.rb
197
- - spec/shoryuken/runner_spec.rb
198
- - spec/shoryuken/util_spec.rb
199
- - spec/shoryuken/worker/default_executor_spec.rb
200
- - spec/shoryuken/worker/inline_executor_spec.rb
201
- - spec/shoryuken/worker_spec.rb
202
- - spec/shoryuken_spec.rb
203
326
  - spec/spec_helper.rb
204
327
  - test_workers/endless_interruptive_worker.rb
205
328
  - test_workers/endless_uninterruptive_worker.rb
@@ -207,7 +330,6 @@ homepage: https://github.com/ruby-shoryuken/shoryuken
207
330
  licenses:
208
331
  - LGPL-3.0
209
332
  metadata: {}
210
- post_install_message:
211
333
  rdoc_options: []
212
334
  require_paths:
213
335
  - lib
@@ -215,48 +337,120 @@ required_ruby_version: !ruby/object:Gem::Requirement
215
337
  requirements:
216
338
  - - ">="
217
339
  - !ruby/object:Gem::Version
218
- version: '0'
340
+ version: 3.2.0
219
341
  required_rubygems_version: !ruby/object:Gem::Requirement
220
342
  requirements:
221
343
  - - ">="
222
344
  - !ruby/object:Gem::Version
223
345
  version: '0'
224
346
  requirements: []
225
- rubygems_version: 3.3.26
226
- signing_key:
347
+ rubygems_version: 4.0.6
227
348
  specification_version: 4
228
349
  summary: Shoryuken is a super efficient AWS SQS thread based message processor
229
350
  test_files:
230
- - spec/integration/launcher_spec.rb
351
+ - spec/integration/.rspec
352
+ - spec/integration/active_job/adapter_configuration/configuration_spec.rb
353
+ - spec/integration/active_job/bulk_enqueue/bulk_enqueue_spec.rb
354
+ - spec/integration/active_job/current_attributes/bulk_enqueue_spec.rb
355
+ - spec/integration/active_job/current_attributes/complex_types_spec.rb
356
+ - spec/integration/active_job/current_attributes/empty_context_spec.rb
357
+ - spec/integration/active_job/current_attributes/full_context_spec.rb
358
+ - spec/integration/active_job/current_attributes/partial_context_spec.rb
359
+ - spec/integration/active_job/custom_attributes/number_attributes_spec.rb
360
+ - spec/integration/active_job/custom_attributes/string_attributes_spec.rb
361
+ - spec/integration/active_job/error_handling/job_wrapper_spec.rb
362
+ - spec/integration/active_job/fifo_and_attributes/deduplication_spec.rb
363
+ - spec/integration/active_job/keyword_arguments/keyword_arguments_spec.rb
364
+ - spec/integration/active_job/retry/discard_on_spec.rb
365
+ - spec/integration/active_job/retry/retry_on_spec.rb
366
+ - spec/integration/active_job/roundtrip/roundtrip_spec.rb
367
+ - spec/integration/active_job/scheduled/scheduled_spec.rb
368
+ - spec/integration/active_record_middleware/active_record_middleware_spec.rb
369
+ - spec/integration/auto_delete/auto_delete_spec.rb
370
+ - spec/integration/auto_extend_visibility/auto_extend_visibility_spec.rb
371
+ - spec/integration/aws_config/aws_config_spec.rb
372
+ - spec/integration/batch_processing/batch_processing_spec.rb
373
+ - spec/integration/body_parser/json_parser_spec.rb
374
+ - spec/integration/body_parser/proc_parser_spec.rb
375
+ - spec/integration/body_parser/text_parser_spec.rb
376
+ - spec/integration/concurrent_processing/concurrent_processing_spec.rb
377
+ - spec/integration/custom_group_polling_strategy/custom_group_polling_strategy_spec.rb
378
+ - spec/integration/dead_letter_queue/dead_letter_queue_spec.rb
379
+ - spec/integration/exception_handlers/exception_handlers_spec.rb
380
+ - spec/integration/exponential_backoff/exponential_backoff_spec.rb
381
+ - spec/integration/fifo_ordering/fifo_ordering_spec.rb
382
+ - spec/integration/large_payloads/large_payloads_spec.rb
383
+ - spec/integration/launcher/launcher_spec.rb
384
+ - spec/integration/message_attributes/message_attributes_spec.rb
385
+ - spec/integration/message_operations/message_operations_spec.rb
386
+ - spec/integration/middleware_chain/empty_chain_spec.rb
387
+ - spec/integration/middleware_chain/execution_order_spec.rb
388
+ - spec/integration/middleware_chain/removal_spec.rb
389
+ - spec/integration/middleware_chain/short_circuit_spec.rb
390
+ - spec/integration/non_retryable_exception/non_retryable_exception_spec.rb
391
+ - spec/integration/polling_strategies/polling_strategies_spec.rb
392
+ - spec/integration/queue_operations/queue_operations_spec.rb
393
+ - spec/integration/rails/rails_72/Gemfile
394
+ - spec/integration/rails/rails_72/activejob_adapter_spec.rb
395
+ - spec/integration/rails/rails_80/Gemfile
396
+ - spec/integration/rails/rails_80/activejob_adapter_spec.rb
397
+ - spec/integration/rails/rails_80/continuation_spec.rb
398
+ - spec/integration/rails/rails_81/Gemfile
399
+ - spec/integration/rails/rails_81/activejob_adapter_spec.rb
400
+ - spec/integration/rails/rails_81/continuation_spec.rb
401
+ - spec/integration/retry_behavior/retry_behavior_spec.rb
402
+ - spec/integration/spec_helper.rb
403
+ - spec/integration/strict_priority_polling/strict_priority_polling_spec.rb
404
+ - spec/integration/visibility_timeout/visibility_timeout_spec.rb
405
+ - spec/integration/worker_enqueueing/worker_enqueueing_spec.rb
406
+ - spec/integration/worker_groups/worker_groups_spec.rb
407
+ - spec/integration/worker_lifecycle/worker_lifecycle_spec.rb
408
+ - spec/integrations_helper.rb
409
+ - spec/lib/active_job/extensions_spec.rb
410
+ - spec/lib/active_job/queue_adapters/shoryuken_adapter_spec.rb
411
+ - spec/lib/active_job/queue_adapters/shoryuken_concurrent_send_adapter_spec.rb
412
+ - spec/lib/shoryuken/active_job/job_wrapper_spec.rb
413
+ - spec/lib/shoryuken/body_parser_spec.rb
414
+ - spec/lib/shoryuken/client_spec.rb
415
+ - spec/lib/shoryuken/default_exception_handler_spec.rb
416
+ - spec/lib/shoryuken/default_worker_registry_spec.rb
417
+ - spec/lib/shoryuken/environment_loader_spec.rb
418
+ - spec/lib/shoryuken/fetcher_spec.rb
419
+ - spec/lib/shoryuken/helpers/atomic_boolean_spec.rb
420
+ - spec/lib/shoryuken/helpers/atomic_counter_spec.rb
421
+ - spec/lib/shoryuken/helpers/atomic_hash_spec.rb
422
+ - spec/lib/shoryuken/helpers/hash_utils_spec.rb
423
+ - spec/lib/shoryuken/helpers/string_utils_spec.rb
424
+ - spec/lib/shoryuken/helpers/timer_task_spec.rb
425
+ - spec/lib/shoryuken/helpers_integration_spec.rb
426
+ - spec/lib/shoryuken/inline_message_spec.rb
427
+ - spec/lib/shoryuken/launcher_spec.rb
428
+ - spec/lib/shoryuken/logging_spec.rb
429
+ - spec/lib/shoryuken/manager_spec.rb
430
+ - spec/lib/shoryuken/message_spec.rb
431
+ - spec/lib/shoryuken/middleware/chain_spec.rb
432
+ - spec/lib/shoryuken/middleware/entry_spec.rb
433
+ - spec/lib/shoryuken/middleware/server/active_record_spec.rb
434
+ - spec/lib/shoryuken/middleware/server/auto_delete_spec.rb
435
+ - spec/lib/shoryuken/middleware/server/auto_extend_visibility_spec.rb
436
+ - spec/lib/shoryuken/middleware/server/exponential_backoff_retry_spec.rb
437
+ - spec/lib/shoryuken/middleware/server/non_retryable_exception_spec.rb
438
+ - spec/lib/shoryuken/middleware/server/timing_spec.rb
439
+ - spec/lib/shoryuken/options_spec.rb
440
+ - spec/lib/shoryuken/polling/base_strategy_spec.rb
441
+ - spec/lib/shoryuken/polling/queue_configuration_spec.rb
442
+ - spec/lib/shoryuken/polling/strict_priority_spec.rb
443
+ - spec/lib/shoryuken/polling/weighted_round_robin_spec.rb
444
+ - spec/lib/shoryuken/processor_spec.rb
445
+ - spec/lib/shoryuken/queue_spec.rb
446
+ - spec/lib/shoryuken/runner_spec.rb
447
+ - spec/lib/shoryuken/util_spec.rb
448
+ - spec/lib/shoryuken/version_spec.rb
449
+ - spec/lib/shoryuken/worker/default_executor_spec.rb
450
+ - spec/lib/shoryuken/worker/inline_executor_spec.rb
451
+ - spec/lib/shoryuken/worker_registry_spec.rb
452
+ - spec/lib/shoryuken/worker_spec.rb
453
+ - spec/lib/shoryuken_spec.rb
231
454
  - spec/shared_examples_for_active_job.rb
232
455
  - spec/shoryuken.yml
233
- - spec/shoryuken/body_parser_spec.rb
234
- - spec/shoryuken/client_spec.rb
235
- - spec/shoryuken/core_ext_spec.rb
236
- - spec/shoryuken/default_exception_handler_spec.rb
237
- - spec/shoryuken/default_worker_registry_spec.rb
238
- - spec/shoryuken/environment_loader_spec.rb
239
- - spec/shoryuken/extensions/active_job_adapter_spec.rb
240
- - spec/shoryuken/extensions/active_job_base_spec.rb
241
- - spec/shoryuken/extensions/active_job_concurrent_send_adapter_spec.rb
242
- - spec/shoryuken/extensions/active_job_wrapper_spec.rb
243
- - spec/shoryuken/fetcher_spec.rb
244
- - spec/shoryuken/launcher_spec.rb
245
- - spec/shoryuken/manager_spec.rb
246
- - spec/shoryuken/middleware/chain_spec.rb
247
- - spec/shoryuken/middleware/server/auto_delete_spec.rb
248
- - spec/shoryuken/middleware/server/auto_extend_visibility_spec.rb
249
- - spec/shoryuken/middleware/server/exponential_backoff_retry_spec.rb
250
- - spec/shoryuken/middleware/server/timing_spec.rb
251
- - spec/shoryuken/options_spec.rb
252
- - spec/shoryuken/polling/strict_priority_spec.rb
253
- - spec/shoryuken/polling/weighted_round_robin_spec.rb
254
- - spec/shoryuken/processor_spec.rb
255
- - spec/shoryuken/queue_spec.rb
256
- - spec/shoryuken/runner_spec.rb
257
- - spec/shoryuken/util_spec.rb
258
- - spec/shoryuken/worker/default_executor_spec.rb
259
- - spec/shoryuken/worker/inline_executor_spec.rb
260
- - spec/shoryuken/worker_spec.rb
261
- - spec/shoryuken_spec.rb
262
456
  - spec/spec_helper.rb
data/.codeclimate.yml DELETED
@@ -1,20 +0,0 @@
1
- ---
2
- engines:
3
- reek:
4
- enabled: true
5
- duplication:
6
- enabled: true
7
- config:
8
- languages:
9
- - ruby
10
- fixme:
11
- enabled: true
12
- rubocop:
13
- enabled: true
14
- config:
15
- file: .rubocop.yml
16
- ratings:
17
- paths:
18
- - "**.rb"
19
- exclude_paths:
20
- - spec/
@@ -1,17 +0,0 @@
1
- # [Choice] Ruby version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.1, 3.0, 2, 2.7, 2.6, 3-bullseye, 3.1-bullseye, 3.0-bullseye, 2-bullseye, 2.7-bullseye, 2.6-bullseye, 3-buster, 3.1-buster, 3.0-buster, 2-buster, 2.7-buster, 2.6-buster
2
- ARG VARIANT=2-bullseye
3
- FROM mcr.microsoft.com/vscode/devcontainers/ruby:0-${VARIANT}
4
-
5
- # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
6
- ARG NODE_VERSION="none"
7
- RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
8
-
9
- # [Optional] Uncomment this section to install additional OS packages.
10
- # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
11
- # && apt-get -y install --no-install-recommends <your-package-list-here>
12
-
13
- # [Optional] Uncomment this line to install additional gems.
14
- # RUN gem install <your-gem-names-here>
15
-
16
- # [Optional] Uncomment this line to install global node packages.
17
- # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
@@ -1,43 +0,0 @@
1
- # [Choice] Ruby version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.1, 3.0, 2, 2.7, 2.6, 3-bullseye, 3.1-bullseye, 3.0-bullseye, 2-bullseye, 2.7-bullseye, 2.6-bullseye, 3-buster, 3.1-buster, 3.0-buster, 2-buster, 2.7-buster, 2.6-buster
2
- ARG VARIANT=2-bullseye
3
- FROM ruby:${VARIANT}
4
-
5
- # Copy library scripts to execute
6
- COPY library-scripts/*.sh library-scripts/*.env /tmp/library-scripts/
7
-
8
- # [Option] Install zsh
9
- ARG INSTALL_ZSH="true"
10
- # [Option] Upgrade OS packages to their latest versions
11
- ARG UPGRADE_PACKAGES="true"
12
- # Install needed packages and setup non-root user. Use a separate RUN statement to add your own dependencies.
13
- ARG USERNAME=vscode
14
- ARG USER_UID=1000
15
- ARG USER_GID=$USER_UID
16
- RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
17
- # Remove imagemagick due to https://security-tracker.debian.org/tracker/CVE-2019-10131
18
- && apt-get purge -y imagemagick imagemagick-6-common \
19
- # Install common packages, non-root user, rvm, core build tools
20
- && bash /tmp/library-scripts/common-debian.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" "true" "true" \
21
- && bash /tmp/library-scripts/ruby-debian.sh "none" "${USERNAME}" "true" "true" \
22
- && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*
23
-
24
- # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
25
- ARG NODE_VERSION="none"
26
- ENV NVM_DIR=/usr/local/share/nvm
27
- ENV NVM_SYMLINK_CURRENT=true \
28
- PATH=${NVM_DIR}/current/bin:${PATH}
29
- RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
30
- && apt-get clean -y && rm -rf /var/lib/apt/lists/*
31
-
32
- # Remove library scripts for final image
33
- RUN rm -rf /tmp/library-scripts
34
-
35
- # [Optional] Uncomment this section to install additional OS packages.
36
- # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
37
- # && apt-get -y install --no-install-recommends <your-package-list-here>
38
-
39
- # [Optional] Uncomment this line to install additional gems.
40
- # RUN gem install <your-gem-names-here>
41
-
42
- # [Optional] Uncomment this line to install global node packages.
43
- # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
@@ -1,35 +0,0 @@
1
- // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2
- // https://github.com/microsoft/vscode-dev-containers/tree/v0.224.3/containers/ruby
3
- {
4
- "name": "Ruby",
5
- "build": {
6
- "dockerfile": "Dockerfile",
7
- "args": {
8
- // Update 'VARIANT' to pick a Ruby version: 3, 3.1, 3.0, 2, 2.7, 2.6
9
- // Append -bullseye or -buster to pin to an OS version.
10
- // Use -bullseye variants on local on arm64/Apple Silicon.
11
- "VARIANT": "3-bullseye",
12
- // Options
13
- "NODE_VERSION": "none"
14
- }
15
- },
16
-
17
- // Set *default* container specific settings.json values on container create.
18
- "settings": {},
19
-
20
- // Add the IDs of extensions you want installed when the container is created.
21
- "extensions": ["rebornix.Ruby"],
22
-
23
- // Use 'forwardPorts' to make a list of ports inside the container available locally.
24
- // "forwardPorts": [],
25
-
26
- // Use 'postCreateCommand' to run commands after the container is created.
27
- // "postCreateCommand": "ruby --version",
28
-
29
- // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
30
- "remoteUser": "vscode",
31
- "features": {
32
- "github-cli": "latest",
33
- "aws-cli": "latest"
34
- }
35
- }
data/.github/FUNDING.yml DELETED
@@ -1,12 +0,0 @@
1
- # These are supported funding model platforms
2
-
3
- github: phstc
4
- patreon: # Replace with a single Patreon username
5
- open_collective: # Replace with a single Open Collective username
6
- ko_fi: # Replace with a single Ko-fi username
7
- tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
- community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
- liberapay: # Replace with a single Liberapay username
10
- issuehunt: # Replace with a single IssueHunt username
11
- otechie: # Replace with a single Otechie username
12
- custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -1,6 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: "github-actions"
4
- directory: "/"
5
- schedule:
6
- interval: "weekly"