gooddata 1.3.3-java → 1.3.4-java
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/.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
|