gooddata 2.1.14 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +5 -5
  2. data/.gdc-ii-config.yaml +1 -1
  3. data/.github/workflows/build.yml +66 -0
  4. data/.github/workflows/pre-merge.yml +72 -0
  5. data/.sonar.settings +4 -0
  6. data/.travis.yml +78 -12
  7. data/CHANGELOG.md +62 -0
  8. data/Dockerfile +25 -14
  9. data/LICENSE +4418 -17
  10. data/LICENSE.rb +1 -1
  11. data/README.md +3 -3
  12. data/Rakefile +8 -1
  13. data/SDK_VERSION +1 -1
  14. data/VERSION +1 -1
  15. data/bin/test_projects_cleanup.rb +45 -3
  16. data/ci/mssql/pom.xml +62 -0
  17. data/ci/mysql/pom.xml +57 -0
  18. data/ci/postgresql/pom.xml +57 -0
  19. data/ci/redshift/pom.xml +1 -1
  20. data/dev-gooddata-sso.pub.encrypted +40 -40
  21. data/gdc_fossa_ruby_sdk.yaml +1 -0
  22. data/gooddata.gemspec +10 -6
  23. data/k8s/charts/lcm-bricks/Chart.yaml +1 -1
  24. data/k8s/charts/lcm-bricks/templates/prometheus/alertingRules.yaml +11 -1
  25. data/lcm.rake +2 -2
  26. data/lib/gooddata/bricks/middleware/aws_middleware.rb +35 -9
  27. data/lib/gooddata/cloud_resources/blobstorage/blobstorage_client.rb +98 -0
  28. data/lib/gooddata/cloud_resources/{cloud_resouce_factory.rb → cloud_resource_factory.rb} +8 -0
  29. data/lib/gooddata/cloud_resources/cloud_resources.rb +1 -1
  30. data/lib/gooddata/cloud_resources/mssql/drivers/.gitkeepme +0 -0
  31. data/lib/gooddata/cloud_resources/mssql/mssql_client.rb +122 -0
  32. data/lib/gooddata/cloud_resources/mysql/drivers/.gitkeepme +0 -0
  33. data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +111 -0
  34. data/lib/gooddata/cloud_resources/postgresql/drivers/.gitkeepme +0 -0
  35. data/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb +106 -0
  36. data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +18 -1
  37. data/lib/gooddata/commands/scaffold.rb +9 -10
  38. data/lib/gooddata/core/nil_logger.rb +3 -1
  39. data/lib/gooddata/helpers/data_helper.rb +9 -5
  40. data/lib/gooddata/helpers/global_helpers.rb +6 -5
  41. data/lib/gooddata/lcm/actions/associate_clients.rb +8 -2
  42. data/lib/gooddata/lcm/actions/base_action.rb +0 -2
  43. data/lib/gooddata/lcm/actions/collect_meta.rb +3 -1
  44. data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +3 -2
  45. data/lib/gooddata/lcm/actions/provision_clients.rb +31 -10
  46. data/lib/gooddata/lcm/actions/synchronize_clients.rb +56 -7
  47. data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +64 -0
  48. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +19 -8
  49. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +16 -9
  50. data/lib/gooddata/lcm/actions/synchronize_users.rb +7 -6
  51. data/lib/gooddata/lcm/actions/update_metric_formats.rb +185 -0
  52. data/lib/gooddata/lcm/data/delete_from_lcm_release.sql.erb +5 -0
  53. data/lib/gooddata/lcm/helpers/release_table_helper.rb +42 -8
  54. data/lib/gooddata/lcm/lcm2.rb +5 -2
  55. data/lib/gooddata/lcm/types/base_type.rb +0 -2
  56. data/lib/gooddata/mixins/md_object_query.rb +9 -6
  57. data/lib/gooddata/models/blueprint/project_blueprint.rb +0 -2
  58. data/lib/gooddata/models/client.rb +14 -12
  59. data/lib/gooddata/models/data_source.rb +668 -0
  60. data/lib/gooddata/models/dataset_mapping.rb +36 -0
  61. data/lib/gooddata/models/domain.rb +3 -2
  62. data/lib/gooddata/models/metadata/analytical_dashboard.rb +49 -0
  63. data/lib/gooddata/models/metadata/analytical_visualization_object.rb +30 -0
  64. data/lib/gooddata/models/metadata/label.rb +26 -27
  65. data/lib/gooddata/models/metadata/visualization_object.rb +50 -0
  66. data/lib/gooddata/models/project.rb +66 -19
  67. data/lib/gooddata/models/schedule.rb +13 -1
  68. data/lib/gooddata/models/user_filters/user_filter_builder.rb +58 -54
  69. data/lib/gooddata/models/user_group.rb +0 -1
  70. data/lib/gooddata/rest/connection.rb +6 -4
  71. data/lib/gooddata/rest/phmap.rb +2 -1
  72. data/lib/gooddata.rb +2 -0
  73. data/rubydev_public.gpg.encrypted +51 -51
  74. data/rubydev_secret_keys.gpg.encrypted +109 -109
  75. metadata +52 -27
  76. data/DEPENDENCIES.md +0 -880
  77. data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +0 -37
  78. data/lib/gooddata/helpers/data_source_helpers.rb +0 -47
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 68abe67594fe2fb0e851189b6463d939ed8b34c6937a99f51f896cf75bef53e7
4
- data.tar.gz: 7928b4595964670244002406e0b24ae55385251e53e1dd0ccdec5b90b87ee62c
2
+ SHA1:
3
+ metadata.gz: b8b621c3b47d3724b047207799726a334a197640
4
+ data.tar.gz: 1c9a164200c8e7fddbdc01759ae02df75e20377f
5
5
  SHA512:
6
- metadata.gz: 279b4f89205b5c408ae0328ef915ac4ffa0924e358b66c7bb3e525662a15d55b1bd6a9a6e6d31beb7016ace9f109c59cd95736d54137df8e5295ed779a9105c0
7
- data.tar.gz: 8c6128f19a4f1fee3860a3157f3cc74a51e6c45a1becd3f3b317a2e94f0f6bb4b2534f6061d08888678290c2599010c0f2d0ba025589420bf48a2713c1f81a4c
6
+ metadata.gz: f440298c891d3aeebbf46daa33ae01baa80ab9cf110fd2d953045695f36978d1b2ddb71fd5b5dc340e2e1ac392c57c64c38f84f10f3e41bdb593106f6edec69d
7
+ data.tar.gz: 6d0a38bde898a99fe2eca3c58a70fe12228661d8c58e28236b0ef81c239d6afd6a835b4571a8a86d130c9c75e21dcf14213ec8241c0b3068e6111e837f321a6d
data/.gdc-ii-config.yaml CHANGED
@@ -22,4 +22,4 @@ configFilesForUpdate:
22
22
  - '.gdc-ii-config-chart.yaml'
23
23
 
24
24
  customConstants:
25
- pipeline.deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg']
25
+ pipeline.gitops-deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg']
@@ -0,0 +1,66 @@
1
+ name: build
2
+ on:
3
+ push:
4
+ branches: [master]
5
+ jobs:
6
+ jruby-gem-release:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v2
10
+ with:
11
+ fetch-depth: 0
12
+ - uses: ruby/setup-ruby@v1
13
+ with:
14
+ ruby-version: jruby-9.1.17
15
+ bundler-cache: true
16
+ - uses: actions/setup-java@v2
17
+ with:
18
+ java-version: '8'
19
+ distribution: 'adopt'
20
+ - uses: actions/cache@v2
21
+ with:
22
+ path: ~/.m2
23
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
24
+ restore-keys: ${{ runner.os }}-m2
25
+ - name: Run gem release
26
+ run: |
27
+ echo -e "---\n:rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
28
+ chmod 0600 ~/.gem/credentials
29
+ bundle exec rake gem:release
30
+ rubygems-release:
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - uses: actions/checkout@v2
34
+ with:
35
+ fetch-depth: 0
36
+ - uses: ruby/setup-ruby@v1
37
+ with:
38
+ ruby-version: 2.3
39
+ bundler-cache: true
40
+ - name: Run gem release
41
+ run: |
42
+ echo -e "---\n:rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
43
+ chmod 0600 ~/.gem/credentials
44
+ bundle exec rake gem:release
45
+ gem-smoke-test:
46
+ runs-on: ubuntu-latest
47
+ needs: [jruby-gem-release, rubygems-release]
48
+ strategy:
49
+ matrix:
50
+ ruby-version: [2.3, jruby-9.1.17]
51
+ steps:
52
+ - uses: actions/checkout@v2
53
+ with:
54
+ fetch-depth: 0
55
+ - uses: ruby/setup-ruby@v1
56
+ with:
57
+ ruby-version: ${{ matrix.ruby-version }}
58
+ bundler-cache: true
59
+ - uses: actions/setup-java@v2
60
+ if: ${{ matrix.ruby-version == 'jruby-9.1.17' }}
61
+ with:
62
+ java-version: '8'
63
+ distribution: 'adopt'
64
+ - run: |
65
+ gem install gooddata
66
+ ruby -e "require 'gooddata';GoodData.version"
@@ -0,0 +1,72 @@
1
+ name: pre-merge
2
+ on:
3
+ pull_request:
4
+ branches:
5
+ - develop
6
+ - master
7
+ jobs:
8
+ unit-tests:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, jruby-9.1.17]
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ with:
16
+ fetch-depth: 0
17
+ - uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby-version }}
20
+ bundler-cache: true
21
+ - run: bundle exec rake test:unit
22
+ if: ${{ matrix.ruby-version != 'jruby-9.1.17' }}
23
+ - run: bundle exec rake test:unit
24
+ if: ${{ matrix.ruby-version == 'jruby-9.1.17' }}
25
+ continue-on-error: true
26
+ unit-tests-OSX:
27
+ runs-on: macos-latest
28
+ strategy:
29
+ matrix:
30
+ include:
31
+ - ruby-version: 2.3
32
+ xcode-version: 7.3
33
+ - ruby-version: 2.4.3
34
+ xcode-version: 9.4
35
+ - ruby-version: 2.5
36
+ xcode-version: 9
37
+ - ruby-version: 2.6
38
+ xcode-version: 9
39
+ - ruby-version: 2.7
40
+ xcode-version: 9
41
+ - ruby-version: jruby-9.1.17
42
+ xcode-version: latest
43
+ steps:
44
+ - uses: actions/checkout@v2
45
+ - uses: ruby/setup-ruby@v1
46
+ with:
47
+ ruby-version: ${{ matrix.ruby-version }}
48
+ bundler-cache: true
49
+ - name: run tests
50
+ run: bundle exec rake test:unit
51
+ pronto-code-review:
52
+ runs-on: ubuntu-latest
53
+ steps:
54
+ - uses: actions/checkout@v2
55
+ with:
56
+ fetch-depth: 0
57
+ - uses: ruby/setup-ruby@v1
58
+ with:
59
+ ruby-version: 2.5
60
+ bundler-cache: true
61
+ - name: run pronto-code-review
62
+ run: |
63
+ set -x
64
+ git remote add upstream https://github.com/gooddata/gooddata-ruby.git
65
+ git fetch upstream $GITHUB_BASE_REF
66
+ failed=0
67
+ PRONTO_FLAY_MASS_THRESHOLD=50 bundle exec pronto run -c upstream/$GITHUB_BASE_REF --exit-code lib || failed=1
68
+ PRONTO_FLAY_MASS_THRESHOLD=100 bundle exec pronto run -c upstream/$GITHUB_BASE_REF --exit-code spec || failed=1
69
+ if [ "$failed" -ne 0 ] ; then
70
+ exit 1
71
+ fi
72
+ shell: bash
data/.sonar.settings ADDED
@@ -0,0 +1,4 @@
1
+ # Config scan necessary files/folder only
2
+ sonar.sources=bin,lib
3
+ sonar.tests=spec
4
+ sonar.exclusions=**/lib/templates/project/*.erb
data/.travis.yml CHANGED
@@ -73,23 +73,52 @@ jobs:
73
73
 
74
74
  - name: lcm integration (vcr) tests - e2e
75
75
  stage: before-merge
76
- script: bundle exec rspec spec/lcm/integration/lcm_end_to_end_spec.rb
76
+ script: bundle exec rspec spec/lcm/integration/spec/e2e/lcm_end_to_end_spec.rb
77
77
  env:
78
78
  - VCR_RECORD_MODE=none
79
79
  rvm: 2.3
80
80
 
81
81
  # AFTER MERGE
82
82
  # staging 1
83
- - &lcm-integration-tests
84
- name: staging1 - lcm integration tests
83
+ - &lcm-integration-e2e-tests
84
+ name: staging1 - lcm integration-e2e tests
85
85
  stage: after-merge
86
86
  script: |
87
87
  bundle exec rake -f lcm.rake docker:build
88
88
  bundle exec rake -f lcm.rake docker:bundle
89
- bundle exec rake -f lcm.rake test:docker:integration
89
+ bundle exec rake -f lcm.rake test:docker:integration-e2e
90
90
  env:
91
91
  - VCR_ON=false
92
92
  - GD_ENV=staging
93
+ - GD_MAX_RETRY=2
94
+ rvm: jruby-9.1.14
95
+ jdk: openjdk8
96
+
97
+ - &lcm-integration-release-tests
98
+ name: staging1 - lcm integration-release tests
99
+ stage: after-merge
100
+ script: |
101
+ bundle exec rake -f lcm.rake docker:build
102
+ bundle exec rake -f lcm.rake docker:bundle
103
+ bundle exec rake -f lcm.rake test:docker:integration-release
104
+ env:
105
+ - VCR_ON=false
106
+ - GD_ENV=staging
107
+ - GD_MAX_RETRY=2
108
+ rvm: jruby-9.1.14
109
+ jdk: openjdk8
110
+
111
+ - &lcm-integration-others-tests
112
+ name: staging1 - lcm integration-others tests
113
+ stage: after-merge
114
+ script: |
115
+ bundle exec rake -f lcm.rake docker:build
116
+ bundle exec rake -f lcm.rake docker:bundle
117
+ bundle exec rake -f lcm.rake test:docker:integration-others
118
+ env:
119
+ - VCR_ON=false
120
+ - GD_ENV=staging
121
+ - GD_MAX_RETRY=2
93
122
  rvm: jruby-9.1.14
94
123
  jdk: openjdk8
95
124
 
@@ -155,11 +184,26 @@ jobs:
155
184
  jdk: openjdk8
156
185
 
157
186
  # staging 2
158
- - <<: *lcm-integration-tests
159
- name: staging2 - lcm integration tests
187
+ - <<: *lcm-integration-e2e-tests
188
+ name: staging2 - lcm integration-e2e tests
160
189
  env:
161
190
  - GD_ENV=testing
162
191
  - VCR_ON=false
192
+ - GD_MAX_RETRY=2
193
+
194
+ - <<: *lcm-integration-release-tests
195
+ name: staging2 - lcm integration-release tests
196
+ env:
197
+ - GD_ENV=testing
198
+ - VCR_ON=false
199
+ - GD_MAX_RETRY=2
200
+
201
+ - <<: *lcm-integration-others-tests
202
+ name: staging2 - lcm integration-others tests
203
+ env:
204
+ - GD_ENV=testing
205
+ - VCR_ON=false
206
+ - GD_MAX_RETRY=2
163
207
 
164
208
  - <<: *lcm-slow-tests
165
209
  name: staging2 - lcm slow tests
@@ -192,11 +236,26 @@ jobs:
192
236
  - VCR_ON=false
193
237
 
194
238
  # staging 3
195
- - <<: *lcm-integration-tests
196
- name: staging3 - lcm integration tests
239
+ - <<: *lcm-integration-e2e-tests
240
+ name: staging3 - lcm integration-e2e tests
197
241
  env:
198
242
  - GD_ENV=development
199
243
  - VCR_ON=false
244
+ - GD_MAX_RETRY=2
245
+
246
+ - <<: *lcm-integration-release-tests
247
+ name: staging3 - lcm integration-release tests
248
+ env:
249
+ - GD_ENV=development
250
+ - VCR_ON=false
251
+ - GD_MAX_RETRY=2
252
+
253
+ - <<: *lcm-integration-others-tests
254
+ name: staging3 - lcm integration-others tests
255
+ env:
256
+ - GD_ENV=development
257
+ - VCR_ON=false
258
+ - GD_MAX_RETRY=2
200
259
 
201
260
  - <<: *lcm-slow-tests
202
261
  name: staging3 - lcm slow tests
@@ -233,16 +292,22 @@ jobs:
233
292
  - &cleanup
234
293
  stage: after-merge
235
294
  name: staging1 - test environment clean-up
236
- script: bundle exec ruby bin/test_projects_cleanup.rb -f
237
- env: GD_ENV=staging
295
+ script: travis_wait 30 bundle exec ruby bin/test_projects_cleanup.rb -f
296
+ env:
297
+ - GD_ENV=staging
298
+ - GD_MAX_RETRY=2
238
299
 
239
300
  - <<: *cleanup
240
301
  name: staging2 - test environment clean-up
241
- env: GD_ENV=testing
302
+ env:
303
+ - GD_ENV=testing
304
+ - GD_MAX_RETRY=2
242
305
 
243
306
  - <<: *cleanup
244
307
  name: staging3 - test environment clean-up
245
- env: GD_ENV=development
308
+ env:
309
+ - GD_ENV=development
310
+ - GD_MAX_RETRY=2
246
311
 
247
312
  # AFTER MERGE UNIT TESTS ON ALTERNATIVE PLATFORM
248
313
 
@@ -279,6 +344,7 @@ jobs:
279
344
  script: bundle exec rake test:unit
280
345
  os: osx
281
346
  rvm: jruby-9.1.14
347
+ osx_image: xcode9.4
282
348
 
283
349
  - stage: gem-release
284
350
  name: deploy MRI gem
data/CHANGELOG.md CHANGED
@@ -1,4 +1,66 @@
1
1
  # GoodData Ruby SDK Changelog
2
+
3
+ ## 2.2.0
4
+ - FEATURE: MSF-23003 Supports Ruby 2.7, remove salesforce_bulk_query dependency
5
+ - FEATURE:TMA-1737, TMA-1738 - Change to propagate dateFilterConfig and dashboardPlugin during LCM release and rollout.
6
+ - MSF-22739: Bump lcm-bricks chart version
7
+ - FEATURE: MSF-22133 bump LCM version to 3.7.42
8
+ - FEATURE: MSF-22578 Add Gooddata platform parameter for snowflake url
9
+ - FEATURE: MSF-22129 add support mysql input source
10
+ - BUGFIX: MSF-22215 Add more log to MigrateGdcDateDimension action of Rollout brick
11
+ - MSF-22480: Update MSF ruby docker images to Centos 8
12
+ - BUGFIX: MSF-22414 Should not fail rollout if any errors related to delete old master workspaces
13
+ - BUGFIX: MSF-22164 Diff against clients is done when there are no LDM changes
14
+ - BUGFIX:MSF-22296 - Fix frozen object when release with datasource in dev ws.
15
+ - FEATURE: MSF-22170 Update integration test for NFS when delete old master project
16
+ - BUGFIX:MSF-22175 - Revert to use Enumerator on MD object
17
+ - BUGFIX:MSF-22175 - Change to not use Enumerator
18
+ - FEATURE: MSF-22016 add support trigger execution status
19
+ - MSF-22170: Add integration test to rollout brick for delete old master workspace
20
+ - BUGFIX:MSF-22175 - bump LCM version to 3.7.33
21
+ - BUGFIX:MSF-22175 - Ignore empty log in table SynchronizeUserFilters
22
+ - BUGFIX:MSF-22140 - Fix error when user using numeric client_id
23
+ - MSF-21292: Add capability to remove old master workspaces to LCM brick
24
+ - FEATURE:TMA-1610 - Change redshift repos to nexus
25
+ - FEATURE:TMA-1610 - Update metric for client localization
26
+ - FEATURE: MSF-21860 bump LCM version 3.7.30
27
+ - BUGFIX: MSF-21805 Fix loop forever when sync schedules
28
+ - REQUEST: MSF-21521 - implement integration test for MSSQL Datasource
29
+ - BUGFIX: MSF-21477 Don’t use delete_suffix which not available for ruby 2.3
30
+ - BUGFIX:MSF-21702 - Fix for empty date-dimension and bump LCM version to 3.7.29
31
+ - FEATURE:MSF-21056 - Sync Dataset Mapping to Release, rollout, provisioning bricks
32
+ - FEATURE: MSF-21165 - implement mssql data source
33
+ - BUGFIX: MSF-21241 Poll validElements until task finished
34
+ - SETI-5977: Migrate Travis-CI to Github Actions - Merge gem-release and gem-smoke-test into build pipeline - Skip intergration tests from pre-merge pipeline
35
+ - MSF-20263: bump VERSION 3.7.27
36
+ - FEATURE: MSF-20653 Support Blob Storage input source
37
+ - Automated base image update (BUILD pipeline from gdc-docker-images, fcb7257)
38
+ - MSF-20737: Update another SSO provider instead of deprecated saleforce.com
39
+
40
+ ## 2.1.19
41
+ - BUGFIX: MSF-20827 Fix gem-smoke-test failed when release ruby SDK
42
+ - BUGFIX: MSF-20826 Failure update license file when release ruby SDK
43
+
44
+ ## 2.1.18
45
+ - BUGFIX: TMA-1700 Failed Provisioning Brick created clients without ETL
46
+ - FEATURE: BCO-1300 Add model for analytical dashboard and visualization object
47
+ - FEATURE: MSF-20118 Support PostgreSQL as input for LCM provisioning bricks
48
+ - BUGFIX: TMA-999 Improve API call statistics log: add grouping on PID for roles
49
+ - CONFIG: TMA-1714 Ruby SDK travis build is failing
50
+ - BUGFIX: TMA-707 Provisioning brick does not log client deletion
51
+
52
+ ## 2.1.17
53
+ - BUGFIX:TMA-1704 - Enhance error message when not found clientId in source table
54
+ - BUGFIX: TMA-1694 [UsersBrick] Enhance messages add more log for missing users when running remove_from_organization
55
+ - FEATURE:TMA-1717 - replace Erbis by standard ERB
56
+ - BUGFIX: MSF-20222 Fixing issue using find function of Enumerator
57
+ - LR-428: Update the license file for Gooddata-ruby
58
+ - BUGFIX: TMA-1714 Fixed test failed due to deleting master project and increase timeout
59
+
60
+ ## 2.1.15
61
+ - FEATURE: BCO-1119 Introduce data sources API
62
+ - Upgrade active_support to be able used with Rails 6.1
63
+
2
64
  ## 2.1.14
3
65
  - BUGFIX: MSF-18892 Change default option of recurrency field to valid value
4
66
  - FEATURE:TMA-1687 - Release/Rollout sync theme object
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM harbor.intgdc.com/tools/gdc-java-8-jre:2fce51b
1
+ FROM harbor.intgdc.com/tools/gdc-java-8-jre-centos8:6c54afc
2
2
 
3
3
  ARG RVM_VERSION=stable
4
4
  ARG JRUBY_VERSION=9.2.5.0
@@ -6,23 +6,21 @@ ARG JRUBY_VERSION=9.2.5.0
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:2fce51b"
9
+ LABEL parent_image="harbor.intgdc.com/tools/gdc-java-8-jre-centos8:6c54afc"
10
10
 
11
11
  # which is required by RVM
12
- RUN yum install -y curl which patch make git maven \
12
+ RUN yum install -y curl which patch make git maven procps \
13
13
  && yum clean all \
14
14
  && rm -rf /var/cache/yum
15
15
 
16
16
  # Install + verify RVM with gpg (https://rvm.io/rvm/security)
17
- RUN gpg2 --quiet --no-tty --logger-fd 1 --keyserver hkp://ipv4.pool.sks-keyservers.net \
18
- --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
19
- 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
20
- && echo 409B6B1796C275462A1703113804BB82D39DC0E3:6: | \
21
- gpg2 --quiet --no-tty --logger-fd 1 --import-ownertrust \
22
- && curl -sSO https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer \
23
- && curl -sSO https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer.asc \
24
- && gpg2 --quiet --no-tty --logger-fd 1 --verify rvm-installer.asc \
25
- && bash rvm-installer ${RVM_VERSION} \
17
+ RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - \
18
+ && curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import - \
19
+ && curl -sSL https://get.rvm.io | bash -s ${RVM_VERSION} \
20
+ && curl -sSL https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer -o rvm-installer \
21
+ && curl -sSL https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer.asc -o rvm-installer.asc \
22
+ && gpg2 --verify rvm-installer.asc rvm-installer \
23
+ && bash rvm-installer \
26
24
  && rm rvm-installer rvm-installer.asc \
27
25
  && echo "bundler" >> /usr/local/rvm/gemsets/global.gems \
28
26
  && echo "rvm_silence_path_mismatch_check_flag=1" >> /etc/rvmrc \
@@ -31,8 +29,9 @@ RUN gpg2 --quiet --no-tty --logger-fd 1 --keyserver hkp://ipv4.pool.sks-keyserve
31
29
  # Switch to a bash login shell to allow simple 'rvm' in RUN commands
32
30
  SHELL ["/bin/bash", "-l", "-c"]
33
31
 
34
- RUN rvm install jruby-${JRUBY_VERSION} && gem update --system \
35
- && gem install bundler rake
32
+ RUN rvm install jruby-${JRUBY_VERSION} && gem update --system 3.0.6 \
33
+ && gem install bundler -v 1.17.3 \
34
+ && gem install rake -v 11.3.0
36
35
 
37
36
  WORKDIR /src
38
37
 
@@ -64,6 +63,18 @@ RUN cp -rf ci/snowflake/target/*.jar ./lib/gooddata/cloud_resources/snowflake/dr
64
63
  RUN mvn -f ci/bigquery/pom.xml clean install -P binary-packaging
65
64
  RUN cp -rf ci/bigquery/target/*.jar ./lib/gooddata/cloud_resources/bigquery/drivers/
66
65
 
66
+ #build postgresql dependencies
67
+ RUN mvn -f ci/postgresql/pom.xml clean install -P binary-packaging
68
+ RUN cp -rf ci/postgresql/target/*.jar ./lib/gooddata/cloud_resources/postgresql/drivers/
69
+
70
+ #build mssql dependencies
71
+ RUN mvn -f ci/mssql/pom.xml clean install -P binary-packaging
72
+ RUN cp -rf ci/mssql/target/*.jar ./lib/gooddata/cloud_resources/mssql/drivers/
73
+
74
+ #build mysql dependencies
75
+ RUN mvn -f ci/mysql/pom.xml clean install -P binary-packaging
76
+ RUN cp -rf ci/mysql/target/*.jar ./lib/gooddata/cloud_resources/mysql/drivers/
77
+
67
78
  RUN bundle install
68
79
 
69
80
  ARG GIT_COMMIT=unspecified