ddtrace 0.43.0 → 0.45.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 (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