gooddata 2.0.0 → 2.0.1
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.
- checksums.yaml +4 -4
- data/.gdc-ii-config.yaml +17 -0
- data/.travis.yml +14 -8
- data/CHANGELOG.md +14 -0
- data/Jenkinsfile +1 -14
- data/SDK_VERSION +1 -1
- data/bin/run_brick.rb +12 -28
- data/bin/run_smoke_tests.sh +4 -0
- data/lib/gooddata/bricks/middleware/context_manager.rb +1 -0
- data/lib/gooddata/bricks/middleware/logger_middleware.rb +9 -7
- data/lib/gooddata/connection.rb +3 -6
- data/lib/gooddata/core/logging.rb +1 -27
- data/lib/gooddata/core/{splunk_logger.rb → splunk_logger_decorator.rb} +6 -2
- data/lib/gooddata/helpers/global_helpers.rb +1 -1
- data/lib/gooddata/lcm/lcm2.rb +1 -1
- data/lib/gooddata/rest/connection.rb +30 -29
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17915efe04170645f4e8356b210c2c98fadc3926fca45857a6324a537dd85263
|
4
|
+
data.tar.gz: 895d3fcf15066eb6df268f000ea83102d3e69727f544dadb24570ee58b050170
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ee13b4d1c287c7a8d29c504d63863037d13e87cd7f00856d755fc67c81f5e3995378ba2a940dd6a0434a008147a79f0c7278dc4775d60790a598891c001f42d
|
7
|
+
data.tar.gz: f4a99bd298c23989a146d172b70649cdc56b848e52686d61abde02e4b700510a12e1d0fa830b42d25ee7d6bdb590b4f1372828bdf701fb7657ea8e11db8d8d74
|
data/.gdc-ii-config.yaml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
microservices:
|
2
|
+
lcm-bricks:
|
3
|
+
docker:
|
4
|
+
dockerfile: './Dockerfile'
|
5
|
+
argumentsFromFiles:
|
6
|
+
BRICKS_VERSION: 'VERSION'
|
7
|
+
|
8
|
+
integratedTests:
|
9
|
+
- env: bash
|
10
|
+
path: .
|
11
|
+
vault:
|
12
|
+
GD_SPEC_PASSWORD: secret/v1/ruby/test/bia_encryption_key
|
13
|
+
command: ./bin/run_smoke_tests.sh
|
14
|
+
image: harbor.intgdc.com/staging/lcm-bricks:GIT_REV
|
15
|
+
repo_mount_dir: /src
|
16
|
+
microservices:
|
17
|
+
- lcm-bricks
|
data/.travis.yml
CHANGED
@@ -20,8 +20,8 @@ jobs:
|
|
20
20
|
stage: before-merge
|
21
21
|
script: |
|
22
22
|
git remote add upstream https://github.com/gooddata/gooddata-ruby.git
|
23
|
-
git fetch upstream
|
24
|
-
bundle exec pronto run -c upstream/
|
23
|
+
git fetch upstream develop
|
24
|
+
bundle exec pronto run -c upstream/develop --exit-code
|
25
25
|
|
26
26
|
- name: unit tests
|
27
27
|
stage: before-merge
|
@@ -191,16 +191,22 @@ jobs:
|
|
191
191
|
env: GD_ENV=development
|
192
192
|
|
193
193
|
- stage: gem-release
|
194
|
-
|
195
|
-
|
196
|
-
- jruby-9.1.14
|
197
|
-
script: echo "Deploying to rubygems.org ..."
|
194
|
+
name: deploy MRI gem
|
195
|
+
rvm: 2.3
|
198
196
|
deploy:
|
199
197
|
provider: rubygems
|
200
198
|
gem: gooddata
|
201
199
|
api_key: $RUBYGEMS_API_KEY
|
202
|
-
|
203
|
-
|
200
|
+
- &gem-smoke-test
|
201
|
+
stage: gem-release
|
202
|
+
name: smoke test MRI gem
|
203
|
+
rvm: 2.3
|
204
|
+
script: |
|
205
|
+
gem install gooddata
|
206
|
+
ruby -e "require 'gooddata';GoodData.version"
|
207
|
+
- <<: *gem-smoke-test
|
208
|
+
name: smoke test JRuby gem
|
209
|
+
rvm: jruby-9.1.14
|
204
210
|
|
205
211
|
notifications:
|
206
212
|
email:
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,18 @@
|
|
1
1
|
# GoodData Ruby SDK Changelog
|
2
|
+
## 2.0.1
|
3
|
+
- Fix pronto branch
|
4
|
+
- Fix requiring version.rb
|
5
|
+
- TMA-693 fixed problem with logout after timeout
|
6
|
+
- fixup! TMA-807: splunk in k8s
|
7
|
+
- Revert "Revert "TMA-807: splunkLogger in bricks forwards messages to RemoteSyslogLogger""
|
8
|
+
- TMA-807: splunk in k8s
|
9
|
+
- Deploy jruby gem automatically
|
10
|
+
- Fix code style issue
|
11
|
+
- Revert "Fix splunk test"
|
12
|
+
- Revert "TMA-807: splunkLogger in bricks forwards messages to RemoteSyslogLogger"
|
13
|
+
- Fix splunk test
|
14
|
+
- TMA-807: splunkLogger in bricks forwards messages to RemoteSyslogLogger
|
15
|
+
|
2
16
|
## 2.0.0
|
3
17
|
|
4
18
|
This is a major version release because the method `.release_info` has been hard-deprecated.
|
data/Jenkinsfile
CHANGED
@@ -5,17 +5,4 @@
|
|
5
5
|
@Library('pipelines-shared-libs')
|
6
6
|
import com.gooddata.pipeline.Pipeline
|
7
7
|
|
8
|
-
|
9
|
-
'microservices': [
|
10
|
-
'lcm-bricks': [
|
11
|
-
'docker': [
|
12
|
-
'dockerfile': './Dockerfile',
|
13
|
-
'arguments': [
|
14
|
-
'BRICKS_VERSION': { readFile('./VERSION').trim() }
|
15
|
-
]
|
16
|
-
]
|
17
|
-
]
|
18
|
-
]
|
19
|
-
]
|
20
|
-
|
21
|
-
Pipeline.get(this, config).run()
|
8
|
+
Pipeline.resolve(this).run()
|
data/SDK_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.1
|
data/bin/run_brick.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require 'remote_syslog_logger'
|
4
3
|
require_relative '../lib/gooddata'
|
5
4
|
|
6
5
|
DEFAULT_BRICK = 'hello_world_brick'
|
@@ -9,34 +8,19 @@ HIDDEN_BRICK_PARAMS_PREFIX = 'HIDDEN_BRICK_PARAM_'
|
|
9
8
|
|
10
9
|
brick_type = !ARGV.empty? ? ARGV[0] : DEFAULT_BRICK
|
11
10
|
|
12
|
-
syslog_node = ENV['NODE_NAME']
|
13
|
-
log = RemoteSyslogLogger.new(syslog_node, 514, :program => "ruby_#{brick_type}", :facility => 'local2')
|
14
|
-
|
15
|
-
log.info "action=#{brick_type}_execution status=init"
|
16
|
-
|
17
11
|
def get_brick_params(prefix)
|
18
12
|
ENV.select { |k,| k.to_s.match(/^#{prefix}.*/) }.map { |k, v| [k.slice(prefix.length..-1), v] }.to_h
|
19
13
|
end
|
20
14
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
log.info "action=#{brick_type}_execution status=start commit_hash=#{commit_hash} execution_id=#{execution_id}"
|
34
|
-
@brick_result = brick_pipeline.call(params)
|
35
|
-
log.info "action=#{brick_type}_execution status=finished"
|
36
|
-
rescue NoMethodError => e
|
37
|
-
log.info "action=#{brick_type}_execution status=error Invalid brick type '#{brick_type}', #{e.message}"
|
38
|
-
raise e
|
39
|
-
rescue StandardError => e
|
40
|
-
log.info "action=#{brick_type}_execution status=error #{e.message}"
|
41
|
-
raise e
|
42
|
-
end
|
15
|
+
brick_pipeline = GoodData::Bricks::Pipeline.send("#{brick_type}_pipeline")
|
16
|
+
normal_params = get_brick_params(BRICK_PARAM_PREFIX)
|
17
|
+
hidden_params = get_brick_params(HIDDEN_BRICK_PARAMS_PREFIX)
|
18
|
+
params = normal_params.merge(hidden_params)
|
19
|
+
|
20
|
+
params['values_to_mask'] = hidden_params.values
|
21
|
+
commit_hash = ENV['GOODDATA_RUBY_COMMIT'] || ''
|
22
|
+
execution_id = ENV['GDC_EXECUTION_ID']
|
23
|
+
params['gooddata_ruby_commit'] = commit_hash
|
24
|
+
params['GDC_LOG_DIRECTORY'] = ENV['GDC_LOG_DIRECTORY'] || '/tmp/'
|
25
|
+
params['GDC_EXECUTION_ID'] = execution_id
|
26
|
+
brick_pipeline.call(params)
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
6
6
|
|
7
7
|
require 'logger'
|
8
|
-
require 'gooddata/core/
|
8
|
+
require 'gooddata/core/splunk_logger_decorator'
|
9
9
|
|
10
10
|
require 'gooddata/extensions/true'
|
11
11
|
require 'gooddata/extensions/false'
|
@@ -13,6 +13,8 @@ require 'gooddata/extensions/integer'
|
|
13
13
|
require 'gooddata/extensions/string'
|
14
14
|
require 'gooddata/extensions/nil'
|
15
15
|
|
16
|
+
require 'remote_syslog_logger'
|
17
|
+
|
16
18
|
using TrueExtensions
|
17
19
|
using FalseExtensions
|
18
20
|
using IntegerExtensions
|
@@ -47,20 +49,20 @@ module GoodData
|
|
47
49
|
params['GDC_LOGGER'] = logger
|
48
50
|
GoodData.logging_http_on if params['HTTP_LOGGING'] && params['HTTP_LOGGING'].to_b
|
49
51
|
|
50
|
-
|
51
|
-
if params['SPLUNK_LOGGING'] && params['SPLUNK_LOGGING'].to_b
|
52
|
+
unless params['NO_SPLUNK_LOGGING'] && params['NO_SPLUNK_LOGGING'].to_b
|
52
53
|
GoodData.logger.info "Statistics collecting is turned ON. All the data is anonymous."
|
53
|
-
|
54
|
+
# NODE_NAME is set up by k8s execmgr
|
55
|
+
syslog_node = ENV['NODE_NAME']
|
56
|
+
splunk_file_logger = syslog_node ? RemoteSyslogLogger.new(syslog_node, 514, program: "lcm_ruby_brick", facility: 'local2') : Logger.new(STDOUT)
|
57
|
+
splunk_logger = SplunkLoggerDecorator.new splunk_file_logger
|
54
58
|
splunk_logger.level = params['SPLUNK_LOG_LEVEL'] || GoodData::DEFAULT_SPLUNKLOG_LEVEL
|
55
59
|
splunk_logger = splunk_logger.extend(ContextLoggerDecorator)
|
56
60
|
splunk_logger.context_source = GoodData.gd_logger
|
57
61
|
values_to_mask = params['values_to_mask'] || []
|
58
62
|
values_to_mask.concat MaskLoggerDecorator.extract_values params
|
59
63
|
splunk_logger = MaskLoggerDecorator.new(splunk_logger, values_to_mask) if values_to_mask.any?
|
60
|
-
|
61
|
-
splunk_logger = NilLogger.new
|
64
|
+
GoodData.splunk_logging_on splunk_logger
|
62
65
|
end
|
63
|
-
GoodData.splunk_logging_on splunk_logger
|
64
66
|
|
65
67
|
# Initialize context: Execution ID
|
66
68
|
GoodData.gd_logger.execution_id = params['GDC_EXECUTION_ID'] || SecureRandom.urlsafe_base64(16)
|
data/lib/gooddata/connection.rb
CHANGED
@@ -42,12 +42,9 @@ module GoodData
|
|
42
42
|
Rest::Client.disconnect
|
43
43
|
end
|
44
44
|
|
45
|
-
def with_connection(options = nil, second_options = nil, third_options = {}, &
|
46
|
-
|
47
|
-
|
48
|
-
rescue Exception => e # rubocop:disable RescueException
|
49
|
-
GoodData.logger.error(e.message)
|
50
|
-
raise e
|
45
|
+
def with_connection(options = nil, second_options = nil, third_options = {}, &block)
|
46
|
+
client = connect(options, second_options, third_options)
|
47
|
+
block.call(client)
|
51
48
|
ensure
|
52
49
|
disconnect
|
53
50
|
end
|
@@ -7,7 +7,7 @@
|
|
7
7
|
require 'rest-client'
|
8
8
|
|
9
9
|
require_relative 'nil_logger'
|
10
|
-
require_relative '
|
10
|
+
require_relative 'splunk_logger_decorator'
|
11
11
|
require_relative 'gd_logger'
|
12
12
|
|
13
13
|
module GoodData
|
@@ -21,7 +21,6 @@ module GoodData
|
|
21
21
|
|
22
22
|
DEFAULT_SPLUNKLOG_LEVEL = Logger::INFO
|
23
23
|
DEFAULT_SPLUNKLOG_OUTPUT = STDERR
|
24
|
-
DEFAULT_SPLUNKLOGGER_CLASS = SplunkLogger
|
25
24
|
|
26
25
|
class << self
|
27
26
|
attr_accessor :logger, :rest_logger, :gd_logger
|
@@ -46,12 +45,6 @@ module GoodData
|
|
46
45
|
@logger
|
47
46
|
end
|
48
47
|
|
49
|
-
# Turn logging on
|
50
|
-
#
|
51
|
-
# ### Example
|
52
|
-
#
|
53
|
-
# GoodData.logging_off
|
54
|
-
#
|
55
48
|
def logging_off
|
56
49
|
@logger = NilLogger.new
|
57
50
|
end
|
@@ -60,24 +53,12 @@ module GoodData
|
|
60
53
|
!@logger.instance_of?(NilLogger)
|
61
54
|
end
|
62
55
|
|
63
|
-
# Turn logging on with HTTP included
|
64
|
-
#
|
65
|
-
# ### Example
|
66
|
-
#
|
67
|
-
# GoodData.logging_http_on
|
68
|
-
#
|
69
56
|
def logging_http_on(level = DEFAULT_RESTLOG_LEVEL, output = DEFAULT_RESTLOG_OUTPUT, klass = DEFAULT_RESTLOGGER_CLASS)
|
70
57
|
@rest_logger = klass.new(output)
|
71
58
|
@rest_logger.level = level
|
72
59
|
@rest_logger
|
73
60
|
end
|
74
61
|
|
75
|
-
# Turn logging on
|
76
|
-
#
|
77
|
-
# ### Example
|
78
|
-
#
|
79
|
-
# GoodData.logging_http_off
|
80
|
-
#
|
81
62
|
def logging_http_off
|
82
63
|
@rest_logger = NilLogger.new
|
83
64
|
end
|
@@ -86,17 +67,10 @@ module GoodData
|
|
86
67
|
!@rest_logger.instance_of?(NilLogger)
|
87
68
|
end
|
88
69
|
|
89
|
-
# Turn splunk logging on
|
90
70
|
def splunk_logging_on(logger)
|
91
71
|
gd_logger.logging_on :splunk, logger
|
92
72
|
end
|
93
73
|
|
94
|
-
# Turn splunk logging off
|
95
|
-
#
|
96
|
-
# ### Example
|
97
|
-
#
|
98
|
-
# GoodData.logging_splunk_off
|
99
|
-
#
|
100
74
|
def splunk_logging_off
|
101
75
|
gd_logger.logging_off :splunk
|
102
76
|
end
|
@@ -6,7 +6,11 @@ require 'logger'
|
|
6
6
|
|
7
7
|
module GoodData
|
8
8
|
# Logger that process given message to format readable by splunk
|
9
|
-
class
|
9
|
+
class SplunkLoggerDecorator < Logger
|
10
|
+
def initialize(logger = Logger)
|
11
|
+
@logger = logger
|
12
|
+
end
|
13
|
+
|
10
14
|
def hash_to_string(hash)
|
11
15
|
hash.map { |pair| " #{pair[0]}=#{pair[1]}" }.join ""
|
12
16
|
end
|
@@ -17,7 +21,7 @@ module GoodData
|
|
17
21
|
def add(severity, message = nil, progname = nil)
|
18
22
|
message = hash_to_string(message) if message.is_a? Hash
|
19
23
|
progname = hash_to_string(progname) if progname.is_a? Hash
|
20
|
-
|
24
|
+
@logger.add(severity, message, progname) unless (progname && progname.chomp == '') || (message && message.chomp == '')
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
@@ -33,7 +33,7 @@ module GoodData
|
|
33
33
|
include Hashie::Extensions::DeepMerge
|
34
34
|
end
|
35
35
|
|
36
|
-
set_const :GD_MAX_RETRY, (ENV['GD_MAX_RETRY'] && ENV['GD_MAX_RETRY'].to_i) ||
|
36
|
+
set_const :GD_MAX_RETRY, (ENV['GD_MAX_RETRY'] && ENV['GD_MAX_RETRY'].to_i) || 12
|
37
37
|
|
38
38
|
class << self
|
39
39
|
def error(msg)
|
data/lib/gooddata/lcm/lcm2.rb
CHANGED
@@ -369,7 +369,7 @@ module GoodData
|
|
369
369
|
def run_action(action, params)
|
370
370
|
begin
|
371
371
|
GoodData.gd_logger.start_action action, GoodData.gd_logger
|
372
|
-
GoodData.
|
372
|
+
GoodData.gd_logger.info("Running #{action.name} action ...")
|
373
373
|
params.clear_filters
|
374
374
|
# Check if all required parameters were passed
|
375
375
|
BaseAction.check_params(action.const_get('PARAMS'), params)
|
@@ -57,7 +57,6 @@ module GoodData
|
|
57
57
|
Timeout::Error
|
58
58
|
]
|
59
59
|
|
60
|
-
RETRIES_ON_TOO_MANY_REQUESTS_ERROR = 12
|
61
60
|
RETRY_TIME_INITIAL_VALUE = 1
|
62
61
|
RETRY_TIME_COEFFICIENT = 1.5
|
63
62
|
RETRYABLE_ERRORS << Net::ReadTimeout if Net.const_defined?(:ReadTimeout)
|
@@ -86,11 +85,10 @@ module GoodData
|
|
86
85
|
|
87
86
|
# Retry block if exception thrown
|
88
87
|
def retryable(options = {}, &_block)
|
89
|
-
opts = { :tries =>
|
88
|
+
opts = { :tries => 12, :on => RETRYABLE_ERRORS }.merge(options)
|
90
89
|
|
91
90
|
retry_exception = opts[:on]
|
92
91
|
retries = opts[:tries]
|
93
|
-
too_many_requests_tries = RETRIES_ON_TOO_MANY_REQUESTS_ERROR
|
94
92
|
|
95
93
|
unless retry_exception.is_a?(Array)
|
96
94
|
retry_exception = [retry_exception]
|
@@ -102,17 +100,23 @@ module GoodData
|
|
102
100
|
rescue RestClient::Unauthorized, RestClient::Forbidden => e # , RestClient::Unauthorized => e
|
103
101
|
raise e unless options[:refresh_token]
|
104
102
|
raise e if options[:dont_reauth]
|
103
|
+
|
105
104
|
options[:refresh_token].call # (dont_reauth: true)
|
106
|
-
|
107
|
-
|
108
|
-
|
105
|
+
if (retries -= 1) > 0
|
106
|
+
retry
|
107
|
+
else
|
108
|
+
fail e
|
109
|
+
end
|
110
|
+
rescue RestClient::TooManyRequests, RestClient::ServiceUnavailable, *retry_exception => e
|
111
|
+
GoodData.logger.warn "#{e.message}, retrying in #{retry_time} seconds"
|
109
112
|
sleep retry_time
|
110
113
|
retry_time *= RETRY_TIME_COEFFICIENT
|
111
114
|
# 10 requests with 1.5 coefficent should take ~ 3 mins to finish
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
115
|
+
if (retries -= 1) > 0
|
116
|
+
retry
|
117
|
+
else
|
118
|
+
fail e
|
119
|
+
end
|
116
120
|
end
|
117
121
|
yield
|
118
122
|
end
|
@@ -212,9 +216,14 @@ module GoodData
|
|
212
216
|
|
213
217
|
begin
|
214
218
|
clear_session_id
|
215
|
-
delete(url, :x_gdc_authsst => sst_token) if url
|
219
|
+
delete(url, :x_gdc_authsst => sst_token, :tries => 0) if url
|
216
220
|
rescue RestClient::Unauthorized
|
217
|
-
|
221
|
+
begin
|
222
|
+
refresh_token
|
223
|
+
delete(url, :x_gdc_authsst => sst_token, :tries => 0) if url
|
224
|
+
rescue RestClient::Unauthorized
|
225
|
+
GoodData.logger.info 'Already disconnected'
|
226
|
+
end
|
218
227
|
end
|
219
228
|
|
220
229
|
@auth = nil
|
@@ -337,20 +346,15 @@ module GoodData
|
|
337
346
|
profile method.to_s.upcase, uri, request_id, stats_on do
|
338
347
|
b = proc do
|
339
348
|
params = fresh_request_params(request_id).merge(options)
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
@server[uri].post(payload, params)
|
350
|
-
end
|
351
|
-
rescue RestClient::Exception => e
|
352
|
-
log_error(e, uri, params, options)
|
353
|
-
raise e
|
349
|
+
case method
|
350
|
+
when :get
|
351
|
+
@server[uri].get(params, &user_block)
|
352
|
+
when :put
|
353
|
+
@server[uri].put(payload, params)
|
354
|
+
when :delete
|
355
|
+
@server[uri].delete(params)
|
356
|
+
when :post
|
357
|
+
@server[uri].post(payload, params)
|
354
358
|
end
|
355
359
|
end
|
356
360
|
process_response(options, &b)
|
@@ -589,9 +593,6 @@ ERR
|
|
589
593
|
fail "Unsupported response content type '%s':\n%s" % [content_type, response.to_str[0..127]]
|
590
594
|
end
|
591
595
|
result
|
592
|
-
rescue RestClient::Exception => e
|
593
|
-
GoodData.logger.error "Response: #{e.response}"
|
594
|
-
raise $ERROR_INFO
|
595
596
|
end
|
596
597
|
|
597
598
|
def profile(method, path, request_id, stats_on, &block)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gooddata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Kolesnikov
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2019-02-
|
17
|
+
date: 2019-02-22 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: license_finder
|
@@ -558,6 +558,7 @@ executables:
|
|
558
558
|
- release.sh
|
559
559
|
- rollout.sh
|
560
560
|
- run_brick.rb
|
561
|
+
- run_smoke_tests.sh
|
561
562
|
- test_projects_cleanup.rb
|
562
563
|
- user_filters.sh
|
563
564
|
- users.sh
|
@@ -570,6 +571,7 @@ files:
|
|
570
571
|
- ".document"
|
571
572
|
- ".editorconfig"
|
572
573
|
- ".flayignore"
|
574
|
+
- ".gdc-ii-config.yaml"
|
573
575
|
- ".gitignore"
|
574
576
|
- ".pronto.yml"
|
575
577
|
- ".rspec"
|
@@ -604,6 +606,7 @@ files:
|
|
604
606
|
- bin/release.sh
|
605
607
|
- bin/rollout.sh
|
606
608
|
- bin/run_brick.rb
|
609
|
+
- bin/run_smoke_tests.sh
|
607
610
|
- bin/test_projects_cleanup.rb
|
608
611
|
- bin/user_filters.sh
|
609
612
|
- bin/users.sh
|
@@ -681,7 +684,7 @@ files:
|
|
681
684
|
- lib/gooddata/core/nil_logger.rb
|
682
685
|
- lib/gooddata/core/project.rb
|
683
686
|
- lib/gooddata/core/rest.rb
|
684
|
-
- lib/gooddata/core/
|
687
|
+
- lib/gooddata/core/splunk_logger_decorator.rb
|
685
688
|
- lib/gooddata/core/user.rb
|
686
689
|
- lib/gooddata/data/data.rb
|
687
690
|
- lib/gooddata/data/guesser.rb
|