gooddata 1.3.3-java → 1.3.4-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +129 -67
- data/CHANGELOG.md +31 -0
- data/CONTRIBUTING.md +16 -5
- data/Dockerfile +4 -4
- data/Dockerfile.jruby +0 -2
- data/README.md +1 -1
- data/SDK_VERSION +1 -0
- data/VERSION +1 -1
- data/bin/run_brick.rb +14 -3
- data/docker-compose.yml +1 -0
- data/gooddata.gemspec +6 -4
- data/lcm.rake +13 -25
- data/lib/gooddata.rb +4 -0
- data/lib/gooddata/bricks/middleware/aws_middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/bench_middleware.rb +3 -3
- data/lib/gooddata/bricks/middleware/dwh_middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/fs_download_middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/fs_upload_middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/gooddata_middleware.rb +4 -8
- data/lib/gooddata/bricks/middleware/logger_middleware.rb +11 -2
- data/lib/gooddata/bricks/middleware/mask_logger_decorator.rb +38 -0
- data/lib/gooddata/cli/cli.rb +0 -1
- data/lib/gooddata/cli/commands/domain_cmd.rb +0 -1
- data/lib/gooddata/cli/commands/project_cmd.rb +0 -1
- data/lib/gooddata/cli/hooks.rb +0 -1
- data/lib/gooddata/connection.rb +1 -1
- data/lib/gooddata/extensions/object.rb +0 -4
- data/lib/gooddata/helpers/global_helpers.rb +3 -3
- data/lib/gooddata/lcm/actions/hello_world.rb +1 -1
- data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +6 -4
- data/lib/gooddata/lcm/actions/synchronize_users.rb +38 -75
- data/lib/gooddata/lcm/brick_logger.rb +6 -6
- data/lib/gooddata/lcm/dsl/dsl.rb +0 -7
- data/lib/gooddata/lcm/lcm.rb +6 -6
- data/lib/gooddata/lcm/lcm2.rb +7 -23
- data/lib/gooddata/mixins/inspector.rb +0 -1
- data/lib/gooddata/models/process.rb +9 -5
- data/lib/gooddata/models/project.rb +13 -16
- data/lib/gooddata/models/project_creator.rb +2 -2
- data/lib/gooddata/models/schedule.rb +5 -2
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +2 -0
- data/lib/gooddata/rest/client.rb +3 -3
- data/lib/gooddata/rest/connection.rb +3 -3
- data/lib/gooddata/version.rb +12 -2
- metadata +14 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af5e1b8a6e52b429663671a1cd7a280ef0bae395817c73cf68199c9153cbe9da
|
4
|
+
data.tar.gz: c223718e99211f37226e6222588e38d6cbd4f98a42e953e9e639be08b846a06f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d12d8bdeb73e7a23ee36f8cef59b5e07f350920596d343a0ce12c1f680385b5b2c6d6aeda7c580ab2c792b8c43808b07ed5fa449e2232f08823801746672310
|
7
|
+
data.tar.gz: bf903ad5b0059c946cdbc36a8426d20ac6eae4b6ef318f175e554579255e5c66055b50c19e48ad1503654411dc06167d1602bd2685e0a0287c5fd30578136086
|
data/.travis.yml
CHANGED
@@ -1,133 +1,195 @@
|
|
1
1
|
language: ruby
|
2
2
|
cache: bundler
|
3
3
|
stages:
|
4
|
-
- name:
|
4
|
+
- name: before-merge
|
5
5
|
if: type IN (push, pull_request)
|
6
|
-
- name:
|
7
|
-
if: type IN (api)
|
8
|
-
- name:
|
9
|
-
if: type IN (cron)
|
10
|
-
- name: cleanup
|
6
|
+
- name: after-merge
|
7
|
+
if: type IN (api, cron)
|
8
|
+
- name: platform-cleanup
|
11
9
|
if: type IN (cron)
|
10
|
+
|
11
|
+
git:
|
12
|
+
depth: false # this is needed for pronto
|
13
|
+
|
12
14
|
jobs:
|
13
15
|
include:
|
14
|
-
#
|
15
|
-
-
|
16
|
-
|
16
|
+
# BEFORE MERGE
|
17
|
+
- name: pronto code review
|
18
|
+
stage: before-merge
|
19
|
+
script: |
|
20
|
+
git remote add upstream https://github.com/gooddata/gooddata-ruby.git
|
21
|
+
git fetch upstream master
|
22
|
+
bundle exec pronto run -c upstream/master --exit-code
|
23
|
+
|
24
|
+
- name: unit tests
|
25
|
+
stage: before-merge
|
17
26
|
script: bundle exec rake test:unit
|
18
27
|
rvm:
|
28
|
+
- 2.2
|
19
29
|
- 2.3
|
20
30
|
- 2.4
|
21
31
|
- 2.5
|
32
|
+
- jruby-1.7.19
|
22
33
|
- jruby-9.1.5
|
34
|
+
- jruby-9.1.7
|
23
35
|
- jruby-9.1.14
|
24
|
-
|
25
|
-
-
|
26
|
-
|
36
|
+
|
37
|
+
- name: sdk integration (vcr) tests - base
|
38
|
+
stage: before-merge
|
39
|
+
script: bundle exec rake test:sdk
|
40
|
+
env: VCR_RECORD_MODE=none
|
41
|
+
rvm: 2.3
|
42
|
+
|
43
|
+
- name: sdk integration (vcr) tests - project
|
44
|
+
stage: before-merge
|
45
|
+
script: bundle exec rake test:project
|
46
|
+
env: VCR_RECORD_MODE=none
|
47
|
+
rvm: 2.3
|
48
|
+
|
49
|
+
- name: lcm integration (vcr) tests - e2e
|
50
|
+
stage: before-merge
|
51
|
+
script: bundle exec rspec spec/lcm/integration/lcm_end_to_end_spec.rb
|
52
|
+
env:
|
53
|
+
- VCR_RECORD_MODE=none
|
54
|
+
- GD_ENV=development
|
55
|
+
rvm: 2.3
|
56
|
+
|
57
|
+
# AFTER MERGE
|
58
|
+
# staging 1
|
59
|
+
- &lcm-integration-tests
|
60
|
+
name: staging1 - lcm integration tests
|
61
|
+
stage: after-merge
|
27
62
|
script: |
|
28
|
-
|
29
|
-
|
30
|
-
bundle exec
|
31
|
-
|
32
|
-
|
33
|
-
|
63
|
+
bundle exec rake -f lcm.rake docker:build
|
64
|
+
bundle exec rake -f lcm.rake docker:bundle
|
65
|
+
bundle exec rake -f lcm.rake test:docker:integration
|
66
|
+
env:
|
67
|
+
- VCR_ON=false
|
68
|
+
- GD_ENV=staging
|
34
69
|
rvm: jruby-9.1.14
|
35
|
-
|
36
|
-
|
37
|
-
|
70
|
+
|
71
|
+
- &lcm-slow-tests
|
72
|
+
name: staging1 - lcm slow tests
|
73
|
+
stage: after-merge
|
74
|
+
script: |
|
75
|
+
bundle exec rake -f lcm.rake docker:build
|
76
|
+
bundle exec rake -f lcm.rake docker:bundle
|
77
|
+
bundle exec rake -f lcm.rake test:docker:slow
|
78
|
+
env:
|
79
|
+
- VCR_ON=false
|
80
|
+
- GD_ENV=staging
|
38
81
|
rvm: jruby-9.1.14
|
39
|
-
|
40
|
-
- &
|
41
|
-
|
42
|
-
|
82
|
+
|
83
|
+
- &userprov-tests
|
84
|
+
name: staging1 - user provisioning tests
|
85
|
+
stage: after-merge
|
43
86
|
script: |
|
44
87
|
bundle exec rake -f lcm.rake docker:build
|
45
88
|
bundle exec rake -f lcm.rake docker:bundle
|
46
|
-
bundle exec rake -f lcm.rake test:
|
47
|
-
|
48
|
-
-
|
89
|
+
bundle exec rake -f lcm.rake test:docker:userprov
|
90
|
+
env:
|
91
|
+
- VCR_ON=false
|
92
|
+
- GD_ENV=staging
|
93
|
+
rvm: jruby-9.1.14
|
94
|
+
|
49
95
|
- &sdk-integration-tests
|
50
|
-
|
51
|
-
|
96
|
+
name: staging1 - sdk integration tests - base
|
97
|
+
stage: after-merge
|
52
98
|
script: bundle exec rake test:sdk
|
53
|
-
rvm: 2.5
|
54
|
-
env: VCR_ON=false
|
55
|
-
- &sdk-integration-tests-project
|
56
|
-
stage: integration
|
57
|
-
name: sdk integration tests (project)
|
58
|
-
script: bundle exec rake test:project
|
59
|
-
env: VCR_ON=false
|
60
|
-
rvm: 2.5
|
61
|
-
# periodic
|
62
|
-
# staging 1
|
63
|
-
- <<: *lcm-integration-tests
|
64
|
-
stage: periodic
|
65
|
-
name: staging1 - lcm integration tests
|
66
99
|
env:
|
67
|
-
- GD_ENV=staging
|
68
100
|
- VCR_ON=false
|
69
|
-
- <<: *sdk-integration-tests
|
70
|
-
stage: periodic
|
71
|
-
name: staging1 - sdk integration tests
|
72
|
-
env:
|
73
101
|
- GD_ENV=staging
|
74
|
-
-
|
75
|
-
|
76
|
-
|
77
|
-
name: staging1 - sdk integration tests
|
102
|
+
rvm: jruby-9.1.14
|
103
|
+
|
104
|
+
- &sdk-integration-tests-project
|
105
|
+
name: staging1 - sdk integration tests - project
|
106
|
+
stage: after-merge
|
107
|
+
script: bundle exec rake test:project
|
78
108
|
env:
|
79
|
-
- GD_ENV=staging
|
80
109
|
- VCR_ON=false
|
110
|
+
- GD_ENV=staging
|
111
|
+
rvm: jruby-9.1.14
|
112
|
+
|
81
113
|
# staging 2
|
82
114
|
- <<: *lcm-integration-tests
|
83
|
-
stage: periodic
|
84
115
|
name: staging2 - lcm integration tests
|
85
116
|
env:
|
86
117
|
- GD_ENV=testing
|
87
118
|
- VCR_ON=false
|
119
|
+
|
120
|
+
- <<: *lcm-slow-tests
|
121
|
+
name: staging2 - lcm slow tests
|
122
|
+
env:
|
123
|
+
- GD_ENV=staging
|
124
|
+
- VCR_ON=false
|
125
|
+
|
126
|
+
- <<: *userprov-tests
|
127
|
+
name: staging2 - lcm user provisioning tests
|
128
|
+
env:
|
129
|
+
- GD_ENV=staging
|
130
|
+
- VCR_ON=false
|
131
|
+
|
88
132
|
- <<: *sdk-integration-tests
|
89
|
-
|
90
|
-
name: staging2 - sdk integration tests
|
133
|
+
name: staging2 - sdk integration tests - base
|
91
134
|
env:
|
92
135
|
- GD_ENV=testing
|
93
136
|
- VCR_ON=false
|
137
|
+
|
94
138
|
- <<: *sdk-integration-tests-project
|
95
|
-
|
96
|
-
name: staging2 - sdk integration tests (project)
|
139
|
+
name: staging2 - sdk integration tests - project
|
97
140
|
env:
|
98
141
|
- GD_ENV=testing
|
99
142
|
- VCR_ON=false
|
143
|
+
|
100
144
|
# staging 3
|
101
145
|
- <<: *lcm-integration-tests
|
102
|
-
stage: periodic
|
103
146
|
name: staging3 - lcm integration tests
|
104
147
|
env:
|
105
148
|
- GD_ENV=development
|
106
149
|
- VCR_ON=false
|
150
|
+
|
151
|
+
- <<: *lcm-slow-tests
|
152
|
+
name: staging3 - lcm slow tests
|
153
|
+
env:
|
154
|
+
- GD_ENV=staging
|
155
|
+
- VCR_ON=false
|
156
|
+
|
157
|
+
- <<: *userprov-tests
|
158
|
+
name: staging3 - lcm user provisioning tests
|
159
|
+
env:
|
160
|
+
- GD_ENV=staging
|
161
|
+
- VCR_ON=false
|
162
|
+
|
107
163
|
- <<: *sdk-integration-tests
|
108
|
-
|
109
|
-
name: staging3 - sdk integration tests
|
164
|
+
name: staging3 - sdk integration tests - base
|
110
165
|
env:
|
111
166
|
- GD_ENV=development
|
112
167
|
- VCR_ON=false
|
168
|
+
|
113
169
|
- <<: *sdk-integration-tests-project
|
114
|
-
|
115
|
-
name: staging3 - sdk integration tests (project)
|
170
|
+
name: staging3 - sdk integration tests - project
|
116
171
|
env:
|
117
172
|
- GD_ENV=development
|
118
173
|
- VCR_ON=false
|
174
|
+
|
175
|
+
# cleanups
|
119
176
|
- &cleanup
|
120
|
-
stage:
|
177
|
+
stage: after-merge
|
121
178
|
name: staging1 - test environment clean-up
|
122
179
|
script: bundle exec ruby bin/test_projects_cleanup.rb -f
|
123
180
|
env: GD_ENV=staging
|
181
|
+
|
124
182
|
- <<: *cleanup
|
125
183
|
name: staging2 - test environment clean-up
|
126
184
|
env: GD_ENV=testing
|
185
|
+
|
127
186
|
- <<: *cleanup
|
128
187
|
name: staging3 - test environment clean-up
|
129
188
|
env: GD_ENV=development
|
189
|
+
|
130
190
|
notifications:
|
131
|
-
|
132
|
-
|
133
|
-
|
191
|
+
email:
|
192
|
+
recipients:
|
193
|
+
secure: AMTssALc5Qt4ApAoI7gCmqP3d7AL0dGyZ+DsxYYlas2T0tjXdOH97XlY2jRzFSxZU1P3JKJkjHLmxu0m908Q28SQVcdBlK29Ofyl2pwGnniExY4wdQJLmqNW9eKa2dmSMUsntR6DryNThKVn9mqUACdXgpT8X2CnQl/DWMGpo80=
|
194
|
+
on_success: always
|
195
|
+
on_failure: always
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,35 @@
|
|
1
1
|
# GoodData Ruby SDK Changelog
|
2
|
+
## 1.3.4
|
3
|
+
- FEATURE: TMA-1240 Read SDK and brick versions from files
|
4
|
+
- TEST: TMA-1061 Introduce end to end tests
|
5
|
+
- TMA-483 request number optimisation in synchronize users and user filters action
|
6
|
+
- TMA-1232: resilient user filters spec
|
7
|
+
- II-294: Update base image - CentOS 7.6
|
8
|
+
- FEATURE: TMA-1243 Upgrade LCM k8s image to JRuby version 9.2.5.0
|
9
|
+
- Encrypt notification recipient
|
10
|
+
- TMA-1192: dependable CI env
|
11
|
+
- TMA-1003: Move mocking methods into a separate class
|
12
|
+
- BUGFIX: TMA-1233 Install RVM according to changes in installation script
|
13
|
+
- Describe parameters of create_expression
|
14
|
+
- BUGFIX: TMA-1233 Remove ZenTest development dependency which isn't needed anymore
|
15
|
+
- Relax the activesupport dependency
|
16
|
+
- fixup! TMA-1003: Add unit test for delete_extra_process_schedule
|
17
|
+
- BUGFIX: TMA-1218 Anonymise hidden parameters only in LCM bricks running in K8s
|
18
|
+
- TMA-1003: Add unit test for delete_extra_process_schedule
|
19
|
+
- Update README.md
|
20
|
+
- Remove nonsensical object extension
|
21
|
+
- TMA-1189: Remove unnecessary requires from specs
|
22
|
+
- FEATURE: TMA-1198 Log LCM brick output to file instead of stdout when running in K8s
|
23
|
+
- Update README.md
|
24
|
+
- REFACTOR: TMA-1198 Set global logger in LoggerMiddleware instead of GoodDataMiddleware
|
25
|
+
- TMA-1216 removed constant PROJECT_URL
|
26
|
+
- TMA-1070: Record vcr cassettes
|
27
|
+
- TMA-1070: Add test for LCM components
|
28
|
+
- TRIVIAL: Remove code which was commented out
|
29
|
+
- TMA-1208 Log to sigle file from K8s LCM bricks
|
30
|
+
- TMA-1190: Merge cleanup stage into periodic
|
31
|
+
- BUGFIX: TMA-1121 use current user call instead of expensive bootstrap
|
32
|
+
|
2
33
|
## 1.3.3
|
3
34
|
- Fix git-ignoring project cache
|
4
35
|
- Fix style in vcr configurer
|
data/CONTRIBUTING.md
CHANGED
@@ -1,9 +1,20 @@
|
|
1
1
|
# Contributing
|
2
2
|
|
3
3
|
## Tests
|
4
|
-
###
|
4
|
+
### CI setup
|
5
|
+
gooddata-ruby has a robust CI setup in place to ensure easy contributing by both GD employees and outsiders. The CI is based on travis-ci and all of the environment specifics is versioned in .travis.yml
|
6
|
+
|
7
|
+
The pipeline is split into two parts - before-merge and after-merge.
|
8
|
+
#### Before-merge
|
9
|
+
This pipeline has to pass before the merge of a PR. All of the checks included are runnable without special permissions or credentials (it is possible to run them as an outside contributor). It includes a suite of unit tests, automated code review tools and mocked (thru VCR) integration and E2E tests.
|
10
|
+
#### After-merge
|
11
|
+
This pipeline has to pass before a release is made. It extends the before-merge suite, running it against a live GD env (staging servers) and adds more thorough specs (load specs, slow specs). Special permissions and credentials are required (member of github GD organization, valid testing credentials).
|
12
|
+
#### Details & Caveats
|
13
|
+
It is possible to create a local "fork" of the CI environment on travis-ci.org or travis-ci.com. The forked environment will still use the versioned .travis.yml, so all of the settings (including email reporting) will be also valid on the fork. To see a solution to this, check https://confluence.intgdc.com/display/~jakub.mahnert/gooddata-ruby+CI+notification+setup (only applies to specific GD employees)
|
14
|
+
### Running tests manually
|
15
|
+
#### Unit tests
|
5
16
|
`bundle exec rake test:unit`
|
6
|
-
|
17
|
+
#### Integration tests
|
7
18
|
Currently only GoodData employees can run integration tests for security reasons.
|
8
19
|
|
9
20
|
`GD_SPEC_PASSWORD=*** bundle exec rake test:integration`
|
@@ -11,7 +22,7 @@ Currently only GoodData employees can run integration tests for security reasons
|
|
11
22
|
[Integration tests](spec/integration) can be run against different GoodData [environments](spec/environment) or with
|
12
23
|
[VCR](https://relishapp.com/vcr/vcr/docs).
|
13
24
|
|
14
|
-
|
25
|
+
##### VCR test setup
|
15
26
|
When adding new integration test, always set `:vcr` metadata.
|
16
27
|
```ruby
|
17
28
|
describe 'New integration test', :vcr
|
@@ -19,11 +30,11 @@ describe 'New integration test', :vcr
|
|
19
30
|
The VCR `record` mode can be set via `VCR_RECORD_MODE` environment variable. Set it to `all` to make a new recording.
|
20
31
|
Please check the recorded payloads for possible sensitive data before submitting to github.
|
21
32
|
|
22
|
-
|
33
|
+
##### PI test setup
|
23
34
|
If you are so lucky and have acces to PI, you can run the test agains it ... there is guide in [confluence](https://confluence.intgdc.com/display/SCRUM/Running+Tests+on+PI)
|
24
35
|
|
25
36
|
## Static analysis
|
26
|
-
We use [Pronto](https://github.com/prontolabs/pronto) to detect code smells using static analysis.
|
37
|
+
We use [Pronto](https://github.com/prontolabs/pronto) to detect code smells using static analysis.
|
27
38
|
|
28
39
|
#### Running locally
|
29
40
|
`bundle exec pronto run --unstaged -c upstream/develop`
|
data/Dockerfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
FROM harbor.intgdc.com/tools/gdc-java-8-jre:
|
1
|
+
FROM harbor.intgdc.com/tools/gdc-java-8-jre:92b15b7
|
2
2
|
|
3
3
|
ARG GIT_COMMIT=unspecified
|
4
4
|
ARG BRICKS_VERSION=unspecified
|
@@ -6,7 +6,7 @@ ARG BRICKS_VERSION=unspecified
|
|
6
6
|
LABEL image_name="GDC LCM Bricks"
|
7
7
|
LABEL maintainer="LCM <lcm@gooddata.com>"
|
8
8
|
LABEL git_repository_url="https://github.com/gooddata/gooddata-ruby/"
|
9
|
-
LABEL parent_image="harbor.intgdc.com/tools/gdc-java-8-jre:
|
9
|
+
LABEL parent_image="harbor.intgdc.com/tools/gdc-java-8-jre:92b15b7"
|
10
10
|
LABEL git_commit=$GIT_COMMIT
|
11
11
|
LABEL bricks_version=$BRICKS_VERSION
|
12
12
|
|
@@ -16,14 +16,14 @@ RUN yum install -y curl which \
|
|
16
16
|
&& rm -rf /var/cache/yum
|
17
17
|
|
18
18
|
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
|
19
|
-
RUN curl -sSL https://get.rvm.io | bash -s stable
|
19
|
+
RUN curl -sSL https://get.rvm.io | bash -s stable
|
20
20
|
|
21
21
|
# Switch to directory with sources
|
22
22
|
WORKDIR /src
|
23
23
|
ENV HOME=/src
|
24
24
|
|
25
25
|
# login shell is required by rvm
|
26
|
-
RUN /bin/bash -l -c ". /usr/local/rvm/scripts/rvm && gem update --system \
|
26
|
+
RUN /bin/bash -l -c ". /usr/local/rvm/scripts/rvm && rvm install jruby-9.2.5.0 && gem update --system \
|
27
27
|
&& gem install bundler rake"
|
28
28
|
|
29
29
|
ENV GOODDATA_RUBY_COMMIT=$GIT_COMMIT
|
data/Dockerfile.jruby
CHANGED
@@ -20,5 +20,3 @@ ADD . .
|
|
20
20
|
RUN keytool -importcert -alias gooddata-2008 -file "./data/2008.crt" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
|
21
21
|
RUN keytool -importcert -alias gooddata-int -file "./data/new_ca.cer" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
|
22
22
|
RUN keytool -importcert -alias gooddata-prod -file "data/new_prodgdc_ca.crt" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
|
23
|
-
|
24
|
-
CMD ["bundle", "exec", "rspec spec/lcm/integration"]
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@ It has a CLI client and it is a library which you can integrate into your applic
|
|
5
5
|
|
6
6
|
The best documentation for the GoodData API can be found using these resources:
|
7
7
|
|
8
|
-
*
|
8
|
+
* https://sdk.gooddata.com/gooddata-ruby-doc
|
9
9
|
* http://developer.gooddata.com/api
|
10
10
|
* https://secure.gooddata.com/gdc
|
11
11
|
* http://rubydoc.info/gems/gooddata/frames
|
data/SDK_VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.3.4
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.5.0
|
1
|
+
3.5.0
|
data/bin/run_brick.rb
CHANGED
@@ -5,6 +5,7 @@ require_relative '../lib/gooddata'
|
|
5
5
|
|
6
6
|
DEFAULT_BRICK = 'hello_world_brick'
|
7
7
|
BRICK_PARAM_PREFIX = 'BRICK_PARAM_'
|
8
|
+
HIDDEN_BRICK_PARAMS_PREFIX = 'HIDDEN_BRICK_PARAM_'
|
8
9
|
|
9
10
|
brick_type = !ARGV.empty? ? ARGV[0] : DEFAULT_BRICK
|
10
11
|
|
@@ -13,13 +14,23 @@ log = RemoteSyslogLogger.new(syslog_node, 514, :program => "ruby_#{brick_type}",
|
|
13
14
|
|
14
15
|
log.info "action=#{brick_type}_execution status=init"
|
15
16
|
|
17
|
+
def get_brick_params(prefix)
|
18
|
+
ENV.select { |k,| k.to_s.match(/^#{prefix}.*/) }.map { |k, v| [k.slice(prefix.length..-1), v] }.to_h
|
19
|
+
end
|
20
|
+
|
16
21
|
begin
|
17
22
|
brick_pipeline = GoodData::Bricks::Pipeline.send("#{brick_type}_pipeline")
|
18
|
-
|
23
|
+
normal_params = get_brick_params(BRICK_PARAM_PREFIX)
|
24
|
+
hidden_params = get_brick_params(HIDDEN_BRICK_PARAMS_PREFIX)
|
25
|
+
params = normal_params.merge(hidden_params)
|
26
|
+
|
27
|
+
params['values_to_mask'] = hidden_params.values
|
19
28
|
commit_hash = ENV['GOODDATA_RUBY_COMMIT'] || ''
|
29
|
+
execution_id = ENV['GDC_EXECUTION_ID']
|
20
30
|
params['gooddata_ruby_commit'] = commit_hash
|
21
|
-
params['
|
22
|
-
|
31
|
+
params['GDC_LOG_DIRECTORY'] = ENV['GDC_LOG_DIRECTORY'] || '/tmp/'
|
32
|
+
params['GDC_EXECUTION_ID'] = execution_id
|
33
|
+
log.info "action=#{brick_type}_execution status=start commit_hash=#{commit_hash} execution_id=#{execution_id}"
|
23
34
|
@brick_result = brick_pipeline.call(params)
|
24
35
|
log.info "action=#{brick_type}_execution status=finished"
|
25
36
|
rescue NoMethodError => e
|