mnemosyne-ruby 1.11.0 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d21523f741fef0a9443c7c93e81f220183ffd1cf19f7cdd985d69c76dee0ec51
4
- data.tar.gz: ab0c1a21e65bf42ad5bb9eb92539421246643ec195257ca95a5024aa6217589b
3
+ metadata.gz: 4d19d4ccfaefb38e5aaa82b739e3c9b6af039b2195e366fc2a6a396acd109607
4
+ data.tar.gz: 0fec33a1d6e555fc5412f45d49f229cccca250f4cd875d4de3c34a2e46afe0c8
5
5
  SHA512:
6
- metadata.gz: af9d3e285a017330119b9ced137fb3cf4c0059789359620170df6e4a26897036dda5ff787ee5d77d6e6960a77fc6b86443215d46f14def921ba7cbd737edc410
7
- data.tar.gz: 9a36770c25abbdeb8c3ddb38a0fb4424228065fd3c58c364aa52538d0ddf5ca5ead683da36a18604ee71ff08880a9a65c461b536cddeb914d370c03655a34b73
6
+ metadata.gz: c57a3f90a19fa96f4dc5d7ebe77de3245d2d2fd133c7b97126b5025b6cf27a5fcb25125728f67c7aaa770e48774536bb51f604fd3586318c54982bb8f01076e7
7
+ data.tar.gz: a9c53ad0842c57890d9ceab21addb781297029a3dd82a22beaf213190bcb285a0e8c3de74db4491cfa46eb2c3b154354387de063096f7459f0d1b42966d60924
@@ -22,6 +22,7 @@ jobs:
22
22
  - rails-5.1
23
23
  - rails-5.2
24
24
  - rails-6.0
25
+ - redis-4.0
25
26
  - restify
26
27
  - sidekiq-5
27
28
  - sidekiq-6
@@ -50,6 +51,9 @@ jobs:
50
51
  - suite: rails-6.0
51
52
  spec: --tag probe:rails --tag ~probe
52
53
  env: BUNDLE_GEMFILE=gemfiles/rails_60.gemfile
54
+ - suite: redis-4.0
55
+ spec: --tag probe:redis
56
+ env: REDIS_VERSION='~> 4.0'
53
57
  - suite: restify
54
58
  spec: --tag probe:restify
55
59
  - suite: sidekiq-5
@@ -73,14 +77,15 @@ jobs:
73
77
  with:
74
78
  ruby-version: ${{ matrix.ruby }}
75
79
 
76
- - uses: actions/cache@v1
80
+ - uses: actions/cache@v2
77
81
  with:
78
82
  path: vendor
79
83
  key: v1-ruby-${{ matrix.ruby }}-suite-${{ matrix.suite }}
80
84
 
81
- - name: Install Ruby dependencies
85
+ - name: Install dependencies
82
86
  run: |
83
87
  set -x
88
+ sudo apt install -y redis-server
84
89
  gem install bundler --version '1.17.3'
85
90
  bundle config path "$(pwd)/vendor/bundle"
86
91
  bundle config without development
@@ -10,7 +10,7 @@ jobs:
10
10
  - uses: actions/setup-ruby@v1
11
11
  with:
12
12
  ruby-version: 2.6
13
- - uses: actions/cache@v1
13
+ - uses: actions/cache@v2
14
14
  with:
15
15
  path: vendor
16
16
  key: v1-ruby-2.6
data/.rubocop.yml CHANGED
@@ -3,7 +3,8 @@ AllCops:
3
3
  Exclude:
4
4
  - 'vendor/**/*'
5
5
  - 'gemfiles/**/*'
6
-
6
+ NewCops: enable
7
+ SuggestExtensions: False
7
8
 
8
9
  Layout/ArgumentAlignment:
9
10
  EnforcedStyle: with_fixed_indentation
@@ -26,24 +27,24 @@ Layout/MultilineMethodCallIndentation:
26
27
  Layout/SpaceInsideBlockBraces:
27
28
  EnforcedStyle: space
28
29
  EnforcedStyleForEmptyBraces: no_space
29
- SpaceBeforeBlockParameters: false
30
+ SpaceBeforeBlockParameters: False
30
31
 
31
32
  Layout/SpaceInsideHashLiteralBraces:
32
33
  EnforcedStyle: no_space
33
34
 
34
35
 
35
36
  Metrics/AbcSize:
36
- Enabled: false
37
+ Enabled: False
37
38
 
38
39
  Metrics/BlockLength:
39
40
  Exclude:
40
41
  - 'spec/**/*'
41
42
 
42
43
  Metrics/ParameterLists:
43
- Enabled: false
44
+ Enabled: False
44
45
 
45
46
  Metrics/MethodLength:
46
- Enabled: false
47
+ Enabled: False
47
48
 
48
49
 
49
50
  Naming/FileName:
@@ -51,17 +52,21 @@ Naming/FileName:
51
52
  - lib/mnemosyne-ruby.rb
52
53
 
53
54
 
55
+ # Single attr_reader statements allow easy documentation of attributes.
56
+ Style/AccessorGrouping:
57
+ Enabled: False
58
+
54
59
  Style/Documentation:
55
- Enabled: false
60
+ Enabled: False
56
61
 
57
62
  Style/HashEachMethods:
58
- Enabled: false
63
+ Enabled: False
59
64
 
60
65
  Style/HashTransformKeys:
61
- Enabled: false
66
+ Enabled: False
62
67
 
63
68
  Style/HashTransformValues:
64
- Enabled: false
69
+ Enabled: False
65
70
 
66
71
  Style/RaiseArgs:
67
72
  EnforcedStyle: compact
data/CHANGELOG.md CHANGED
@@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
5
 
6
6
  ## [Unreleased]
7
+
8
+ ## [1.12.0] - 2021-08-24
9
+ ### Added
10
+ - Support for `redis` gem (#34)
11
+
12
+ ### Removed
13
+ - Support for Ruby 2.4 (hard gem requirement)
14
+
15
+ ## [1.11.0] - 2020-12-18
7
16
  ### Removed
8
17
  - Support for Ruby 2.4 and Rails 4.2
9
18
 
@@ -102,7 +111,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
102
111
  ### Added
103
112
  - Add platform identifier
104
113
 
105
- [Unreleased]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.10.0...HEAD
114
+ [Unreleased]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.12.0...HEAD
115
+ [1.12.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.10.0...v1.12.0
116
+ [1.11.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.10.0...v1.11.0
106
117
  [1.10.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.9.0...v1.10.0
107
118
  [1.9.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.8.0...v1.9.0
108
119
  [1.8.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.7.1...v1.8.0
data/Gemfile CHANGED
@@ -5,14 +5,15 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in mnemosyne.gemspec
6
6
  gemspec
7
7
 
8
- gem 'rake', '~> 12.0'
8
+ gem 'rake', '~> 13.0'
9
9
  gem 'rspec', '~> 3.6'
10
- gem 'rubocop', '~> 0.80.1'
10
+ gem 'rubocop', '~> 1.19.0'
11
11
  gem 'timecop', '~> 0.9.1'
12
12
 
13
13
  group :test do
14
14
  gem 'faraday', ENV['FARADAY_VERSION'], require: false
15
15
  gem 'msgr', ENV['MSGR_VERSION'], require: false
16
+ gem 'redis', ENV['REDIS_VERSION'], require: false
16
17
  gem 'restify', ENV['RESTIFY_VERSION'], require: false
17
18
  gem 'sidekiq', ENV['SIDEKIQ_VERSION'], require: false
18
19
 
@@ -23,7 +24,7 @@ end
23
24
 
24
25
  group :development do
25
26
  gem 'appraisal'
26
- gem 'rake-release', '~> 1.2.1'
27
+ gem 'rake-release', '~> 1.3.0'
27
28
 
28
29
  gem 'pry', require: false
29
30
  gem 'pry-byebug', require: false
@@ -2,14 +2,15 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "rake", "~> 12.0"
5
+ gem "rake", "~> 13.0"
6
6
  gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 0.80.1"
7
+ gem "rubocop", "~> 1.19.0"
8
8
  gem "timecop", "~> 0.9.1"
9
9
 
10
10
  group :test do
11
11
  gem "faraday", nil, require: false
12
12
  gem "msgr", nil, require: false
13
+ gem "redis", nil, require: false
13
14
  gem "restify", nil, require: false
14
15
  gem "sidekiq", nil, require: false
15
16
  gem "rails", "~> 5.0.0", require: false
@@ -19,7 +20,7 @@ end
19
20
 
20
21
  group :development do
21
22
  gem "appraisal"
22
- gem "rake-release", "~> 1.2.1"
23
+ gem "rake-release", "~> 1.3.0"
23
24
  gem "pry", require: false
24
25
  gem "pry-byebug", require: false
25
26
  end
@@ -2,14 +2,15 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "rake", "~> 12.0"
5
+ gem "rake", "~> 13.0"
6
6
  gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 0.80.1"
7
+ gem "rubocop", "~> 1.19.0"
8
8
  gem "timecop", "~> 0.9.1"
9
9
 
10
10
  group :test do
11
11
  gem "faraday", nil, require: false
12
12
  gem "msgr", nil, require: false
13
+ gem "redis", nil, require: false
13
14
  gem "restify", nil, require: false
14
15
  gem "sidekiq", nil, require: false
15
16
  gem "rails", "~> 5.1.0", require: false
@@ -19,7 +20,7 @@ end
19
20
 
20
21
  group :development do
21
22
  gem "appraisal"
22
- gem "rake-release", "~> 1.2.1"
23
+ gem "rake-release", "~> 1.3.0"
23
24
  gem "pry", require: false
24
25
  gem "pry-byebug", require: false
25
26
  end
@@ -2,14 +2,15 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "rake", "~> 12.0"
5
+ gem "rake", "~> 13.0"
6
6
  gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 0.80.1"
7
+ gem "rubocop", "~> 1.19.0"
8
8
  gem "timecop", "~> 0.9.1"
9
9
 
10
10
  group :test do
11
11
  gem "faraday", nil, require: false
12
12
  gem "msgr", nil, require: false
13
+ gem "redis", nil, require: false
13
14
  gem "restify", nil, require: false
14
15
  gem "sidekiq", nil, require: false
15
16
  gem "rails", "~> 5.2.0", require: false
@@ -19,7 +20,7 @@ end
19
20
 
20
21
  group :development do
21
22
  gem "appraisal"
22
- gem "rake-release", "~> 1.2.1"
23
+ gem "rake-release", "~> 1.3.0"
23
24
  gem "pry", require: false
24
25
  gem "pry-byebug", require: false
25
26
  end
@@ -2,14 +2,15 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "rake", "~> 12.0"
5
+ gem "rake", "~> 13.0"
6
6
  gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 0.80.1"
7
+ gem "rubocop", "~> 1.19.0"
8
8
  gem "timecop", "~> 0.9.1"
9
9
 
10
10
  group :test do
11
11
  gem "faraday", nil, require: false
12
12
  gem "msgr", nil, require: false
13
+ gem "redis", nil, require: false
13
14
  gem "restify", nil, require: false
14
15
  gem "sidekiq", nil, require: false
15
16
  gem "rails", "~> 6.0.0", require: false
@@ -19,7 +20,7 @@ end
19
20
 
20
21
  group :development do
21
22
  gem "appraisal"
22
- gem "rake-release", "~> 1.2.1"
23
+ gem "rake-release", "~> 1.3.0"
23
24
  gem "pry", require: false
24
25
  gem "pry-byebug", require: false
25
26
  end
@@ -33,7 +33,7 @@ module Mnemosyne
33
33
  'Platform may only contain alphanumeric characters'
34
34
  end
35
35
 
36
- unless @platform =~ /\A[a-zA-Z0-9]+(\-[a-zA-Z0-9]+)*\z/
36
+ unless @platform =~ /\A[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\z/
37
37
  raise ArgumentError.new \
38
38
  'Platform must start and end with a alphanumeric characters'
39
39
  end
@@ -64,7 +64,7 @@ module Mnemosyne
64
64
  uri.user = amqp[:user]
65
65
  uri.host = amqp[:host]
66
66
  uri.port = amqp[:port] if amqp[:port] != DEFAULT_PORTS[uri.scheme]
67
- uri.path = '/' + ::CGI.escape(amqp[:vhost]) if amqp[:vhost] != '/'
67
+ uri.path = "/#{::CGI.escape(amqp[:vhost])}" if amqp[:vhost] != '/'
68
68
 
69
69
  uri
70
70
  end
@@ -2,11 +2,9 @@
2
2
 
3
3
  module Mnemosyne
4
4
  module Global
5
- def trace(name, meta: {})
5
+ def trace(name, meta: {}, &block)
6
6
  ::ActiveSupport::Notifications.instrument 'trace.mnemosyne',
7
- name: name, meta: meta do
8
- yield
9
- end
7
+ name: name, meta: meta, &block
10
8
  end
11
9
 
12
10
  def attach_error(err)
@@ -5,10 +5,6 @@ require 'faraday'
5
5
  module Mnemosyne
6
6
  module Middleware
7
7
  class Faraday < ::Faraday::Middleware
8
- def initialize(app)
9
- @app = app
10
- end
11
-
12
8
  def call(env)
13
9
  trace = ::Mnemosyne::Instrumenter.current_trace
14
10
 
@@ -22,7 +18,7 @@ module Mnemosyne
22
18
  env[:request_headers].merge!({
23
19
  'X-Mnemosyne-Transaction' => trace.transaction,
24
20
  'X-Mnemosyne-Origin' => span.uuid
25
- }.reject {|_, v| v.nil? })
21
+ }.compact)
26
22
 
27
23
  @app.call(env).on_complete do |env| # rubocop:disable Lint/ShadowingOuterLocalVariable
28
24
  span.meta[:status] = env[:status]
@@ -101,8 +101,8 @@ module Mnemosyne
101
101
  trace.meta[:query] = env['QUERY_STRING']
102
102
  trace.meta[:protocol] = env['SERVER_PROTOCOL']
103
103
  trace.meta[:headers] = {
104
- 'Accept': env['HTTP_ACCEPT'],
105
- 'Host': env['HTTP_HOST'],
104
+ Accept: env['HTTP_ACCEPT'],
105
+ Host: env['HTTP_HOST'],
106
106
  'User-Agent': env['HTTP_USER_AGENT']
107
107
  }
108
108
  end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mnemosyne
4
+ module Probes
5
+ module Redis
6
+ module Command
7
+ class Probe < ::Mnemosyne::Probe
8
+ def setup
9
+ ::Redis::Client.prepend ClientPatch
10
+ end
11
+
12
+ module ClientPatch
13
+ def process(commands)
14
+ trace = ::Mnemosyne::Instrumenter.current_trace
15
+ return super unless trace
16
+
17
+ span = ::Mnemosyne::Span.new 'db.query.redis',
18
+ meta: extract_span_meta(commands)
19
+
20
+ span.start!
21
+
22
+ super.tap do |retval|
23
+ span.meta[:error] = retval.message if retval.is_a?(::Redis::CommandError)
24
+
25
+ trace << span.finish!
26
+ end
27
+ end
28
+
29
+ private
30
+
31
+ def extract_span_meta(commands)
32
+ {
33
+ server: id,
34
+
35
+ # Each command is an array, consisting of the command name and any
36
+ # arguments. We are only interested in the command name.
37
+ commands: extract_command_names(commands),
38
+
39
+ # If there are multiple commands, that must mean they were pipelined
40
+ # (i.e. run in parallel).
41
+ pipelined: commands.length > 1
42
+ }
43
+ end
44
+
45
+ def extract_command_names(commands)
46
+ commands.map do |c|
47
+ # Depending on how the methods on the Redis gem are called,
48
+ # there may be an additional level of nesting.
49
+ c = c[0] if c[0].is_a?(Array)
50
+
51
+ # For some commands, we also extract *some* of the arguments.
52
+ name, args = parse_name_and_args(c)
53
+
54
+ "#{name} #{args}".strip
55
+ end.join("\n")
56
+ end
57
+
58
+ ##
59
+ # A map of known commands to the arguments (identified by position)
60
+ # that should be included verbatim in the metadata. Arguments not
61
+ # listed here will be replaced by a "?" character.
62
+ #
63
+ KNOWN_ARGUMENTS = {
64
+ 'GET' => [0],
65
+ 'SET' => [0]
66
+ }.freeze
67
+
68
+ def parse_name_and_args(command)
69
+ command = command.dup
70
+
71
+ # Symbols and lower-case names are allowed
72
+ name = command.delete_at(0).to_s.upcase
73
+
74
+ allowed = KNOWN_ARGUMENTS[name] || []
75
+ args = command.each_with_index.map do |arg, index|
76
+ allowed.include?(index) ? arg : '?'
77
+ end.join(' ')
78
+
79
+ [name, args]
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+
86
+ register 'Redis::Client',
87
+ 'redis',
88
+ Redis::Command::Probe.new
89
+ end
90
+ end
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Mnemosyne
4
4
  class Trace < Span
5
+ BT_REGEXP = /^((?:[a-zA-Z]:)?[^:]+):(\d+)(?::in `([^']+)')?$/.freeze
6
+
5
7
  attr_reader :uuid, :transaction, :origin, :span, :errors
6
8
 
7
9
  def initialize(instrumenter, name, transaction: nil, origin: nil, **kwargs)
@@ -57,8 +59,6 @@ module Mnemosyne
57
59
  end
58
60
 
59
61
  Error = Struct.new(:error) do
60
- BT_REGEXP = /^((?:[a-zA-Z]:)?[^:]+):(\d+)(?::in `([^']+)')?$/.freeze
61
-
62
62
  def serialize
63
63
  {
64
64
  type: error.class.name,
@@ -3,7 +3,7 @@
3
3
  module Mnemosyne
4
4
  module VERSION
5
5
  MAJOR = 1
6
- MINOR = 11
6
+ MINOR = 12
7
7
  PATCH = 0
8
8
  STAGE = nil
9
9
 
data/lib/mnemosyne.rb CHANGED
@@ -42,6 +42,7 @@ module Mnemosyne
42
42
  require 'mnemosyne/probes/grape/endpoint_run_filters'
43
43
  require 'mnemosyne/probes/msgr/client'
44
44
  require 'mnemosyne/probes/msgr/consumer'
45
+ require 'mnemosyne/probes/redis/command'
45
46
  require 'mnemosyne/probes/responder/respond'
46
47
  require 'mnemosyne/probes/restify/base'
47
48
  require 'mnemosyne/probes/sidekiq/client'
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^bin/}) {|f| File.basename(f) }
23
23
  spec.require_paths = %w[lib]
24
24
 
25
+ spec.required_ruby_version = '>= 2.5'
25
26
  spec.add_runtime_dependency 'activesupport', '>= 4'
26
27
  spec.add_runtime_dependency 'bunny'
27
28
 
data/renovate.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": [
3
+ "config:base"
4
+ ]
5
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mnemosyne-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.0
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Graichen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-18 00:00:00.000000000 Z
11
+ date: 2021-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -65,7 +65,6 @@ files:
65
65
  - ".gitignore"
66
66
  - ".rspec"
67
67
  - ".rubocop.yml"
68
- - ".travis.yml"
69
68
  - Appraisals
70
69
  - CHANGELOG.md
71
70
  - Gemfile
@@ -106,6 +105,7 @@ files:
106
105
  - lib/mnemosyne/probes/mnemosyne/tracer.rb
107
106
  - lib/mnemosyne/probes/msgr/client.rb
108
107
  - lib/mnemosyne/probes/msgr/consumer.rb
108
+ - lib/mnemosyne/probes/redis/command.rb
109
109
  - lib/mnemosyne/probes/responder/respond.rb
110
110
  - lib/mnemosyne/probes/restify/base.rb
111
111
  - lib/mnemosyne/probes/sidekiq/client.rb
@@ -116,6 +116,7 @@ files:
116
116
  - lib/mnemosyne/trace.rb
117
117
  - lib/mnemosyne/version.rb
118
118
  - mnemosyne-ruby.gemspec
119
+ - renovate.json
119
120
  - scripts/console
120
121
  - scripts/setup
121
122
  homepage: http://github.com/jgraichen/mnemosyne-ruby
@@ -130,14 +131,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
131
  requirements:
131
132
  - - ">="
132
133
  - !ruby/object:Gem::Version
133
- version: '0'
134
+ version: '2.5'
134
135
  required_rubygems_version: !ruby/object:Gem::Requirement
135
136
  requirements:
136
137
  - - ">="
137
138
  - !ruby/object:Gem::Version
138
139
  version: '0'
139
140
  requirements: []
140
- rubygems_version: 3.2.1
141
+ rubygems_version: 3.2.4
141
142
  signing_key:
142
143
  specification_version: 4
143
144
  summary: Ruby/Rails client for Mnemosyne APM
data/.travis.yml DELETED
@@ -1,41 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: required
4
- services:
5
- - rabbitmq
6
- addons:
7
- apt:
8
- packages:
9
- - rabbitmq-server
10
- rvm:
11
- - 2.7.0
12
- - 2.6.5
13
- - 2.5.7
14
- - 2.4.9
15
- env:
16
- - SPEC='--tag ~probe'
17
- - SPEC='--tag probe:faraday' FARADAY_VERSION='~> 0.9'
18
- - SPEC='--tag probe:faraday' FARADAY_VERSION='~> 1.0'
19
- - SPEC='--tag probe:msgr'
20
- - SPEC='--tag probe:rack'
21
- - SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_42.gemfile
22
- - SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_50.gemfile
23
- - SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_51.gemfile
24
- - SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_52.gemfile
25
- - SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_60.gemfile
26
- - SPEC='--tag probe:restify'
27
- - SPEC='--tag probe:sidekiq' SIDEKIQ_VERSION='~> 5.0'
28
- - SPEC='--tag probe:sidekiq' SIDEKIQ_VERSION='~> 6.0'
29
-
30
- before_install:
31
- - echo yes | rvm gemset delete global
32
- - gem install bundler --version '~> 1.0'
33
- script:
34
- - bundle exec rspec ${SPEC}
35
-
36
- matrix:
37
- exclude:
38
- - rvm: 2.4.9
39
- env: SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_60.gemfile
40
- - rvm: 2.4.9
41
- env: SPEC='--tag probe:sidekiq' SIDEKIQ_VERSION='~> 6.0'