gooddata 2.1.19 → 2.3.0

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.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.gdc-ii-config.yaml +42 -1
  3. data/.github/workflows/build.yml +67 -0
  4. data/.github/workflows/pre-merge.yml +72 -0
  5. data/.pronto.yml +1 -0
  6. data/.rubocop.yml +2 -14
  7. data/CHANGELOG.md +47 -0
  8. data/Dockerfile +27 -14
  9. data/Dockerfile.jruby +5 -15
  10. data/Dockerfile.ruby +5 -7
  11. data/Gemfile +4 -2
  12. data/LICENSE +4409 -16
  13. data/README.md +6 -6
  14. data/Rakefile +1 -1
  15. data/SDK_VERSION +1 -1
  16. data/VERSION +1 -1
  17. data/bin/run_brick.rb +7 -0
  18. data/ci/mssql/pom.xml +62 -0
  19. data/ci/mysql/pom.xml +62 -0
  20. data/ci/redshift/pom.xml +4 -5
  21. data/docker-compose.lcm.yml +42 -4
  22. data/docker-compose.yml +42 -0
  23. data/gooddata.gemspec +21 -21
  24. data/k8s/charts/lcm-bricks/Chart.yaml +1 -1
  25. data/lcm.rake +11 -8
  26. data/lib/gooddata/bricks/base_pipeline.rb +26 -0
  27. data/lib/gooddata/bricks/brick.rb +0 -1
  28. data/lib/gooddata/bricks/middleware/aws_middleware.rb +35 -9
  29. data/lib/gooddata/bricks/middleware/execution_result_middleware.rb +3 -3
  30. data/lib/gooddata/bricks/pipeline.rb +2 -14
  31. data/lib/gooddata/cloud_resources/blobstorage/blobstorage_client.rb +98 -0
  32. data/lib/gooddata/cloud_resources/mssql/drivers/.gitkeepme +0 -0
  33. data/lib/gooddata/cloud_resources/mssql/mssql_client.rb +122 -0
  34. data/lib/gooddata/cloud_resources/mysql/drivers/.gitkeepme +0 -0
  35. data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +121 -0
  36. data/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb +0 -1
  37. data/lib/gooddata/cloud_resources/redshift/drivers/.gitkeepme +0 -0
  38. data/lib/gooddata/cloud_resources/redshift/redshift_client.rb +0 -2
  39. data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +18 -1
  40. data/lib/gooddata/helpers/data_helper.rb +9 -4
  41. data/lib/gooddata/lcm/actions/base_action.rb +157 -0
  42. data/lib/gooddata/lcm/actions/collect_data_product.rb +2 -1
  43. data/lib/gooddata/lcm/actions/collect_meta.rb +3 -1
  44. data/lib/gooddata/lcm/actions/collect_projects_warning_status.rb +53 -0
  45. data/lib/gooddata/lcm/actions/collect_segment_clients.rb +14 -0
  46. data/lib/gooddata/lcm/actions/initialize_continue_on_error_option.rb +87 -0
  47. data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +31 -4
  48. data/lib/gooddata/lcm/actions/provision_clients.rb +34 -5
  49. data/lib/gooddata/lcm/actions/synchronize_cas.rb +24 -4
  50. data/lib/gooddata/lcm/actions/synchronize_clients.rb +112 -11
  51. data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +89 -0
  52. data/lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb +48 -11
  53. data/lib/gooddata/lcm/actions/synchronize_kd_dashboard_permission.rb +103 -0
  54. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +79 -23
  55. data/lib/gooddata/lcm/actions/synchronize_ldm_layout.rb +98 -0
  56. data/lib/gooddata/lcm/actions/synchronize_pp_dashboard_permission.rb +108 -0
  57. data/lib/gooddata/lcm/actions/synchronize_schedules.rb +31 -1
  58. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +26 -18
  59. data/lib/gooddata/lcm/actions/synchronize_user_groups.rb +30 -4
  60. data/lib/gooddata/lcm/actions/synchronize_users.rb +11 -10
  61. data/lib/gooddata/lcm/actions/update_metric_formats.rb +202 -0
  62. data/lib/gooddata/lcm/data/delete_from_lcm_release.sql.erb +5 -0
  63. data/lib/gooddata/lcm/exceptions/lcm_execution_warning.rb +15 -0
  64. data/lib/gooddata/lcm/helpers/check_helper.rb +19 -0
  65. data/lib/gooddata/lcm/helpers/release_table_helper.rb +42 -8
  66. data/lib/gooddata/lcm/lcm2.rb +50 -4
  67. data/lib/gooddata/lcm/user_bricks_helper.rb +9 -0
  68. data/lib/gooddata/mixins/inspector.rb +1 -1
  69. data/lib/gooddata/mixins/md_object_query.rb +1 -0
  70. data/lib/gooddata/models/data_source.rb +5 -1
  71. data/lib/gooddata/models/dataset_mapping.rb +36 -0
  72. data/lib/gooddata/models/ldm_layout.rb +38 -0
  73. data/lib/gooddata/models/metadata/label.rb +26 -27
  74. data/lib/gooddata/models/project.rb +230 -30
  75. data/lib/gooddata/models/project_creator.rb +83 -6
  76. data/lib/gooddata/models/schedule.rb +13 -1
  77. data/lib/gooddata/models/segment.rb +2 -1
  78. data/lib/gooddata/models/user_filters/user_filter_builder.rb +162 -68
  79. data/lib/gooddata/rest/connection.rb +5 -3
  80. data/lib/gooddata/rest/phmap.rb +2 -0
  81. data/lib/gooddata.rb +1 -0
  82. data/lib/gooddata_brick_base.rb +35 -0
  83. data/sonar-project.properties +6 -0
  84. metadata +100 -68
  85. data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +0 -37
  86. data/lib/gooddata/cloud_resources/redshift/drivers/log4j.properties +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f00b6b202dc2bcd6af02eda57b326c0ccf222a57683dcf12bacf6b318a212ec7
4
- data.tar.gz: a2f73ed25aa53295e06648efaf0961c5eed43fc3f9defae3b5e640a167c948a2
3
+ metadata.gz: 4cb98341236d0ebdc681cd0094f18ffbb31949777d190a6b62a7c610f7e1c7a8
4
+ data.tar.gz: 5b3e22221639760951e8ff59263fbf13403b55943c44520c0f32ed5def64eff2
5
5
  SHA512:
6
- metadata.gz: ac6f6fd25919099b44ecaa302d81dab084de7540b158e35e02bb05b970eb8bba466a77d0eba3403dca66160f8e4c9c2b02603af9a8249afe7a4ebad295f22774
7
- data.tar.gz: c075fe2ed8d29d0612f6fc01687c1d0cedc690df830642ebdac369026f7fc3158a07fcfbadd8c079a3574e222713b0cbce60a7b6b189ac3f6b4ba950b877e7b0
6
+ metadata.gz: f9622db59d8a46ac63f31b269e57212138df07d618254a6681387776dc4c955309b266f3819325e3f83cabf53c9fb921e47b3ae30c45c3ac4d1801b53a1ac356
7
+ data.tar.gz: 6572b1da01a2e401f5b93e753731636e0b111b9eb635860c5bacf2fdc8040b9280bb7c6d60e0793ebd7a996d3396d3a902514d986597fb942acabc68e6b61264
data/.gdc-ii-config.yaml CHANGED
@@ -2,6 +2,23 @@ microservices:
2
2
  lcm-bricks:
3
3
  docker:
4
4
  dockerfile: './Dockerfile'
5
+ # specifies whether promote image to M3 image tag when release LCM. Default always promote image. Don't remote
6
+ # image when promoteImage configure false
7
+ promoteImage: false
8
+ # specifies whether run register pipeline components for the image when promote image. Default always run register
9
+ # pipeline components. Don't run register when registerPipelineComponentsWhenPromote configure false
10
+ registerPipelineComponentsWhenPromote: false
11
+ argumentsFromFiles:
12
+ BRICKS_VERSION: 'VERSION'
13
+ lcm-bricks-nextversion:
14
+ docker:
15
+ dockerfile: './Dockerfile'
16
+ # specifies whether promote image to M3 image tag when release LCM. Default always promote image. Don't remote
17
+ # image when promoteImage configure false
18
+ promoteImage: true
19
+ # specifies whether run register pipeline components for the image when promote image. Default always run register
20
+ # pipeline components. Don't run register when registerPipelineComponentsWhenPromote configure false
21
+ registerPipelineComponentsWhenPromote: false
5
22
  argumentsFromFiles:
6
23
  BRICKS_VERSION: 'VERSION'
7
24
 
@@ -11,6 +28,30 @@ integratedTests:
11
28
  path: .
12
29
  vault:
13
30
  GD_SPEC_PASSWORD: "$VAULT_SPECIAL_PREFIX/ruby-test-bia-encryption-key"
31
+ RT_S3_BUCKET_NAME: "$VAULT_SPECIAL_PREFIX/ruby-test-s3-credentials bucket_name"
32
+ RT_S3_ACCESS_KEY: "$VAULT_SPECIAL_PREFIX/ruby-test-s3-credentials access_key"
33
+ RT_S3_SECRET_KEY: "$VAULT_SPECIAL_PREFIX/ruby-test-s3-credentials secret_key"
34
+ GD_DEV_DEV_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg3 dev_token"
35
+ GD_DEV_PROD_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg3 prod_token"
36
+ GD_DEV_VERTICA_DEV_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg3 vertica_dev_token"
37
+ GD_DEV_VERTICA_PROD_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg3 vertica_prod_token"
38
+ GD_DEV_PASSWORD: "$VAULT_SPECIAL_PREFIX/ruby-test-stg3 gd_password"
39
+ GD_DEV_GD_PROJECT_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg3 gd_project_token"
40
+ GD_DEV_DEFAULT_PASSWORD: "$VAULT_SPECIAL_PREFIX/ruby-test-stg3 gd_default_password"
41
+ GD_TEST_DEV_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg2 dev_token"
42
+ GD_TEST_PROD_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg2 prod_token"
43
+ GD_TEST_VERTICA_DEV_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg2 vertica_dev_token"
44
+ GD_TEST_VERTICA_PROD_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg2 vertica_prod_token"
45
+ GD_TEST_PASSWORD: "$VAULT_SPECIAL_PREFIX/ruby-test-stg2 gd_password"
46
+ GD_TEST_GD_PROJECT_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg2 gd_project_token"
47
+ GD_TEST_DEFAULT_PASSWORD: "$VAULT_SPECIAL_PREFIX/ruby-test-stg2 gd_default_password"
48
+ GD_STG_DEV_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg1 dev_token"
49
+ GD_STG_PROD_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg1 prod_token"
50
+ GD_STG_VERTICA_DEV_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg1 vertica_dev_token"
51
+ GD_STG_VERTICA_PROD_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg1 vertica_prod_token"
52
+ GD_STG_PASSWORD: "$VAULT_SPECIAL_PREFIX/ruby-test-stg1 gd_password"
53
+ GD_STG_GD_PROJECT_TOKEN: "$VAULT_SPECIAL_PREFIX/ruby-test-stg1 gd_project_token"
54
+ GD_STG_DEFAULT_PASSWORD: "$VAULT_SPECIAL_PREFIX/ruby-test-stg1 gd_default_password"
14
55
  command: ./bin/run_smoke_tests.sh
15
56
  image: harbor.intgdc.com/staging/lcm-bricks:GIT_REV
16
57
  repo_mount_dir: /src
@@ -22,4 +63,4 @@ configFilesForUpdate:
22
63
  - '.gdc-ii-config-chart.yaml'
23
64
 
24
65
  customConstants:
25
- pipeline.deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg']
66
+ pipeline.gitops-deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg1']
@@ -0,0 +1,67 @@
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.4.1
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 ${SAMPLE_KEY:0:3}
28
+ echo ${GEM_HOST_API_KEY:0:20}
29
+ bundle exec rake gem:release
30
+ env:
31
+ SAMPLE_KEY: "a1234567"
32
+ GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
33
+ rubygems-release:
34
+ runs-on: ubuntu-latest
35
+ steps:
36
+ - uses: actions/checkout@v2
37
+ with:
38
+ fetch-depth: 0
39
+ - uses: ruby/setup-ruby@v1
40
+ with:
41
+ ruby-version: 3.2.1
42
+ bundler-cache: true
43
+ - name: Run gem release
44
+ run: |
45
+ echo ${SAMPLE_KEY:0:3}
46
+ echo ${GEM_HOST_API_KEY:0:20}
47
+ bundle exec rake gem:release
48
+ env:
49
+ SAMPLE_KEY: "a1234567"
50
+ GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
51
+ gem-smoke-test:
52
+ runs-on: ubuntu-latest
53
+ needs: [jruby-gem-release, rubygems-release]
54
+ strategy:
55
+ matrix:
56
+ ruby-version: [3.2.1, jruby-9.4.1]
57
+ steps:
58
+ - uses: actions/checkout@v3
59
+ with:
60
+ fetch-depth: 0
61
+ - uses: ruby/setup-ruby@v1
62
+ with:
63
+ ruby-version: ${{ matrix.ruby-version }}
64
+ bundler-cache: true
65
+ - run: |
66
+ gem install gooddata
67
+ 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.5, 2.6, 2.7.6, 3.2.1, jruby-9.2.21, jruby-9.3.14, jruby-9.4.1]
13
+ steps:
14
+ - uses: actions/checkout@v3
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
+ - run: bundle exec rake test:unit
23
+ continue-on-error: true
24
+ unit-tests-OSX:
25
+ runs-on: macos-latest
26
+ strategy:
27
+ matrix:
28
+ include:
29
+ - ruby-version: 2.5
30
+ xcode-version: 9
31
+ - ruby-version: 2.6
32
+ xcode-version: 9
33
+ - ruby-version: 2.7.6
34
+ xcode-version: 9
35
+ - ruby-version: 3.2.1
36
+ xcode-version: 9
37
+ - ruby-version: jruby-9.2.9
38
+ xcode-version: latest
39
+ - ruby-version: jruby-9.4.1
40
+ xcode-version: latest
41
+ steps:
42
+ - name: run prepare-env
43
+ run: brew install pkg-config
44
+ - uses: actions/checkout@v3
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@v3
55
+ with:
56
+ fetch-depth: 0
57
+ - uses: ruby/setup-ruby@v1
58
+ with:
59
+ ruby-version: 3.2
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/.pronto.yml CHANGED
@@ -1,6 +1,7 @@
1
1
  all:
2
2
  exclude:
3
3
  - 'spec/**/*'
4
+ - 'lib/gooddata/lcm/actions/base_action.rb'
4
5
  verbose: true
5
6
  github:
6
7
  slug: gooddata/gooddata-ruby
data/.rubocop.yml CHANGED
@@ -11,7 +11,7 @@ ClassLength:
11
11
  Enabled: false
12
12
 
13
13
  Metrics/BlockLength:
14
- Max: 40
14
+ Max: 60
15
15
 
16
16
  ModuleLength:
17
17
  Enabled: false
@@ -49,9 +49,6 @@ PerceivedComplexity:
49
49
  Alias:
50
50
  Enabled: false
51
51
 
52
- Casecmp:
53
- Enabled: false
54
-
55
52
  ConditionalAssignment:
56
53
  Enabled: false
57
54
 
@@ -73,12 +70,6 @@ MultilineMethodCallIndentation:
73
70
  MutableConstant:
74
71
  Enabled: false
75
72
 
76
- RedundantBlockCall:
77
- Enabled: false
78
-
79
- RedundantMerge:
80
- Enabled: false
81
-
82
73
  RedundantParentheses:
83
74
  Enabled: false
84
75
 
@@ -88,10 +79,7 @@ StringLiterals:
88
79
  SignalException:
89
80
  Enabled: false
90
81
 
91
- TimesMap:
92
- Enabled: false
93
-
94
- UnneededInterpolation:
82
+ RedundantInterpolation:
95
83
  Enabled: false
96
84
 
97
85
  UselessAccessModifier:
data/CHANGELOG.md CHANGED
@@ -1,4 +1,51 @@
1
1
  # GoodData Ruby SDK Changelog
2
+
3
+ ## 2.3.0
4
+ - BUGFIX: MSF-25800 Add SSLErrorWaitReadable error to retry error list
5
+ - MSF-24148: Upgrade LCM image to run with JRuby latest version 9.4.1
6
+ - BUGFIX: MSF-23944 Change log level of rest API call to DEBUG
7
+ - BUGFIX: TMA-1744 Store domain users to cache to avoid calling API multiple times
8
+ - FEATURE: MSF-23266 support mongo BI mysql
9
+ - BUGFIX: MSF-22958 - Lookup user in domain if not found in project
10
+ - FEATURE: MSF-23033 change to gooddata_platform snowflake connection
11
+
12
+ ## 2.2.0
13
+ - FEATURE: MSF-23003 Supports Ruby 2.7, remove salesforce_bulk_query dependency
14
+ - FEATURE:TMA-1737, TMA-1738 - Change to propagate dateFilterConfig and dashboardPlugin during LCM release and rollout.
15
+ - MSF-22739: Bump lcm-bricks chart version
16
+ - FEATURE: MSF-22133 bump LCM version to 3.7.42
17
+ - FEATURE: MSF-22578 Add Gooddata platform parameter for snowflake url
18
+ - FEATURE: MSF-22129 add support mysql input source
19
+ - BUGFIX: MSF-22215 Add more log to MigrateGdcDateDimension action of Rollout brick
20
+ - MSF-22480: Update MSF ruby docker images to Centos 8
21
+ - BUGFIX: MSF-22414 Should not fail rollout if any errors related to delete old master workspaces
22
+ - BUGFIX: MSF-22164 Diff against clients is done when there are no LDM changes
23
+ - BUGFIX:MSF-22296 - Fix frozen object when release with datasource in dev ws.
24
+ - FEATURE: MSF-22170 Update integration test for NFS when delete old master project
25
+ - BUGFIX:MSF-22175 - Revert to use Enumerator on MD object
26
+ - BUGFIX:MSF-22175 - Change to not use Enumerator
27
+ - FEATURE: MSF-22016 add support trigger execution status
28
+ - MSF-22170: Add integration test to rollout brick for delete old master workspace
29
+ - BUGFIX:MSF-22175 - bump LCM version to 3.7.33
30
+ - BUGFIX:MSF-22175 - Ignore empty log in table SynchronizeUserFilters
31
+ - BUGFIX:MSF-22140 - Fix error when user using numeric client_id
32
+ - MSF-21292: Add capability to remove old master workspaces to LCM brick
33
+ - FEATURE:TMA-1610 - Change redshift repos to nexus
34
+ - FEATURE:TMA-1610 - Update metric for client localization
35
+ - FEATURE: MSF-21860 bump LCM version 3.7.30
36
+ - BUGFIX: MSF-21805 Fix loop forever when sync schedules
37
+ - REQUEST: MSF-21521 - implement integration test for MSSQL Datasource
38
+ - BUGFIX: MSF-21477 Don’t use delete_suffix which not available for ruby 2.3
39
+ - BUGFIX:MSF-21702 - Fix for empty date-dimension and bump LCM version to 3.7.29
40
+ - FEATURE:MSF-21056 - Sync Dataset Mapping to Release, rollout, provisioning bricks
41
+ - FEATURE: MSF-21165 - implement mssql data source
42
+ - BUGFIX: MSF-21241 Poll validElements until task finished
43
+ - 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
44
+ - MSF-20263: bump VERSION 3.7.27
45
+ - FEATURE: MSF-20653 Support Blob Storage input source
46
+ - Automated base image update (BUILD pipeline from gdc-docker-images, fcb7257)
47
+ - MSF-20737: Update another SSO provider instead of deprecated saleforce.com
48
+
2
49
  ## 2.1.19
3
50
  - BUGFIX: MSF-20827 Fix gem-smoke-test failed when release ruby SDK
4
51
  - BUGFIX: MSF-20826 Failure update license file when release ruby SDK
data/Dockerfile CHANGED
@@ -1,28 +1,26 @@
1
- FROM harbor.intgdc.com/tools/gdc-java-8-jre:89999e9
1
+ FROM 020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-8-jdk-centos9:202311071405.4d8c665
2
2
 
3
3
  ARG RVM_VERSION=stable
4
- ARG JRUBY_VERSION=9.2.5.0
4
+ ARG JRUBY_VERSION=9.4.1.0
5
5
 
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:89999e9"
9
+ LABEL parent_image="020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-8-jdk-centos9:202311071405.4d8c665"
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 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 \
@@ -32,7 +30,11 @@ RUN gpg2 --quiet --no-tty --logger-fd 1 --keyserver hkp://ipv4.pool.sks-keyserve
32
30
  SHELL ["/bin/bash", "-l", "-c"]
33
31
 
34
32
  RUN rvm install jruby-${JRUBY_VERSION} && gem update --system \
35
- && gem install bundler rake
33
+ && gem install bundler -v 2.4.6 \
34
+ && gem install rake -v 13.0.6
35
+
36
+ # Make sure java default running with java8
37
+ RUN update-alternatives --set java java-1.8.0-openjdk.x86_64
36
38
 
37
39
  WORKDIR /src
38
40
 
@@ -68,8 +70,19 @@ RUN cp -rf ci/bigquery/target/*.jar ./lib/gooddata/cloud_resources/bigquery/driv
68
70
  RUN mvn -f ci/postgresql/pom.xml clean install -P binary-packaging
69
71
  RUN cp -rf ci/postgresql/target/*.jar ./lib/gooddata/cloud_resources/postgresql/drivers/
70
72
 
73
+ #build mssql dependencies
74
+ RUN mvn -f ci/mssql/pom.xml clean install -P binary-packaging
75
+ RUN cp -rf ci/mssql/target/*.jar ./lib/gooddata/cloud_resources/mssql/drivers/
76
+
77
+ #build mysql dependencies
78
+ RUN mvn -f ci/mysql/pom.xml clean install -P binary-packaging
79
+ RUN cp -rf ci/mysql/target/*.jar ./lib/gooddata/cloud_resources/mysql/drivers/
80
+
71
81
  RUN bundle install
72
82
 
83
+ # Check to make sure Java version is always Java8
84
+ RUN java_version=$(java -version 2>&1) && echo "$java_version" | grep 'version.*1.8' || (echo "Java version is not 1.8" && exit 1)
85
+
73
86
  ARG GIT_COMMIT=unspecified
74
87
  ARG BRICKS_VERSION=unspecified
75
88
  LABEL git_commit=$GIT_COMMIT
data/Dockerfile.jruby CHANGED
@@ -1,17 +1,17 @@
1
- FROM jruby:9.1-alpine
1
+ FROM jruby:9.4.1.0
2
2
 
3
3
  MAINTAINER Tomas Korcak <korczis@gmail.com>
4
4
 
5
- RUN apk add --no-cache curl make gcc git g++ python linux-headers binutils-gold gnupg libstdc++ postgresql postgresql-client openssl
5
+ RUN apt-get update && apt-get install -y curl make gcc git g++ python binutils-gold gnupg libstdc++6 cmake
6
6
 
7
7
  # Switch to directory with sources
8
8
  WORKDIR /src
9
9
  ENV HOME=/src
10
10
  ENV BUNDLE_PATH=$HOME/bundle
11
11
 
12
- RUN gem update --system 3.0.6 \
13
- && gem install --install-dir $BUNDLE_PATH bundler -v 1.17.3 \
14
- && gem install --install-dir $BUNDLE_PATH rake -v 11.3.0
12
+ RUN gem update --system \
13
+ && gem install --install-dir $BUNDLE_PATH bundler -v 2.4.6 \
14
+ && gem install --install-dir $BUNDLE_PATH rake -v 13.0.6
15
15
 
16
16
  ADD . .
17
17
 
@@ -20,13 +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
- ENV LANG en_US.utf8
25
- RUN adduser -D -g '' gooddata
26
- RUN rm -rf $HOME/spec/postgresql
27
- RUN mkdir $HOME/spec/postgresql
28
- RUN chmod -R 0750 $HOME/spec/postgresql
29
- RUN chown gooddata $HOME/spec/postgresql
30
- RUN mkdir /run/postgresql; chmod 1777 -R /run;
31
- RUN mkdir $HOME/pre-exec.d; mkdir $HOME/pre-init.d; chmod -R 1755 $HOME/pre-exec.d; chmod -R 1755 $HOME/pre-exec.d
32
- USER gooddata
data/Dockerfile.ruby CHANGED
@@ -1,19 +1,17 @@
1
- FROM ruby:2.3-alpine
1
+ FROM ruby:3.2.1
2
2
 
3
3
  MAINTAINER Tomas Korcak <korczis@gmail.com>
4
4
 
5
- RUN apk add --no-cache curl make gcc git g++ python linux-headers binutils-gold gnupg libstdc++ openssl cmake curl-dev
6
-
7
- RUN ln -s /usr/bin/make /usr/bin/gmake
5
+ RUN apt-get update && apt-get install -y curl make gcc git openssh-client g++ python binutils-gold gnupg libstdc++6 cmake
8
6
 
9
7
  # Switch to directory with sources
10
8
  WORKDIR /src
11
9
  ENV HOME=/src
12
10
  ENV BUNDLE_PATH=$HOME/bundle
13
11
 
14
- RUN gem update --system 3.0.6 \
15
- && gem install --install-dir $BUNDLE_PATH bundler -v 1.17.3 \
16
- && gem install --install-dir $BUNDLE_PATH rake -v 11.3.0
12
+ RUN gem update --system \
13
+ && gem install --install-dir $BUNDLE_PATH bundler -v 2.4.6 \
14
+ && gem install --install-dir $BUNDLE_PATH rake -v 13.0.6
17
15
 
18
16
  ADD . .
19
17
 
data/Gemfile CHANGED
@@ -1,10 +1,12 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gem 'net-smtp', require: false
4
+
3
5
  group 'development' do
4
6
  unless RUBY_PLATFORM == 'java'
5
7
  gem 'pronto-flay',
6
- git: 'https://github.com/kubamahnert/pronto-flay',
7
- branch: 'flay-mass-threshold'
8
+ git: 'https://github.com/prontolabs/pronto-flay'
9
+ # branch: 'flay-mass-threshold'
8
10
  end
9
11
  end
10
12