ddtrace 0.43.0 → 0.45.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +148 -130
  3. data/.circleci/images/primary/Dockerfile-3.0.0 +73 -0
  4. data/.github/workflows/add-milestone-to-pull-requests.yml +1 -1
  5. data/.simplecov +4 -1
  6. data/Appraisals +215 -14
  7. data/CHANGELOG.md +1048 -377
  8. data/Gemfile +4 -2
  9. data/README.md +1 -0
  10. data/Rakefile +172 -6
  11. data/ddtrace.gemspec +6 -8
  12. data/docker-compose.yml +30 -0
  13. data/docs/GettingStarted.md +112 -14
  14. data/lib/ddtrace.rb +8 -0
  15. data/lib/ddtrace/auto_instrument.rb +3 -0
  16. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  17. data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
  18. data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
  19. data/lib/ddtrace/contrib/action_view/event.rb +0 -4
  20. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  21. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  22. data/lib/ddtrace/contrib/action_view/integration.rb +7 -0
  23. data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
  24. data/lib/ddtrace/contrib/active_record/utils.rb +67 -21
  25. data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
  26. data/lib/ddtrace/contrib/auto_instrument.rb +48 -0
  27. data/lib/ddtrace/contrib/aws/services.rb +1 -0
  28. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +2 -0
  29. data/lib/ddtrace/contrib/cucumber/integration.rb +5 -0
  30. data/lib/ddtrace/contrib/ethon/easy_patch.rb +6 -5
  31. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  32. data/lib/ddtrace/contrib/extensions.rb +27 -1
  33. data/lib/ddtrace/contrib/grape/endpoint.rb +29 -11
  34. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  35. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  36. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  37. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +152 -0
  38. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  39. data/lib/ddtrace/contrib/httpclient/patcher.rb +35 -0
  40. data/lib/ddtrace/contrib/httprb/instrumentation.rb +1 -1
  41. data/lib/ddtrace/contrib/patchable.rb +18 -7
  42. data/lib/ddtrace/contrib/qless/configuration/settings.rb +35 -0
  43. data/lib/ddtrace/contrib/qless/ext.rb +20 -0
  44. data/lib/ddtrace/contrib/qless/integration.rb +38 -0
  45. data/lib/ddtrace/contrib/qless/patcher.rb +35 -0
  46. data/lib/ddtrace/contrib/qless/qless_job.rb +72 -0
  47. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +32 -0
  48. data/lib/ddtrace/contrib/rack/integration.rb +7 -0
  49. data/lib/ddtrace/contrib/rack/middlewares.rb +1 -1
  50. data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
  51. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  52. data/lib/ddtrace/contrib/rails/utils.rb +4 -0
  53. data/lib/ddtrace/contrib/rake/integration.rb +1 -1
  54. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +3 -1
  55. data/lib/ddtrace/contrib/redis/configuration/settings.rb +5 -0
  56. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  57. data/lib/ddtrace/contrib/redis/patcher.rb +20 -3
  58. data/lib/ddtrace/contrib/redis/quantize.rb +27 -0
  59. data/lib/ddtrace/contrib/redis/tags.rb +5 -1
  60. data/lib/ddtrace/contrib/rspec/integration.rb +5 -0
  61. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +2 -2
  62. data/lib/ddtrace/ext/ci.rb +42 -10
  63. data/lib/ddtrace/ext/git.rb +0 -1
  64. data/lib/ddtrace/propagation/http_propagator.rb +17 -2
  65. data/lib/ddtrace/version.rb +1 -1
  66. data/lib/ddtrace/workers/runtime_metrics.rb +7 -3
  67. metadata +91 -20
@@ -0,0 +1,73 @@
1
+ # https://hub.docker.com/layers/ruby/library/ruby/3.0.0/images/sha256-9719b7df964602b114a5e9319bd0a3ce2d4d44ccb7ea4d1702fa1ef9742a8f84
2
+ FROM ruby@sha256:9719b7df964602b114a5e9319bd0a3ce2d4d44ccb7ea4d1702fa1ef9742a8f84
3
+
4
+ # Make apt non-interactive
5
+ RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci \
6
+ && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci
7
+
8
+ ENV DEBIAN_FRONTEND=noninteractive
9
+
10
+ # Install required packages
11
+ RUN set -ex; \
12
+ apt-get update; \
13
+ mkdir -p /usr/share/man/man1; \
14
+ apt-get install -y --no-install-recommends \
15
+ git mercurial xvfb \
16
+ locales sudo openssh-client ca-certificates tar gzip parallel \
17
+ net-tools netcat unzip zip bzip2 gnupg curl wget \
18
+ tzdata rsync vim; \
19
+ rm -rf /var/lib/apt/lists/*;
20
+
21
+ # Set timezone to UTC by default
22
+ RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
23
+
24
+ # Set language
25
+ RUN locale-gen en_US.UTF-8
26
+ ENV LANG en_US.UTF-8
27
+ ENV LANGUAGE en_US:en
28
+
29
+ # Install jq
30
+ RUN JQ_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/jq-latest" \
31
+ && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/jq $JQ_URL \
32
+ && chmod +x /usr/bin/jq \
33
+ && jq --version
34
+
35
+ # Install Docker
36
+ RUN set -ex \
37
+ && export DOCKER_VERSION=$(curl --silent --fail --retry 3 https://download.docker.com/linux/static/stable/x86_64/ | grep -o -e 'docker-[.0-9]*-ce\.tgz' | sort -r | head -n 1) \
38
+ && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_VERSION}" \
39
+ && echo Docker URL: $DOCKER_URL \
40
+ && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
41
+ && ls -lha /tmp/docker.tgz \
42
+ && tar -xz -C /tmp -f /tmp/docker.tgz \
43
+ && mv /tmp/docker/* /usr/bin \
44
+ && rm -rf /tmp/docker /tmp/docker.tgz \
45
+ && which docker \
46
+ && (docker version || true)
47
+
48
+ # Install Docker Compose
49
+ RUN COMPOSE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/docker-compose-latest" \
50
+ && curl --silent --show-error --location --fail --retry 3 --output /usr/bin/docker-compose $COMPOSE_URL \
51
+ && chmod +x /usr/bin/docker-compose \
52
+ && docker-compose version
53
+
54
+ # Install Dockerize
55
+ RUN DOCKERIZE_URL="https://circle-downloads.s3.amazonaws.com/circleci-images/cache/linux-amd64/dockerize-latest.tar.gz" \
56
+ && curl --silent --show-error --location --fail --retry 3 --output /tmp/dockerize-linux-amd64.tar.gz $DOCKERIZE_URL \
57
+ && tar -C /usr/local/bin -xzvf /tmp/dockerize-linux-amd64.tar.gz \
58
+ && rm -rf /tmp/dockerize-linux-amd64.tar.gz \
59
+ && dockerize --version
60
+
61
+ # Install RubyGems
62
+ RUN gem update --system
63
+ RUN mkdir -p "$GEM_HOME" && chmod -R 777 "$GEM_HOME"
64
+
65
+ # Upgrade RubyGems and Bundler
66
+ RUN gem update --system
67
+ RUN gem install bundler
68
+ ENV BUNDLE_SILENCE_ROOT_WARNING 1
69
+
70
+ RUN mkdir /app
71
+ WORKDIR /app
72
+
73
+ CMD ["/bin/sh"]
@@ -1,6 +1,6 @@
1
1
  name: Add milestone to pull requests
2
2
  on:
3
- pull_request:
3
+ pull_request_target:
4
4
  types: [closed]
5
5
  branches:
6
6
  - master
data/.simplecov CHANGED
@@ -2,12 +2,15 @@ SimpleCov.add_group 'contrib', '/lib/ddtrace/contrib'
2
2
  SimpleCov.add_group 'transport', '/lib/ddtrace/transport'
3
3
  SimpleCov.add_group 'spec', '/spec/'
4
4
 
5
+ # Exclude code not maintained by this project
6
+ SimpleCov.add_filter %r{/vendor/}
7
+
5
8
  SimpleCov.coverage_dir ENV.fetch('COVERAGE_DIR', 'coverage')
6
9
 
7
10
  # Each test run requires its own unique command_name.
8
11
  # When running `rake spec:test_name`, the test process doesn't have access to the
9
12
  # rake task process, so we have come up with unique values ourselves.
10
- #
13
+ #
11
14
  # The current approach is to combine the ruby engine (ruby-2.7,jruby-9.2),
12
15
  # program name (rspec/test), command line arguments (--pattern spec/**/*_spec.rb),
13
16
  # and the loaded gemset.
data/Appraisals CHANGED
@@ -39,6 +39,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
39
39
  gem 'activerecord-mysql-adapter', platform: :ruby
40
40
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
41
41
  gem 'rack-cache', '1.7.1'
42
+ gem 'sqlite3', '~> 1.3.5'
42
43
  gem 'lograge', '< 0.4'
43
44
  end
44
45
 
@@ -86,6 +87,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
86
87
  gem 'excon'
87
88
  gem 'hiredis'
88
89
  gem 'http'
90
+ gem 'httpclient'
89
91
  gem 'mongo', '< 2.5'
90
92
  gem 'mysql2', '0.3.21', platform: :ruby
91
93
  gem 'pg', '< 1.0', platform: :ruby
@@ -135,6 +137,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
135
137
  gem 'activerecord-mysql-adapter', platform: :ruby
136
138
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
137
139
  gem 'rack-cache', '1.7.1'
140
+ gem 'sqlite3', '~> 1.3.5'
138
141
  gem 'lograge', '< 0.4'
139
142
  end
140
143
 
@@ -209,6 +212,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
209
212
  gem 'excon'
210
213
  gem 'hiredis'
211
214
  gem 'http'
215
+ gem 'httpclient'
212
216
  gem 'mongo', '< 2.5'
213
217
  gem 'mysql2', '0.3.21', platform: :ruby
214
218
  gem 'pg', '< 1.0', platform: :ruby
@@ -260,6 +264,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
260
264
  gem 'activerecord-mysql-adapter', platform: :ruby
261
265
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
262
266
  gem 'rack-cache', '1.7.1'
267
+ gem 'sqlite3', '~> 1.3.5'
263
268
  gem 'lograge', '< 0.4'
264
269
  end
265
270
 
@@ -385,12 +390,14 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
385
390
  gem 'excon'
386
391
  gem 'faraday'
387
392
  gem 'grape'
388
- gem 'graphql', '< 1.9.4'
393
+ gem 'graphql', '>= 1.12.0'
389
394
  gem 'grpc', '~> 1.21.0' # Last version to support Ruby < 2.3
390
395
  gem 'hiredis'
391
396
  gem 'http'
397
+ gem 'httpclient'
392
398
  gem 'mongo', '>= 2.8.0'
393
399
  gem 'mysql2', '< 0.5', platform: :ruby
400
+ gem 'qless'
394
401
  gem 'racecar', '>= 0.3.5'
395
402
  gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
396
403
  gem 'rack-test'
@@ -440,6 +447,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
440
447
  gem 'activerecord-mysql-adapter', platform: :ruby
441
448
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
442
449
  gem 'rack-cache', '1.7.1'
450
+ gem 'sqlite3', '~> 1.3.5'
443
451
  gem 'lograge', '< 0.4'
444
452
  end
445
453
 
@@ -575,15 +583,17 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
575
583
  gem 'excon'
576
584
  gem 'faraday'
577
585
  gem 'grape'
578
- gem 'graphql'
586
+ gem 'graphql', '>= 1.12.0'
579
587
  gem 'grpc'
580
588
  gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
581
589
  gem 'hiredis'
582
590
  gem 'http'
591
+ gem 'httpclient'
583
592
  gem 'mongo', '>= 2.8.0'
584
593
  gem 'mysql2', '< 0.5', platform: :ruby
585
594
  gem 'pg', platform: :ruby
586
595
  gem 'presto-client', '>= 0.5.14'
596
+ gem 'qless'
587
597
  gem 'racecar', '>= 0.3.5'
588
598
  gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
589
599
  gem 'rack-test'
@@ -678,15 +688,17 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
678
688
  gem 'excon'
679
689
  gem 'faraday'
680
690
  gem 'grape'
681
- gem 'graphql'
691
+ gem 'graphql', '>= 1.12.0'
682
692
  gem 'grpc'
683
693
  gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
684
694
  gem 'hiredis'
685
695
  gem 'http'
696
+ gem 'httpclient'
686
697
  gem 'mongo', '>= 2.8.0'
687
698
  gem 'mysql2', '< 0.5', platform: :ruby
688
699
  gem 'pg', platform: :ruby
689
700
  gem 'presto-client', '>= 0.5.14'
701
+ gem 'qless'
690
702
  gem 'racecar', '>= 0.3.5'
691
703
  gem 'rack'
692
704
  gem 'rack-test'
@@ -801,6 +813,40 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
801
813
  gem 'lograge'
802
814
  end
803
815
 
816
+ appraise 'rails61-mysql2' do
817
+ gem 'rails', '~> 6.1.0'
818
+ gem 'mysql2', '~> 0.5', platform: :ruby
819
+ gem 'activerecord-jdbcmysql-adapter', '>= 61', platform: :jruby
820
+ gem 'sprockets', '< 4'
821
+ gem 'lograge', '~> 0.11'
822
+ end
823
+
824
+ appraise 'rails61-postgres' do
825
+ gem 'rails', '~> 6.1.0'
826
+ gem 'pg', '>= 1.1', platform: :ruby
827
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 61', platform: :jruby
828
+ gem 'sprockets', '< 4'
829
+ gem 'lograge', '~> 0.11'
830
+ end
831
+
832
+ appraise 'rails61-postgres-redis' do
833
+ gem 'rails', '~> 6.1.0'
834
+ gem 'pg', '>= 1.1', platform: :ruby
835
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 61', platform: :jruby
836
+ gem 'redis', '>= 4.2.5'
837
+ gem 'sprockets', '< 4'
838
+ gem 'lograge', '~> 0.11'
839
+ end
840
+
841
+ appraise 'rails61-postgres-sidekiq' do
842
+ gem 'rails', '~> 6.1.0'
843
+ gem 'pg', '>= 1.1', platform: :ruby
844
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 61', platform: :jruby
845
+ gem 'sidekiq', '>= 6.1.2'
846
+ gem 'sprockets', '< 4'
847
+ gem 'lograge', '~> 0.11'
848
+ end
849
+
804
850
  appraise 'resque2-redis3' do
805
851
  gem 'redis', '< 4.0'
806
852
  gem 'resque', '>= 2.0'
@@ -829,16 +875,18 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
829
875
  gem 'excon'
830
876
  gem 'faraday'
831
877
  gem 'grape'
832
- gem 'graphql'
878
+ gem 'graphql', '>= 1.12.0'
833
879
  gem 'grpc', platform: :ruby
834
880
  gem 'hiredis'
835
881
  gem 'http'
882
+ gem 'httpclient'
836
883
  gem 'mongo', '>= 2.8.0'
837
- gem 'mysql2', '< 0.5', platform: :ruby
838
- gem 'activerecord-jdbcmysql-adapter', platform: :jruby
884
+ gem 'mysql2', '< 1', platform: :ruby
885
+ gem 'activerecord-jdbcmysql-adapter', '>= 60.2', platform: :jruby
839
886
  gem 'pg', platform: :ruby
840
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
887
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60.2', platform: :jruby
841
888
  gem 'presto-client', '>= 0.5.14'
889
+ gem 'qless'
842
890
  gem 'racecar', '>= 0.3.5'
843
891
  gem 'rack'
844
892
  gem 'rack-test'
@@ -854,6 +902,7 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
854
902
  gem 'sinatra'
855
903
  gem 'sneakers', '>= 2.12.0'
856
904
  gem 'sqlite3', '~> 1.4.1', platform: :ruby
905
+ gem 'jdbc-sqlite3', '>= 3.28', platform: :jruby
857
906
  gem 'sucker_punch'
858
907
  gem 'typhoeus'
859
908
  gem 'que', '>= 1.0.0.beta2'
@@ -943,6 +992,36 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
943
992
  gem 'lograge'
944
993
  end
945
994
 
995
+ appraise 'rails61-mysql2' do
996
+ gem 'rails', '~> 6.1.0'
997
+ gem 'mysql2', '~> 0.5', platform: :ruby
998
+ gem 'sprockets', '< 4'
999
+ gem 'lograge', '~> 0.11'
1000
+ end
1001
+
1002
+ appraise 'rails61-postgres' do
1003
+ gem 'rails', '~> 6.1.0'
1004
+ gem 'pg', '>= 1.1', platform: :ruby
1005
+ gem 'sprockets', '< 4'
1006
+ gem 'lograge', '~> 0.11'
1007
+ end
1008
+
1009
+ appraise 'rails61-postgres-redis' do
1010
+ gem 'rails', '~> 6.1.0'
1011
+ gem 'pg', '>= 1.1', platform: :ruby
1012
+ gem 'redis', '>= 4.2.5'
1013
+ gem 'sprockets', '< 4'
1014
+ gem 'lograge', '~> 0.11'
1015
+ end
1016
+
1017
+ appraise 'rails61-postgres-sidekiq' do
1018
+ gem 'rails', '~> 6.1.0'
1019
+ gem 'pg', '>= 1.1', platform: :ruby
1020
+ gem 'sidekiq', '>= 6.1.2'
1021
+ gem 'sprockets', '< 4'
1022
+ gem 'lograge', '~> 0.11'
1023
+ end
1024
+
946
1025
  appraise 'resque2-redis3' do
947
1026
  gem 'redis', '< 4.0'
948
1027
  gem 'resque', '>= 2.0'
@@ -971,14 +1050,16 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
971
1050
  gem 'excon'
972
1051
  gem 'faraday'
973
1052
  gem 'grape'
974
- gem 'graphql'
1053
+ gem 'graphql', '>= 1.12.0'
975
1054
  gem 'grpc'
976
1055
  gem 'hiredis'
977
1056
  gem 'http'
1057
+ gem 'httpclient'
978
1058
  gem 'mongo', '>= 2.8.0'
979
- gem 'mysql2', '< 0.5', platform: :ruby
1059
+ gem 'mysql2', '< 1', platform: :ruby
980
1060
  gem 'pg', platform: :ruby
981
1061
  gem 'presto-client', '>= 0.5.14'
1062
+ gem 'qless'
982
1063
  gem 'racecar', '>= 0.3.5'
983
1064
  gem 'rack'
984
1065
  gem 'rack-test'
@@ -1003,11 +1084,12 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
1003
1084
  gem 'faraday', '0.17'
1004
1085
  end
1005
1086
  end
1006
- elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1087
+ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION) \
1088
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.0.0')
1007
1089
  if RUBY_PLATFORM != 'java'
1008
1090
  appraise 'rails5-mysql2' do
1009
1091
  gem 'rails', '~> 5.2.1'
1010
- gem 'mysql2', '< 0.5', platform: :ruby
1092
+ gem 'mysql2', '< 1', platform: :ruby
1011
1093
  gem 'sprockets', '< 4'
1012
1094
  gem 'lograge'
1013
1095
  end
@@ -1048,7 +1130,7 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1048
1130
 
1049
1131
  appraise 'rails6-mysql2' do
1050
1132
  gem 'rails', '~> 6.0.0'
1051
- gem 'mysql2', '< 0.6', platform: :ruby
1133
+ gem 'mysql2', '< 1', platform: :ruby
1052
1134
  gem 'sprockets', '< 4'
1053
1135
  gem 'lograge'
1054
1136
  end
@@ -1087,6 +1169,36 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1087
1169
  gem 'lograge'
1088
1170
  end
1089
1171
 
1172
+ appraise 'rails61-mysql2' do
1173
+ gem 'rails', '~> 6.1.0'
1174
+ gem 'mysql2', '~> 0.5', platform: :ruby
1175
+ gem 'sprockets', '< 4'
1176
+ gem 'lograge', '~> 0.11'
1177
+ end
1178
+
1179
+ appraise 'rails61-postgres' do
1180
+ gem 'rails', '~> 6.1.0'
1181
+ gem 'pg', '>= 1.1', platform: :ruby
1182
+ gem 'sprockets', '< 4'
1183
+ gem 'lograge', '~> 0.11'
1184
+ end
1185
+
1186
+ appraise 'rails61-postgres-redis' do
1187
+ gem 'rails', '~> 6.1.0'
1188
+ gem 'pg', '>= 1.1', platform: :ruby
1189
+ gem 'redis', '>= 4.2.5'
1190
+ gem 'sprockets', '< 4'
1191
+ gem 'lograge', '~> 0.11'
1192
+ end
1193
+
1194
+ appraise 'rails61-postgres-sidekiq' do
1195
+ gem 'rails', '~> 6.1.0'
1196
+ gem 'pg', '>= 1.1', platform: :ruby
1197
+ gem 'sidekiq', '>= 6.1.2'
1198
+ gem 'sprockets', '< 4'
1199
+ gem 'lograge', '~> 0.11'
1200
+ end
1201
+
1090
1202
  appraise 'resque2-redis3' do
1091
1203
  gem 'redis', '< 4.0'
1092
1204
  gem 'resque', '>= 2.0'
@@ -1114,14 +1226,16 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1114
1226
  gem 'ethon'
1115
1227
  gem 'excon'
1116
1228
  gem 'grape'
1117
- gem 'graphql'
1229
+ gem 'graphql', '>= 1.12.0'
1118
1230
  gem 'grpc'
1119
1231
  gem 'hiredis'
1120
1232
  gem 'http'
1233
+ gem 'httpclient'
1121
1234
  gem 'mongo', '>= 2.8.0'
1122
- gem 'mysql2', '< 0.5', platform: :ruby
1235
+ gem 'mysql2', '< 1', platform: :ruby
1123
1236
  gem 'pg', platform: :ruby
1124
1237
  gem 'presto-client', '>= 0.5.14'
1238
+ gem 'qless'
1125
1239
  gem 'racecar', '>= 0.3.5'
1126
1240
  gem 'rack'
1127
1241
  gem 'rack-test'
@@ -1146,4 +1260,91 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
1146
1260
  gem 'faraday', '0.17'
1147
1261
  end
1148
1262
  end
1263
+ elsif Gem::Version.new('3.0.0') <= Gem::Version.new(RUBY_VERSION)
1264
+ appraise 'rails61-mysql2' do
1265
+ gem 'rails', '~> 6.1.0'
1266
+ gem 'mysql2', '~> 0.5', platform: :ruby
1267
+ gem 'sprockets', '< 4'
1268
+ gem 'lograge', '~> 0.11'
1269
+ end
1270
+
1271
+ appraise 'rails61-postgres' do
1272
+ gem 'rails', '~> 6.1.0'
1273
+ gem 'pg', '>= 1.1', platform: :ruby
1274
+ gem 'sprockets', '< 4'
1275
+ gem 'lograge', '~> 0.11'
1276
+ end
1277
+
1278
+ appraise 'rails61-postgres-redis' do
1279
+ gem 'rails', '~> 6.1.0'
1280
+ gem 'pg', '>= 1.1', platform: :ruby
1281
+ gem 'redis', '>= 4.2.5'
1282
+ gem 'sprockets', '< 4'
1283
+ gem 'lograge', '~> 0.11'
1284
+ end
1285
+
1286
+ appraise 'rails61-postgres-sidekiq' do
1287
+ gem 'rails', '~> 6.1.0'
1288
+ gem 'pg', '>= 1.1', platform: :ruby
1289
+ gem 'sidekiq', '>= 6.1.2'
1290
+ gem 'sprockets', '< 4'
1291
+ gem 'lograge', '~> 0.11'
1292
+ end
1293
+
1294
+ appraise 'resque2-redis3' do
1295
+ gem 'redis', '< 4.0'
1296
+ gem 'resque', '>= 2.0'
1297
+ end
1298
+
1299
+ appraise 'resque2-redis4' do
1300
+ gem 'redis', '>= 4.0'
1301
+ gem 'resque', '>= 2.0'
1302
+ end
1303
+
1304
+ (3..5).each { |v| gem_cucumber(v) }
1305
+
1306
+ appraise 'contrib' do
1307
+ gem 'actionpack'
1308
+ gem 'actionview'
1309
+ gem 'active_model_serializers', '>= 0.10.0'
1310
+ gem 'activerecord'
1311
+ gem 'aws-sdk'
1312
+ gem 'concurrent-ruby'
1313
+ gem 'cucumber'
1314
+ gem 'dalli'
1315
+ gem 'delayed_job'
1316
+ gem 'delayed_job_active_record'
1317
+ gem 'elasticsearch-transport'
1318
+ gem 'ethon'
1319
+ gem 'excon'
1320
+ gem 'grape'
1321
+ gem 'graphql', '>= 1.12.0'
1322
+ # gem 'grpc' # Pending 3.0 support by transient protobuf dependency https://github.com/protocolbuffers/protobuf/issues/7922
1323
+ gem 'hiredis'
1324
+ gem 'http'
1325
+ gem 'httpclient'
1326
+ gem 'mongo', '>= 2.8.0'
1327
+ gem 'mysql2', '>= 0.5.3', platform: :ruby
1328
+ gem 'pg', '>= 1.1', platform: :ruby
1329
+ gem 'presto-client', '>= 0.5.14'
1330
+ gem 'qless'
1331
+ # gem 'racecar', '>= 0.3.5' # Pending release of our fix: https://github.com/appsignal/rdkafka-ruby/pull/144
1332
+ gem 'rack'
1333
+ gem 'rack-test'
1334
+ gem 'rake', '>= 12.3'
1335
+ gem 'redis', '< 4.0'
1336
+ gem 'rest-client'
1337
+ gem 'resque'
1338
+ gem 'ruby-kafka', '>= 0.7.10'
1339
+ gem 'rspec', '>= 3.0.0'
1340
+ gem 'sequel'
1341
+ gem 'shoryuken'
1342
+ gem 'sidekiq'
1343
+ gem 'sinatra'
1344
+ gem 'sneakers', '>= 2.12.0'
1345
+ gem 'sqlite3', '>= 1.4.2'
1346
+ gem 'sucker_punch'
1347
+ gem 'typhoeus'
1348
+ gem 'que', '>= 1.0.0.beta2'
1349
+ end
1149
1350
  end