launchdarkly-server-sdk 6.1.1 → 6.4.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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -5
  3. data/lib/ldclient-rb/config.rb +118 -4
  4. data/lib/ldclient-rb/evaluation_detail.rb +104 -14
  5. data/lib/ldclient-rb/events.rb +201 -107
  6. data/lib/ldclient-rb/file_data_source.rb +9 -300
  7. data/lib/ldclient-rb/flags_state.rb +23 -12
  8. data/lib/ldclient-rb/impl/big_segments.rb +117 -0
  9. data/lib/ldclient-rb/impl/diagnostic_events.rb +1 -1
  10. data/lib/ldclient-rb/impl/evaluator.rb +116 -62
  11. data/lib/ldclient-rb/impl/evaluator_bucketing.rb +22 -9
  12. data/lib/ldclient-rb/impl/evaluator_helpers.rb +53 -0
  13. data/lib/ldclient-rb/impl/evaluator_operators.rb +1 -1
  14. data/lib/ldclient-rb/impl/event_summarizer.rb +63 -0
  15. data/lib/ldclient-rb/impl/event_types.rb +90 -0
  16. data/lib/ldclient-rb/impl/integrations/dynamodb_impl.rb +82 -18
  17. data/lib/ldclient-rb/impl/integrations/file_data_source.rb +212 -0
  18. data/lib/ldclient-rb/impl/integrations/redis_impl.rb +84 -31
  19. data/lib/ldclient-rb/impl/integrations/test_data/test_data_source.rb +40 -0
  20. data/lib/ldclient-rb/impl/model/preprocessed_data.rb +177 -0
  21. data/lib/ldclient-rb/impl/model/serialization.rb +7 -37
  22. data/lib/ldclient-rb/impl/repeating_task.rb +47 -0
  23. data/lib/ldclient-rb/impl/util.rb +62 -1
  24. data/lib/ldclient-rb/integrations/consul.rb +8 -1
  25. data/lib/ldclient-rb/integrations/dynamodb.rb +48 -3
  26. data/lib/ldclient-rb/integrations/file_data.rb +108 -0
  27. data/lib/ldclient-rb/integrations/redis.rb +42 -2
  28. data/lib/ldclient-rb/integrations/test_data/flag_builder.rb +438 -0
  29. data/lib/ldclient-rb/integrations/test_data.rb +209 -0
  30. data/lib/ldclient-rb/integrations/util/store_wrapper.rb +5 -0
  31. data/lib/ldclient-rb/integrations.rb +2 -51
  32. data/lib/ldclient-rb/interfaces.rb +152 -2
  33. data/lib/ldclient-rb/ldclient.rb +131 -33
  34. data/lib/ldclient-rb/polling.rb +22 -41
  35. data/lib/ldclient-rb/requestor.rb +3 -3
  36. data/lib/ldclient-rb/stream.rb +4 -3
  37. data/lib/ldclient-rb/util.rb +10 -1
  38. data/lib/ldclient-rb/version.rb +1 -1
  39. data/lib/ldclient-rb.rb +0 -1
  40. metadata +35 -132
  41. data/.circleci/config.yml +0 -40
  42. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -37
  43. data/.github/ISSUE_TEMPLATE/config.yml +0 -5
  44. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  45. data/.github/pull_request_template.md +0 -21
  46. data/.gitignore +0 -16
  47. data/.hound.yml +0 -2
  48. data/.ldrelease/build-docs.sh +0 -18
  49. data/.ldrelease/circleci/linux/execute.sh +0 -18
  50. data/.ldrelease/circleci/mac/execute.sh +0 -18
  51. data/.ldrelease/circleci/template/build.sh +0 -29
  52. data/.ldrelease/circleci/template/publish.sh +0 -23
  53. data/.ldrelease/circleci/template/set-gem-home.sh +0 -7
  54. data/.ldrelease/circleci/template/test.sh +0 -10
  55. data/.ldrelease/circleci/template/update-version.sh +0 -8
  56. data/.ldrelease/circleci/windows/execute.ps1 +0 -19
  57. data/.ldrelease/config.yml +0 -29
  58. data/.rspec +0 -2
  59. data/.rubocop.yml +0 -600
  60. data/.simplecov +0 -4
  61. data/CHANGELOG.md +0 -351
  62. data/CODEOWNERS +0 -1
  63. data/CONTRIBUTING.md +0 -37
  64. data/Gemfile +0 -3
  65. data/azure-pipelines.yml +0 -51
  66. data/docs/Makefile +0 -26
  67. data/docs/index.md +0 -9
  68. data/launchdarkly-server-sdk.gemspec +0 -45
  69. data/lib/ldclient-rb/event_summarizer.rb +0 -55
  70. data/lib/ldclient-rb/impl/event_factory.rb +0 -120
  71. data/spec/config_spec.rb +0 -63
  72. data/spec/diagnostic_events_spec.rb +0 -163
  73. data/spec/evaluation_detail_spec.rb +0 -135
  74. data/spec/event_sender_spec.rb +0 -197
  75. data/spec/event_summarizer_spec.rb +0 -63
  76. data/spec/events_spec.rb +0 -607
  77. data/spec/expiring_cache_spec.rb +0 -76
  78. data/spec/feature_store_spec_base.rb +0 -213
  79. data/spec/file_data_source_spec.rb +0 -283
  80. data/spec/fixtures/feature.json +0 -37
  81. data/spec/fixtures/feature1.json +0 -36
  82. data/spec/fixtures/user.json +0 -9
  83. data/spec/flags_state_spec.rb +0 -81
  84. data/spec/http_util.rb +0 -132
  85. data/spec/impl/evaluator_bucketing_spec.rb +0 -111
  86. data/spec/impl/evaluator_clause_spec.rb +0 -55
  87. data/spec/impl/evaluator_operators_spec.rb +0 -141
  88. data/spec/impl/evaluator_rule_spec.rb +0 -96
  89. data/spec/impl/evaluator_segment_spec.rb +0 -125
  90. data/spec/impl/evaluator_spec.rb +0 -305
  91. data/spec/impl/evaluator_spec_base.rb +0 -75
  92. data/spec/impl/model/serialization_spec.rb +0 -41
  93. data/spec/in_memory_feature_store_spec.rb +0 -12
  94. data/spec/integrations/consul_feature_store_spec.rb +0 -40
  95. data/spec/integrations/dynamodb_feature_store_spec.rb +0 -103
  96. data/spec/integrations/store_wrapper_spec.rb +0 -276
  97. data/spec/launchdarkly-server-sdk_spec.rb +0 -13
  98. data/spec/launchdarkly-server-sdk_spec_autoloadtest.rb +0 -9
  99. data/spec/ldclient_end_to_end_spec.rb +0 -157
  100. data/spec/ldclient_spec.rb +0 -643
  101. data/spec/newrelic_spec.rb +0 -5
  102. data/spec/polling_spec.rb +0 -120
  103. data/spec/redis_feature_store_spec.rb +0 -121
  104. data/spec/requestor_spec.rb +0 -196
  105. data/spec/segment_store_spec_base.rb +0 -95
  106. data/spec/simple_lru_cache_spec.rb +0 -24
  107. data/spec/spec_helper.rb +0 -9
  108. data/spec/store_spec.rb +0 -10
  109. data/spec/stream_spec.rb +0 -45
  110. data/spec/user_filter_spec.rb +0 -91
  111. data/spec/util_spec.rb +0 -17
  112. data/spec/version_spec.rb +0 -7
@@ -47,7 +47,8 @@ module LaunchDarkly
47
47
  headers: headers,
48
48
  read_timeout: READ_TIMEOUT_SECONDS,
49
49
  logger: @config.logger,
50
- socket_factory: @config.socket_factory
50
+ socket_factory: @config.socket_factory,
51
+ reconnect_time: @config.initial_reconnect_delay
51
52
  }
52
53
  log_connection_started
53
54
  @es = SSE::Client.new(@config.stream_uri + "/all", **opts) do |conn|
@@ -85,7 +86,7 @@ module LaunchDarkly
85
86
  @config.logger.debug { "[LDClient] Stream received #{method} message: #{message.data}" }
86
87
  if method == PUT
87
88
  message = JSON.parse(message.data, symbolize_names: true)
88
- all_data = Impl::Model.make_all_store_data(message[:data])
89
+ all_data = Impl::Model.make_all_store_data(message[:data], @config.logger)
89
90
  @feature_store.init(all_data)
90
91
  @initialized.make_true
91
92
  @config.logger.info { "[LDClient] Stream initialized" }
@@ -96,7 +97,7 @@ module LaunchDarkly
96
97
  key = key_for_path(kind, data[:path])
97
98
  if key
98
99
  data = data[:data]
99
- Impl::Model.postprocess_item_after_deserializing!(kind, data)
100
+ Impl::DataModelPreprocessing::Preprocessor.new(@config.logger).preprocess_item!(kind, data)
100
101
  @feature_store.upsert(kind, data)
101
102
  break
102
103
  end
@@ -18,12 +18,21 @@ module LaunchDarkly
18
18
  end
19
19
  ret
20
20
  end
21
-
21
+
22
22
  def self.new_http_client(uri_s, config)
23
23
  http_client_options = {}
24
24
  if config.socket_factory
25
25
  http_client_options["socket_class"] = config.socket_factory
26
26
  end
27
+ proxy = URI.parse(uri_s).find_proxy
28
+ if !proxy.nil?
29
+ http_client_options["proxy"] = {
30
+ proxy_address: proxy.host,
31
+ proxy_port: proxy.port,
32
+ proxy_username: proxy.user,
33
+ proxy_password: proxy.password
34
+ }
35
+ end
27
36
  return HTTP::Client.new(http_client_options)
28
37
  .timeout({
29
38
  read: config.read_timeout,
@@ -1,3 +1,3 @@
1
1
  module LaunchDarkly
2
- VERSION = "6.1.1"
2
+ VERSION = "6.4.0"
3
3
  end
data/lib/ldclient-rb.rb CHANGED
@@ -21,7 +21,6 @@ require "ldclient-rb/polling"
21
21
  require "ldclient-rb/user_filter"
22
22
  require "ldclient-rb/simple_lru_cache"
23
23
  require "ldclient-rb/non_blocking_thread_pool"
24
- require "ldclient-rb/event_summarizer"
25
24
  require "ldclient-rb/events"
26
25
  require "ldclient-rb/requestor"
27
26
  require "ldclient-rb/file_data_source"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: launchdarkly-server-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.1
4
+ version: 6.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - LaunchDarkly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-27 00:00:00.000000000 Z
11
+ date: 2022-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-dynamodb
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: '2.1'
33
+ version: 2.2.33
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: '2.1'
40
+ version: 2.2.33
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -196,44 +196,50 @@ dependencies:
196
196
  name: ld-eventsource
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - "~>"
199
+ - - '='
200
200
  - !ruby/object:Gem::Version
201
- version: '2.0'
201
+ version: 2.2.1
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - "~>"
206
+ - - '='
207
207
  - !ruby/object:Gem::Version
208
- version: '2.0'
208
+ version: 2.2.1
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: json
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 2.3.1
215
+ version: '2.3'
216
216
  type: :runtime
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 2.3.1
222
+ version: '2.3'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: http
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - "~>"
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: 4.4.0
230
+ - - "<"
228
231
  - !ruby/object:Gem::Version
229
- version: 4.4.1
232
+ version: 6.0.0
230
233
  type: :runtime
231
234
  prerelease: false
232
235
  version_requirements: !ruby/object:Gem::Requirement
233
236
  requirements:
234
- - - "~>"
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: 4.4.0
240
+ - - "<"
235
241
  - !ruby/object:Gem::Version
236
- version: 4.4.1
242
+ version: 6.0.0
237
243
  description: Official LaunchDarkly SDK for Ruby
238
244
  email:
239
245
  - team@launchdarkly.com
@@ -241,57 +247,35 @@ executables: []
241
247
  extensions: []
242
248
  extra_rdoc_files: []
243
249
  files:
244
- - ".circleci/config.yml"
245
- - ".github/ISSUE_TEMPLATE/bug_report.md"
246
- - ".github/ISSUE_TEMPLATE/config.yml"
247
- - ".github/ISSUE_TEMPLATE/feature_request.md"
248
- - ".github/pull_request_template.md"
249
- - ".gitignore"
250
- - ".hound.yml"
251
- - ".ldrelease/build-docs.sh"
252
- - ".ldrelease/circleci/linux/execute.sh"
253
- - ".ldrelease/circleci/mac/execute.sh"
254
- - ".ldrelease/circleci/template/build.sh"
255
- - ".ldrelease/circleci/template/publish.sh"
256
- - ".ldrelease/circleci/template/set-gem-home.sh"
257
- - ".ldrelease/circleci/template/test.sh"
258
- - ".ldrelease/circleci/template/update-version.sh"
259
- - ".ldrelease/circleci/windows/execute.ps1"
260
- - ".ldrelease/config.yml"
261
- - ".rspec"
262
- - ".rubocop.yml"
263
- - ".simplecov"
264
- - CHANGELOG.md
265
- - CODEOWNERS
266
- - CONTRIBUTING.md
267
- - Gemfile
268
250
  - LICENSE.txt
269
251
  - README.md
270
- - azure-pipelines.yml
271
- - docs/Makefile
272
- - docs/index.md
273
- - launchdarkly-server-sdk.gemspec
274
252
  - lib/launchdarkly-server-sdk.rb
275
253
  - lib/ldclient-rb.rb
276
254
  - lib/ldclient-rb/cache_store.rb
277
255
  - lib/ldclient-rb/config.rb
278
256
  - lib/ldclient-rb/evaluation_detail.rb
279
- - lib/ldclient-rb/event_summarizer.rb
280
257
  - lib/ldclient-rb/events.rb
281
258
  - lib/ldclient-rb/expiring_cache.rb
282
259
  - lib/ldclient-rb/file_data_source.rb
283
260
  - lib/ldclient-rb/flags_state.rb
284
261
  - lib/ldclient-rb/impl.rb
262
+ - lib/ldclient-rb/impl/big_segments.rb
285
263
  - lib/ldclient-rb/impl/diagnostic_events.rb
286
264
  - lib/ldclient-rb/impl/evaluator.rb
287
265
  - lib/ldclient-rb/impl/evaluator_bucketing.rb
266
+ - lib/ldclient-rb/impl/evaluator_helpers.rb
288
267
  - lib/ldclient-rb/impl/evaluator_operators.rb
289
- - lib/ldclient-rb/impl/event_factory.rb
290
268
  - lib/ldclient-rb/impl/event_sender.rb
269
+ - lib/ldclient-rb/impl/event_summarizer.rb
270
+ - lib/ldclient-rb/impl/event_types.rb
291
271
  - lib/ldclient-rb/impl/integrations/consul_impl.rb
292
272
  - lib/ldclient-rb/impl/integrations/dynamodb_impl.rb
273
+ - lib/ldclient-rb/impl/integrations/file_data_source.rb
293
274
  - lib/ldclient-rb/impl/integrations/redis_impl.rb
275
+ - lib/ldclient-rb/impl/integrations/test_data/test_data_source.rb
276
+ - lib/ldclient-rb/impl/model/preprocessed_data.rb
294
277
  - lib/ldclient-rb/impl/model/serialization.rb
278
+ - lib/ldclient-rb/impl/repeating_task.rb
295
279
  - lib/ldclient-rb/impl/store_client_wrapper.rb
296
280
  - lib/ldclient-rb/impl/store_data_set_sorter.rb
297
281
  - lib/ldclient-rb/impl/unbounded_pool.rb
@@ -300,7 +284,10 @@ files:
300
284
  - lib/ldclient-rb/integrations.rb
301
285
  - lib/ldclient-rb/integrations/consul.rb
302
286
  - lib/ldclient-rb/integrations/dynamodb.rb
287
+ - lib/ldclient-rb/integrations/file_data.rb
303
288
  - lib/ldclient-rb/integrations/redis.rb
289
+ - lib/ldclient-rb/integrations/test_data.rb
290
+ - lib/ldclient-rb/integrations/test_data/flag_builder.rb
304
291
  - lib/ldclient-rb/integrations/util/store_wrapper.rb
305
292
  - lib/ldclient-rb/interfaces.rb
306
293
  - lib/ldclient-rb/ldclient.rb
@@ -315,48 +302,6 @@ files:
315
302
  - lib/ldclient-rb/user_filter.rb
316
303
  - lib/ldclient-rb/util.rb
317
304
  - lib/ldclient-rb/version.rb
318
- - spec/config_spec.rb
319
- - spec/diagnostic_events_spec.rb
320
- - spec/evaluation_detail_spec.rb
321
- - spec/event_sender_spec.rb
322
- - spec/event_summarizer_spec.rb
323
- - spec/events_spec.rb
324
- - spec/expiring_cache_spec.rb
325
- - spec/feature_store_spec_base.rb
326
- - spec/file_data_source_spec.rb
327
- - spec/fixtures/feature.json
328
- - spec/fixtures/feature1.json
329
- - spec/fixtures/user.json
330
- - spec/flags_state_spec.rb
331
- - spec/http_util.rb
332
- - spec/impl/evaluator_bucketing_spec.rb
333
- - spec/impl/evaluator_clause_spec.rb
334
- - spec/impl/evaluator_operators_spec.rb
335
- - spec/impl/evaluator_rule_spec.rb
336
- - spec/impl/evaluator_segment_spec.rb
337
- - spec/impl/evaluator_spec.rb
338
- - spec/impl/evaluator_spec_base.rb
339
- - spec/impl/model/serialization_spec.rb
340
- - spec/in_memory_feature_store_spec.rb
341
- - spec/integrations/consul_feature_store_spec.rb
342
- - spec/integrations/dynamodb_feature_store_spec.rb
343
- - spec/integrations/store_wrapper_spec.rb
344
- - spec/launchdarkly-server-sdk_spec.rb
345
- - spec/launchdarkly-server-sdk_spec_autoloadtest.rb
346
- - spec/ldclient_end_to_end_spec.rb
347
- - spec/ldclient_spec.rb
348
- - spec/newrelic_spec.rb
349
- - spec/polling_spec.rb
350
- - spec/redis_feature_store_spec.rb
351
- - spec/requestor_spec.rb
352
- - spec/segment_store_spec_base.rb
353
- - spec/simple_lru_cache_spec.rb
354
- - spec/spec_helper.rb
355
- - spec/store_spec.rb
356
- - spec/stream_spec.rb
357
- - spec/user_filter_spec.rb
358
- - spec/util_spec.rb
359
- - spec/version_spec.rb
360
305
  homepage: https://github.com/launchdarkly/ruby-server-sdk
361
306
  licenses:
362
307
  - Apache-2.0
@@ -376,50 +321,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
376
321
  - !ruby/object:Gem::Version
377
322
  version: '0'
378
323
  requirements: []
379
- rubygems_version: 3.0.3
324
+ rubygems_version: 3.3.22
380
325
  signing_key:
381
326
  specification_version: 4
382
327
  summary: LaunchDarkly SDK for Ruby
383
- test_files:
384
- - spec/config_spec.rb
385
- - spec/diagnostic_events_spec.rb
386
- - spec/evaluation_detail_spec.rb
387
- - spec/event_sender_spec.rb
388
- - spec/event_summarizer_spec.rb
389
- - spec/events_spec.rb
390
- - spec/expiring_cache_spec.rb
391
- - spec/feature_store_spec_base.rb
392
- - spec/file_data_source_spec.rb
393
- - spec/fixtures/feature.json
394
- - spec/fixtures/feature1.json
395
- - spec/fixtures/user.json
396
- - spec/flags_state_spec.rb
397
- - spec/http_util.rb
398
- - spec/impl/evaluator_bucketing_spec.rb
399
- - spec/impl/evaluator_clause_spec.rb
400
- - spec/impl/evaluator_operators_spec.rb
401
- - spec/impl/evaluator_rule_spec.rb
402
- - spec/impl/evaluator_segment_spec.rb
403
- - spec/impl/evaluator_spec.rb
404
- - spec/impl/evaluator_spec_base.rb
405
- - spec/impl/model/serialization_spec.rb
406
- - spec/in_memory_feature_store_spec.rb
407
- - spec/integrations/consul_feature_store_spec.rb
408
- - spec/integrations/dynamodb_feature_store_spec.rb
409
- - spec/integrations/store_wrapper_spec.rb
410
- - spec/launchdarkly-server-sdk_spec.rb
411
- - spec/launchdarkly-server-sdk_spec_autoloadtest.rb
412
- - spec/ldclient_end_to_end_spec.rb
413
- - spec/ldclient_spec.rb
414
- - spec/newrelic_spec.rb
415
- - spec/polling_spec.rb
416
- - spec/redis_feature_store_spec.rb
417
- - spec/requestor_spec.rb
418
- - spec/segment_store_spec_base.rb
419
- - spec/simple_lru_cache_spec.rb
420
- - spec/spec_helper.rb
421
- - spec/store_spec.rb
422
- - spec/stream_spec.rb
423
- - spec/user_filter_spec.rb
424
- - spec/util_spec.rb
425
- - spec/version_spec.rb
328
+ test_files: []
data/.circleci/config.yml DELETED
@@ -1,40 +0,0 @@
1
- # This CircleCI configuration was generated by Releaser for a specific release. It is not to be used
2
- # for regular CI builds. Be aware that rerunning this build may cause it to repeat release actions
3
- # such as publishing to a package manager. However, it will not perform any Git actions other than
4
- # reading the repository.
5
- version: 2.1
6
- workflows:
7
- test:
8
- jobs:
9
- - release_linux:
10
- context: org-global
11
- jobs:
12
- release_linux:
13
- docker:
14
- - image: circleci/ruby:2.6.6-buster
15
- environment:
16
- LD_RELEASE_CIRCLECI_TYPE: linux
17
- LD_RELEASE_BRANCH: "master"
18
- LD_RELEASE_CIRCLECI_BRANCH: ""
19
- LD_RELEASE_DOCS_GITHUB_PAGES: "1"
20
- LD_RELEASE_DOCS_TITLE: ""
21
- LD_RELEASE_PROJECT: "ruby-server-sdk"
22
- LD_RELEASE_PROJECT_TEMPLATE: "ruby"
23
- LD_RELEASE_VERSION: "6.1.1"
24
- LD_SKIP_DATABASE_TESTS: "1"
25
- steps:
26
- - checkout
27
- - run:
28
- name: "Releaser: build"
29
- command: .ldrelease/circleci/mac/execute.sh build .ldrelease/circleci/template/build.sh
30
- - run:
31
- name: "Releaser: test"
32
- command: .ldrelease/circleci/mac/execute.sh test .ldrelease/circleci/template/test.sh
33
- - run:
34
- name: "Releaser: build-docs"
35
- command: .ldrelease/circleci/mac/execute.sh build-docs .ldrelease/build-docs.sh
36
- - run:
37
- name: "Releaser: publish"
38
- command: .ldrelease/circleci/mac/execute.sh publish .ldrelease/circleci/template/publish.sh
39
- - store_artifacts:
40
- path: artifacts
@@ -1,37 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- **Is this a support request?**
11
- This issue tracker is maintained by LaunchDarkly SDK developers and is intended for feedback on the SDK code. If you're not sure whether the problem you are having is specifically related to the SDK, or to the LaunchDarkly service overall, it may be more appropriate to contact the LaunchDarkly support team; they can help to investigate the problem and will consult the SDK team if necessary. You can submit a support request by going [here](https://support.launchdarkly.com/hc/en-us/requests/new) or by emailing support@launchdarkly.com.
12
-
13
- Note that issues filed on this issue tracker are publicly accessible. Do not provide any private account information on your issues. If your problem is specific to your account, you should submit a support request as described above.
14
-
15
- **Describe the bug**
16
- A clear and concise description of what the bug is.
17
-
18
- **To reproduce**
19
- Steps to reproduce the behavior.
20
-
21
- **Expected behavior**
22
- A clear and concise description of what you expected to happen.
23
-
24
- **Logs**
25
- If applicable, add any log output related to your problem.
26
-
27
- **SDK version**
28
- The version of this SDK that you are using.
29
-
30
- **Language version, developer tools**
31
- For instance, Go 1.11 or Ruby 2.5.3. If you are using a language that requires a separate compiler, such as C, please include the name and version of the compiler too.
32
-
33
- **OS/platform**
34
- For instance, Ubuntu 16.04, Windows 10, or Android 4.0.3. If your code is running in a browser, please also include the browser type and version.
35
-
36
- **Additional context**
37
- Add any other context about the problem here.
@@ -1,5 +0,0 @@
1
- blank_issues_enabled: false
2
- contact_links:
3
- - name: Support request
4
- url: https://support.launchdarkly.com/hc/en-us/requests/new
5
- about: File your support requests with LaunchDarkly's support team
@@ -1,20 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- **Is your feature request related to a problem? Please describe.**
11
- A clear and concise description of what the problem is. Ex. I would love to see the SDK [...does something new...]
12
-
13
- **Describe the solution you'd like**
14
- A clear and concise description of what you want to happen.
15
-
16
- **Describe alternatives you've considered**
17
- A clear and concise description of any alternative solutions or features you've considered.
18
-
19
- **Additional context**
20
- Add any other context about the feature request here.
@@ -1,21 +0,0 @@
1
- **Requirements**
2
-
3
- - [ ] I have added test coverage for new or changed functionality
4
- - [ ] I have followed the repository's [pull request submission guidelines](../blob/master/CONTRIBUTING.md#submitting-pull-requests)
5
- - [ ] I have validated my changes against all supported platform versions
6
-
7
- **Related issues**
8
-
9
- Provide links to any issues in this repository or elsewhere relating to this pull request.
10
-
11
- **Describe the solution you've provided**
12
-
13
- Provide a clear and concise description of what you expect to happen.
14
-
15
- **Describe alternatives you've considered**
16
-
17
- Provide a clear and concise description of any alternative solutions or features you've considered.
18
-
19
- **Additional context**
20
-
21
- Add any other context about the pull request here.
data/.gitignore DELETED
@@ -1,16 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /docs/build
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
- *.bundle
10
- *.so
11
- *.o
12
- *.a
13
- mkmf.log
14
- *.gem
15
- .DS_Store
16
- Gemfile.lock
data/.hound.yml DELETED
@@ -1,2 +0,0 @@
1
- ruby:
2
- config_file: .rubocop
@@ -1,18 +0,0 @@
1
- #!/bin/bash
2
-
3
- # doc generation is not part of Releaser's standard Ruby project template
4
-
5
- mkdir -p ./artifacts/
6
-
7
- cd ./docs
8
- make
9
- cd ..
10
-
11
- # Releaser will pick up docs generated in CI if we put an archive of them in the
12
- # artifacts directory and name it docs.tar.gz or docs.zip. They will be uploaded
13
- # to GitHub Pages and also attached as release artifacts. There's no separate
14
- # "publish-docs" step because the external service that also hosts them doesn't
15
- # require an upload, it just picks up gems automatically.
16
-
17
- cd ./docs/build/html
18
- tar cfz ../../../artifacts/docs.tar.gz *
@@ -1,18 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -ue
4
-
5
- # Performs a delegated release step in a CircleCI Linux container. This mechanism is described
6
- # in scripts/circleci/README.md. All of the necessary environment variables should already be
7
- # in the generated CircleCI configuration.
8
-
9
- mkdir -p artifacts
10
-
11
- export LD_RELEASE_TEMP_DIR=/tmp/project-releaser-temp
12
- mkdir -p ${LD_RELEASE_TEMP_DIR}
13
-
14
- STEP="$1"
15
- SCRIPT="$2"
16
- echo
17
- echo "[${STEP}] executing ${SCRIPT}"
18
- "./${SCRIPT}"
@@ -1,18 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -ue
4
-
5
- # Performs a delegated release step in a CircleCI Mac container. This mechanism is described
6
- # in scripts/circleci/README.md. All of the necessary environment variables should already be
7
- # in the generated CircleCI configuration.
8
-
9
- mkdir -p artifacts
10
-
11
- export LD_RELEASE_TEMP_DIR=/tmp/project-releaser-temp
12
- mkdir -p ${LD_RELEASE_TEMP_DIR}
13
-
14
- STEP="$1"
15
- SCRIPT="$2"
16
- echo
17
- echo "[${STEP}] executing ${SCRIPT}"
18
- "./${SCRIPT}"
@@ -1,29 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -ue
4
-
5
- # Standard build.sh for Ruby-based projects that publish a gem
6
-
7
- echo "Using gem $(gem --version)"
8
-
9
- #shellcheck source=/dev/null
10
- source "$(dirname "$0")/set-gem-home.sh"
11
-
12
- # If the gemspec specifies a certain version of bundler, we need to make sure we install that version.
13
- echo "Installing bundler"
14
- GEMSPEC_BUNDLER_VERSION=$(sed -n -e "s/.*['\"]bundler['\"], *['\"]\([^'\"]*\)['\"]/\1/p" ./*.gemspec | tr -d ' ')
15
- if [ -n "${GEMSPEC_BUNDLER_VERSION}" ]; then
16
- GEMSPEC_OPTIONS="-v ${GEMSPEC_BUNDLER_VERSION}"
17
- else
18
- GEMSPEC_OPTIONS=""
19
- fi
20
- gem install bundler ${GEMSPEC_OPTIONS} || { echo "installing bundler failed" >&2; exit 1; }
21
-
22
- echo; echo "Installing dependencies"
23
- bundle install
24
-
25
- # Build Ruby Gem - this assumes there is a single .gemspec file in the main project directory
26
- # Note that the gemspec must be able to get the project version either from $LD_RELEASE_VERSION,
27
- # or from somewhere in the source code that the project-specific update-version.sh has updated.
28
- echo "Running gem build"
29
- gem build ./*.gemspec || { echo "gem build failed" >&2; exit 1; }
@@ -1,23 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -ue
4
-
5
- # Standard publish.sh for Ruby-based projects - we can assume build.sh has already been run
6
-
7
- export GEM_HOME="${LD_RELEASE_TEMP_DIR}/gems"
8
-
9
- # If we're running in CircleCI, the RubyGems credentials will be in an environment
10
- # variable and need to be copied to a file
11
- if [ -n "${LD_RELEASE_RUBYGEMS_API_KEY}" ]; then
12
- mkdir -p ~/.gem
13
- cat >~/.gem/credentials <<EOF
14
- ---
15
- :rubygems_api_key: $LD_RELEASE_RUBYGEMS_API_KEY
16
- EOF
17
- chmod 0600 ~/.gem/credentials
18
- fi
19
-
20
- # Since all Releaser builds are clean builds, we can assume that the only .gem file here
21
- # is the one we just built
22
- echo "Running gem push"
23
- gem push ./*.gem || { echo "gem push failed" >&2; exit 1; }
@@ -1,7 +0,0 @@
1
- #!/bin/bash
2
-
3
- # helper script to set GEM_HOME and PATH for Ruby - must be sourced, not executed
4
-
5
- mkdir -p "${LD_RELEASE_TEMP_DIR}/gems"
6
- export GEM_HOME="${LD_RELEASE_TEMP_DIR}/gems"
7
- export PATH="${GEM_HOME}/bin:${PATH}"
@@ -1,10 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -ue
4
-
5
- # Standard test.sh for Ruby-based projects
6
-
7
- #shellcheck source=/dev/null
8
- source "$(dirname "$0")/set-gem-home.sh"
9
-
10
- bundle exec rspec spec
@@ -1,8 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -ue
4
-
5
- # Standard update-version.sh for Ruby-based projects - this will work only if the version string
6
- # is in a source file under lib/ that has a line like his: VERSION = "2.0.0"
7
-
8
- "$(dirname "$0")/../update-version-constant.sh" lib '*.rb'
@@ -1,19 +0,0 @@
1
- param(
2
- [string]$step,
3
- [string]$script
4
- )
5
-
6
- # Performs a delegated release step in a CircleCI Windows container using PowerShell. This
7
- # mechanism is described in scripts/circleci/README.md. All of the necessary environment
8
- # variables should already be in the generated CircleCI configuration.
9
-
10
- $ErrorActionPreference = "Stop"
11
-
12
- New-Item -Path "./artifacts" -ItemType "directory" -Force | Out-Null
13
-
14
- $env:LD_RELEASE_TEMP_DIR = "$env:TEMP\project-releaser-temp"
15
- New-Item -Path $env:LD_RELEASE_TEMP_DIR -ItemType "directory" -Force | Out-Null
16
-
17
- Write-Host
18
- Write-Host "[$step] executing $script"
19
- & "./$script"