launchdarkly-server-sdk 6.2.3 → 6.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/lib/ldclient-rb/config.rb +81 -4
  4. data/lib/ldclient-rb/evaluation_detail.rb +67 -8
  5. data/lib/ldclient-rb/file_data_source.rb +9 -300
  6. data/lib/ldclient-rb/impl/big_segments.rb +117 -0
  7. data/lib/ldclient-rb/impl/evaluator.rb +80 -28
  8. data/lib/ldclient-rb/impl/integrations/dynamodb_impl.rb +82 -18
  9. data/lib/ldclient-rb/impl/integrations/file_data_source.rb +212 -0
  10. data/lib/ldclient-rb/impl/integrations/redis_impl.rb +84 -31
  11. data/lib/ldclient-rb/impl/integrations/test_data/test_data_source.rb +40 -0
  12. data/lib/ldclient-rb/impl/repeating_task.rb +47 -0
  13. data/lib/ldclient-rb/impl/util.rb +4 -1
  14. data/lib/ldclient-rb/integrations/consul.rb +7 -0
  15. data/lib/ldclient-rb/integrations/dynamodb.rb +47 -2
  16. data/lib/ldclient-rb/integrations/file_data.rb +108 -0
  17. data/lib/ldclient-rb/integrations/redis.rb +41 -1
  18. data/lib/ldclient-rb/integrations/test_data/flag_builder.rb +438 -0
  19. data/lib/ldclient-rb/integrations/test_data.rb +209 -0
  20. data/lib/ldclient-rb/integrations/util/store_wrapper.rb +5 -0
  21. data/lib/ldclient-rb/integrations.rb +2 -51
  22. data/lib/ldclient-rb/interfaces.rb +152 -2
  23. data/lib/ldclient-rb/ldclient.rb +21 -7
  24. data/lib/ldclient-rb/polling.rb +22 -41
  25. data/lib/ldclient-rb/util.rb +1 -1
  26. data/lib/ldclient-rb/version.rb +1 -1
  27. metadata +31 -132
  28. data/.circleci/config.yml +0 -40
  29. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -37
  30. data/.github/ISSUE_TEMPLATE/config.yml +0 -5
  31. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  32. data/.github/pull_request_template.md +0 -21
  33. data/.gitignore +0 -16
  34. data/.hound.yml +0 -2
  35. data/.ldrelease/build-docs.sh +0 -18
  36. data/.ldrelease/circleci/linux/execute.sh +0 -18
  37. data/.ldrelease/circleci/mac/execute.sh +0 -18
  38. data/.ldrelease/circleci/template/build.sh +0 -29
  39. data/.ldrelease/circleci/template/publish.sh +0 -23
  40. data/.ldrelease/circleci/template/set-gem-home.sh +0 -7
  41. data/.ldrelease/circleci/template/test.sh +0 -10
  42. data/.ldrelease/circleci/template/update-version.sh +0 -8
  43. data/.ldrelease/circleci/windows/execute.ps1 +0 -19
  44. data/.ldrelease/config.yml +0 -29
  45. data/.rspec +0 -2
  46. data/.rubocop.yml +0 -600
  47. data/.simplecov +0 -4
  48. data/CHANGELOG.md +0 -367
  49. data/CODEOWNERS +0 -1
  50. data/CONTRIBUTING.md +0 -37
  51. data/Gemfile +0 -3
  52. data/azure-pipelines.yml +0 -51
  53. data/docs/Makefile +0 -26
  54. data/docs/index.md +0 -9
  55. data/launchdarkly-server-sdk.gemspec +0 -45
  56. data/spec/config_spec.rb +0 -63
  57. data/spec/diagnostic_events_spec.rb +0 -165
  58. data/spec/evaluation_detail_spec.rb +0 -135
  59. data/spec/event_sender_spec.rb +0 -197
  60. data/spec/event_summarizer_spec.rb +0 -63
  61. data/spec/events_spec.rb +0 -607
  62. data/spec/expiring_cache_spec.rb +0 -76
  63. data/spec/feature_store_spec_base.rb +0 -213
  64. data/spec/file_data_source_spec.rb +0 -283
  65. data/spec/fixtures/feature.json +0 -37
  66. data/spec/fixtures/feature1.json +0 -36
  67. data/spec/fixtures/user.json +0 -9
  68. data/spec/flags_state_spec.rb +0 -81
  69. data/spec/http_util.rb +0 -132
  70. data/spec/impl/evaluator_bucketing_spec.rb +0 -216
  71. data/spec/impl/evaluator_clause_spec.rb +0 -55
  72. data/spec/impl/evaluator_operators_spec.rb +0 -141
  73. data/spec/impl/evaluator_rule_spec.rb +0 -128
  74. data/spec/impl/evaluator_segment_spec.rb +0 -125
  75. data/spec/impl/evaluator_spec.rb +0 -349
  76. data/spec/impl/evaluator_spec_base.rb +0 -75
  77. data/spec/impl/event_factory_spec.rb +0 -108
  78. data/spec/impl/model/serialization_spec.rb +0 -41
  79. data/spec/in_memory_feature_store_spec.rb +0 -12
  80. data/spec/integrations/consul_feature_store_spec.rb +0 -40
  81. data/spec/integrations/dynamodb_feature_store_spec.rb +0 -103
  82. data/spec/integrations/store_wrapper_spec.rb +0 -276
  83. data/spec/launchdarkly-server-sdk_spec.rb +0 -13
  84. data/spec/launchdarkly-server-sdk_spec_autoloadtest.rb +0 -9
  85. data/spec/ldclient_end_to_end_spec.rb +0 -157
  86. data/spec/ldclient_spec.rb +0 -635
  87. data/spec/newrelic_spec.rb +0 -5
  88. data/spec/polling_spec.rb +0 -120
  89. data/spec/redis_feature_store_spec.rb +0 -121
  90. data/spec/requestor_spec.rb +0 -209
  91. data/spec/segment_store_spec_base.rb +0 -95
  92. data/spec/simple_lru_cache_spec.rb +0 -24
  93. data/spec/spec_helper.rb +0 -9
  94. data/spec/store_spec.rb +0 -10
  95. data/spec/stream_spec.rb +0 -45
  96. data/spec/user_filter_spec.rb +0 -91
  97. data/spec/util_spec.rb +0 -17
  98. data/spec/version_spec.rb +0 -7
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.2.3
4
+ version: 6.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - LaunchDarkly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-06 00:00:00.000000000 Z
11
+ date: 2021-12-31 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.10
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.10
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.0
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.0
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,36 +247,8 @@ 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
@@ -282,6 +260,7 @@ files:
282
260
  - lib/ldclient-rb/file_data_source.rb
283
261
  - lib/ldclient-rb/flags_state.rb
284
262
  - lib/ldclient-rb/impl.rb
263
+ - lib/ldclient-rb/impl/big_segments.rb
285
264
  - lib/ldclient-rb/impl/diagnostic_events.rb
286
265
  - lib/ldclient-rb/impl/evaluator.rb
287
266
  - lib/ldclient-rb/impl/evaluator_bucketing.rb
@@ -290,8 +269,11 @@ files:
290
269
  - lib/ldclient-rb/impl/event_sender.rb
291
270
  - lib/ldclient-rb/impl/integrations/consul_impl.rb
292
271
  - lib/ldclient-rb/impl/integrations/dynamodb_impl.rb
272
+ - lib/ldclient-rb/impl/integrations/file_data_source.rb
293
273
  - lib/ldclient-rb/impl/integrations/redis_impl.rb
274
+ - lib/ldclient-rb/impl/integrations/test_data/test_data_source.rb
294
275
  - lib/ldclient-rb/impl/model/serialization.rb
276
+ - lib/ldclient-rb/impl/repeating_task.rb
295
277
  - lib/ldclient-rb/impl/store_client_wrapper.rb
296
278
  - lib/ldclient-rb/impl/store_data_set_sorter.rb
297
279
  - lib/ldclient-rb/impl/unbounded_pool.rb
@@ -300,7 +282,10 @@ files:
300
282
  - lib/ldclient-rb/integrations.rb
301
283
  - lib/ldclient-rb/integrations/consul.rb
302
284
  - lib/ldclient-rb/integrations/dynamodb.rb
285
+ - lib/ldclient-rb/integrations/file_data.rb
303
286
  - lib/ldclient-rb/integrations/redis.rb
287
+ - lib/ldclient-rb/integrations/test_data.rb
288
+ - lib/ldclient-rb/integrations/test_data/flag_builder.rb
304
289
  - lib/ldclient-rb/integrations/util/store_wrapper.rb
305
290
  - lib/ldclient-rb/interfaces.rb
306
291
  - lib/ldclient-rb/ldclient.rb
@@ -315,49 +300,6 @@ files:
315
300
  - lib/ldclient-rb/user_filter.rb
316
301
  - lib/ldclient-rb/util.rb
317
302
  - 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/event_factory_spec.rb
340
- - spec/impl/model/serialization_spec.rb
341
- - spec/in_memory_feature_store_spec.rb
342
- - spec/integrations/consul_feature_store_spec.rb
343
- - spec/integrations/dynamodb_feature_store_spec.rb
344
- - spec/integrations/store_wrapper_spec.rb
345
- - spec/launchdarkly-server-sdk_spec.rb
346
- - spec/launchdarkly-server-sdk_spec_autoloadtest.rb
347
- - spec/ldclient_end_to_end_spec.rb
348
- - spec/ldclient_spec.rb
349
- - spec/newrelic_spec.rb
350
- - spec/polling_spec.rb
351
- - spec/redis_feature_store_spec.rb
352
- - spec/requestor_spec.rb
353
- - spec/segment_store_spec_base.rb
354
- - spec/simple_lru_cache_spec.rb
355
- - spec/spec_helper.rb
356
- - spec/store_spec.rb
357
- - spec/stream_spec.rb
358
- - spec/user_filter_spec.rb
359
- - spec/util_spec.rb
360
- - spec/version_spec.rb
361
303
  homepage: https://github.com/launchdarkly/ruby-server-sdk
362
304
  licenses:
363
305
  - Apache-2.0
@@ -377,51 +319,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
377
319
  - !ruby/object:Gem::Version
378
320
  version: '0'
379
321
  requirements: []
380
- rubygems_version: 3.0.3
322
+ rubygems_version: 3.3.4
381
323
  signing_key:
382
324
  specification_version: 4
383
325
  summary: LaunchDarkly SDK for Ruby
384
- test_files:
385
- - spec/config_spec.rb
386
- - spec/diagnostic_events_spec.rb
387
- - spec/evaluation_detail_spec.rb
388
- - spec/event_sender_spec.rb
389
- - spec/event_summarizer_spec.rb
390
- - spec/events_spec.rb
391
- - spec/expiring_cache_spec.rb
392
- - spec/feature_store_spec_base.rb
393
- - spec/file_data_source_spec.rb
394
- - spec/fixtures/feature.json
395
- - spec/fixtures/feature1.json
396
- - spec/fixtures/user.json
397
- - spec/flags_state_spec.rb
398
- - spec/http_util.rb
399
- - spec/impl/evaluator_bucketing_spec.rb
400
- - spec/impl/evaluator_clause_spec.rb
401
- - spec/impl/evaluator_operators_spec.rb
402
- - spec/impl/evaluator_rule_spec.rb
403
- - spec/impl/evaluator_segment_spec.rb
404
- - spec/impl/evaluator_spec.rb
405
- - spec/impl/evaluator_spec_base.rb
406
- - spec/impl/event_factory_spec.rb
407
- - spec/impl/model/serialization_spec.rb
408
- - spec/in_memory_feature_store_spec.rb
409
- - spec/integrations/consul_feature_store_spec.rb
410
- - spec/integrations/dynamodb_feature_store_spec.rb
411
- - spec/integrations/store_wrapper_spec.rb
412
- - spec/launchdarkly-server-sdk_spec.rb
413
- - spec/launchdarkly-server-sdk_spec_autoloadtest.rb
414
- - spec/ldclient_end_to_end_spec.rb
415
- - spec/ldclient_spec.rb
416
- - spec/newrelic_spec.rb
417
- - spec/polling_spec.rb
418
- - spec/redis_feature_store_spec.rb
419
- - spec/requestor_spec.rb
420
- - spec/segment_store_spec_base.rb
421
- - spec/simple_lru_cache_spec.rb
422
- - spec/spec_helper.rb
423
- - spec/store_spec.rb
424
- - spec/stream_spec.rb
425
- - spec/user_filter_spec.rb
426
- - spec/util_spec.rb
427
- - spec/version_spec.rb
326
+ 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.2.3"
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"
@@ -1,29 +0,0 @@
1
- repo:
2
- public: ruby-server-sdk
3
- private: ruby-server-sdk-private
4
-
5
- releasableBranches:
6
- - name: master
7
- - name: 5.x
8
-
9
- publications:
10
- - url: https://rubygems.org/gems/launchdarkly-server-sdk
11
- description: RubyGems
12
- - url: https://www.rubydoc.info/gems/launchdarkly-server-sdk
13
- description: documentation
14
-
15
- template:
16
- name: ruby
17
-
18
- circleci:
19
- linux:
20
- image: circleci/ruby:2.6.6-buster
21
- context: org-global
22
- env:
23
- LD_SKIP_DATABASE_TESTS: "1" # Don't run Redis/Consul/DynamoDB tests in release; they are run in CI
24
-
25
- documentation:
26
- githubPages: true
27
-
28
- sdk:
29
- displayName: "Ruby"
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --order random