gooddata 2.2.0 → 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 (67) hide show
  1. checksums.yaml +5 -5
  2. data/.gdc-ii-config.yaml +42 -1
  3. data/.github/workflows/build.yml +14 -13
  4. data/.github/workflows/pre-merge.yml +13 -13
  5. data/.pronto.yml +1 -0
  6. data/.rubocop.yml +2 -14
  7. data/CHANGELOG.md +9 -0
  8. data/Dockerfile +13 -7
  9. data/Dockerfile.jruby +5 -5
  10. data/Dockerfile.ruby +5 -7
  11. data/Gemfile +4 -2
  12. data/README.md +5 -4
  13. data/Rakefile +1 -1
  14. data/SDK_VERSION +1 -1
  15. data/VERSION +1 -1
  16. data/bin/run_brick.rb +7 -0
  17. data/ci/mysql/pom.xml +6 -1
  18. data/ci/redshift/pom.xml +3 -4
  19. data/docker-compose.lcm.yml +42 -1
  20. data/docker-compose.yml +42 -0
  21. data/gooddata.gemspec +21 -22
  22. data/lcm.rake +9 -0
  23. data/lib/gooddata/bricks/base_pipeline.rb +26 -0
  24. data/lib/gooddata/bricks/brick.rb +0 -1
  25. data/lib/gooddata/bricks/middleware/execution_result_middleware.rb +3 -3
  26. data/lib/gooddata/bricks/pipeline.rb +2 -14
  27. data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +18 -8
  28. data/lib/gooddata/cloud_resources/redshift/drivers/.gitkeepme +0 -0
  29. data/lib/gooddata/cloud_resources/redshift/redshift_client.rb +0 -2
  30. data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +1 -1
  31. data/lib/gooddata/lcm/actions/base_action.rb +157 -0
  32. data/lib/gooddata/lcm/actions/collect_data_product.rb +2 -1
  33. data/lib/gooddata/lcm/actions/collect_projects_warning_status.rb +53 -0
  34. data/lib/gooddata/lcm/actions/collect_segment_clients.rb +14 -0
  35. data/lib/gooddata/lcm/actions/initialize_continue_on_error_option.rb +87 -0
  36. data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +28 -2
  37. data/lib/gooddata/lcm/actions/provision_clients.rb +34 -5
  38. data/lib/gooddata/lcm/actions/synchronize_cas.rb +24 -4
  39. data/lib/gooddata/lcm/actions/synchronize_clients.rb +56 -4
  40. data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +28 -3
  41. data/lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb +48 -11
  42. data/lib/gooddata/lcm/actions/synchronize_kd_dashboard_permission.rb +103 -0
  43. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +60 -15
  44. data/lib/gooddata/lcm/actions/synchronize_ldm_layout.rb +98 -0
  45. data/lib/gooddata/lcm/actions/synchronize_pp_dashboard_permission.rb +108 -0
  46. data/lib/gooddata/lcm/actions/synchronize_schedules.rb +31 -1
  47. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +14 -9
  48. data/lib/gooddata/lcm/actions/synchronize_user_groups.rb +30 -4
  49. data/lib/gooddata/lcm/actions/synchronize_users.rb +11 -10
  50. data/lib/gooddata/lcm/actions/update_metric_formats.rb +21 -4
  51. data/lib/gooddata/lcm/exceptions/lcm_execution_warning.rb +15 -0
  52. data/lib/gooddata/lcm/helpers/check_helper.rb +19 -0
  53. data/lib/gooddata/lcm/lcm2.rb +45 -4
  54. data/lib/gooddata/lcm/user_bricks_helper.rb +9 -0
  55. data/lib/gooddata/mixins/inspector.rb +1 -1
  56. data/lib/gooddata/models/ldm_layout.rb +38 -0
  57. data/lib/gooddata/models/project.rb +197 -22
  58. data/lib/gooddata/models/project_creator.rb +83 -6
  59. data/lib/gooddata/models/segment.rb +2 -1
  60. data/lib/gooddata/models/user_filters/user_filter_builder.rb +104 -15
  61. data/lib/gooddata/rest/connection.rb +5 -3
  62. data/lib/gooddata/rest/phmap.rb +1 -0
  63. data/lib/gooddata.rb +1 -0
  64. data/lib/gooddata_brick_base.rb +35 -0
  65. data/sonar-project.properties +6 -0
  66. metadata +64 -59
  67. data/lib/gooddata/cloud_resources/redshift/drivers/log4j.properties +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b8b621c3b47d3724b047207799726a334a197640
4
- data.tar.gz: 1c9a164200c8e7fddbdc01759ae02df75e20377f
2
+ SHA256:
3
+ metadata.gz: 4cb98341236d0ebdc681cd0094f18ffbb31949777d190a6b62a7c610f7e1c7a8
4
+ data.tar.gz: 5b3e22221639760951e8ff59263fbf13403b55943c44520c0f32ed5def64eff2
5
5
  SHA512:
6
- metadata.gz: f440298c891d3aeebbf46daa33ae01baa80ab9cf110fd2d953045695f36978d1b2ddb71fd5b5dc340e2e1ac392c57c64c38f84f10f3e41bdb593106f6edec69d
7
- data.tar.gz: 6d0a38bde898a99fe2eca3c58a70fe12228661d8c58e28236b0ef81c239d6afd6a835b4571a8a86d130c9c75e21dcf14213ec8241c0b3068e6111e837f321a6d
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.gitops-deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg']
66
+ pipeline.gitops-deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg1']
@@ -11,7 +11,7 @@ jobs:
11
11
  fetch-depth: 0
12
12
  - uses: ruby/setup-ruby@v1
13
13
  with:
14
- ruby-version: jruby-9.1.17
14
+ ruby-version: jruby-9.4.1
15
15
  bundler-cache: true
16
16
  - uses: actions/setup-java@v2
17
17
  with:
@@ -24,9 +24,12 @@ jobs:
24
24
  restore-keys: ${{ runner.os }}-m2
25
25
  - name: Run gem release
26
26
  run: |
27
- echo -e "---\n:rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
28
- chmod 0600 ~/.gem/credentials
27
+ echo ${SAMPLE_KEY:0:3}
28
+ echo ${GEM_HOST_API_KEY:0:20}
29
29
  bundle exec rake gem:release
30
+ env:
31
+ SAMPLE_KEY: "a1234567"
32
+ GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
30
33
  rubygems-release:
31
34
  runs-on: ubuntu-latest
32
35
  steps:
@@ -35,32 +38,30 @@ jobs:
35
38
  fetch-depth: 0
36
39
  - uses: ruby/setup-ruby@v1
37
40
  with:
38
- ruby-version: 2.3
41
+ ruby-version: 3.2.1
39
42
  bundler-cache: true
40
43
  - name: Run gem release
41
44
  run: |
42
- echo -e "---\n:rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
43
- chmod 0600 ~/.gem/credentials
45
+ echo ${SAMPLE_KEY:0:3}
46
+ echo ${GEM_HOST_API_KEY:0:20}
44
47
  bundle exec rake gem:release
48
+ env:
49
+ SAMPLE_KEY: "a1234567"
50
+ GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
45
51
  gem-smoke-test:
46
52
  runs-on: ubuntu-latest
47
53
  needs: [jruby-gem-release, rubygems-release]
48
54
  strategy:
49
55
  matrix:
50
- ruby-version: [2.3, jruby-9.1.17]
56
+ ruby-version: [3.2.1, jruby-9.4.1]
51
57
  steps:
52
- - uses: actions/checkout@v2
58
+ - uses: actions/checkout@v3
53
59
  with:
54
60
  fetch-depth: 0
55
61
  - uses: ruby/setup-ruby@v1
56
62
  with:
57
63
  ruby-version: ${{ matrix.ruby-version }}
58
64
  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
65
  - run: |
65
66
  gem install gooddata
66
67
  ruby -e "require 'gooddata';GoodData.version"
@@ -9,9 +9,9 @@ jobs:
9
9
  runs-on: ubuntu-latest
10
10
  strategy:
11
11
  matrix:
12
- ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, jruby-9.1.17]
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
13
  steps:
14
- - uses: actions/checkout@v2
14
+ - uses: actions/checkout@v3
15
15
  with:
16
16
  fetch-depth: 0
17
17
  - uses: ruby/setup-ruby@v1
@@ -19,29 +19,29 @@ jobs:
19
19
  ruby-version: ${{ matrix.ruby-version }}
20
20
  bundler-cache: true
21
21
  - run: bundle exec rake test:unit
22
- if: ${{ matrix.ruby-version != 'jruby-9.1.17' }}
23
22
  - run: bundle exec rake test:unit
24
- if: ${{ matrix.ruby-version == 'jruby-9.1.17' }}
25
23
  continue-on-error: true
26
24
  unit-tests-OSX:
27
25
  runs-on: macos-latest
28
26
  strategy:
29
27
  matrix:
30
28
  include:
31
- - ruby-version: 2.3
32
- xcode-version: 7.3
33
- - ruby-version: 2.4.3
34
- xcode-version: 9.4
35
29
  - ruby-version: 2.5
36
30
  xcode-version: 9
37
31
  - ruby-version: 2.6
38
32
  xcode-version: 9
39
- - ruby-version: 2.7
33
+ - ruby-version: 2.7.6
40
34
  xcode-version: 9
41
- - ruby-version: jruby-9.1.17
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
42
40
  xcode-version: latest
43
41
  steps:
44
- - uses: actions/checkout@v2
42
+ - name: run prepare-env
43
+ run: brew install pkg-config
44
+ - uses: actions/checkout@v3
45
45
  - uses: ruby/setup-ruby@v1
46
46
  with:
47
47
  ruby-version: ${{ matrix.ruby-version }}
@@ -51,12 +51,12 @@ jobs:
51
51
  pronto-code-review:
52
52
  runs-on: ubuntu-latest
53
53
  steps:
54
- - uses: actions/checkout@v2
54
+ - uses: actions/checkout@v3
55
55
  with:
56
56
  fetch-depth: 0
57
57
  - uses: ruby/setup-ruby@v1
58
58
  with:
59
- ruby-version: 2.5
59
+ ruby-version: 3.2
60
60
  bundler-cache: true
61
61
  - name: run pronto-code-review
62
62
  run: |
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,5 +1,14 @@
1
1
  # GoodData Ruby SDK Changelog
2
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
+
3
12
  ## 2.2.0
4
13
  - FEATURE: MSF-23003 Supports Ruby 2.7, remove salesforce_bulk_query dependency
5
14
  - FEATURE:TMA-1737, TMA-1738 - Change to propagate dateFilterConfig and dashboardPlugin during LCM release and rollout.
data/Dockerfile CHANGED
@@ -1,15 +1,15 @@
1
- FROM harbor.intgdc.com/tools/gdc-java-8-jre-centos8:6c54afc
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-centos8:6c54afc"
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 procps \
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
 
@@ -29,9 +29,12 @@ RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - \
29
29
  # Switch to a bash login shell to allow simple 'rvm' in RUN commands
30
30
  SHELL ["/bin/bash", "-l", "-c"]
31
31
 
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
32
+ RUN rvm install jruby-${JRUBY_VERSION} && gem update --system \
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
35
38
 
36
39
  WORKDIR /src
37
40
 
@@ -77,6 +80,9 @@ RUN cp -rf ci/mysql/target/*.jar ./lib/gooddata/cloud_resources/mysql/drivers/
77
80
 
78
81
  RUN bundle install
79
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
+
80
86
  ARG GIT_COMMIT=unspecified
81
87
  ARG BRICKS_VERSION=unspecified
82
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++
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
 
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
 
data/README.md CHANGED
@@ -71,16 +71,17 @@ See our [contribution guidelines](/CONTRIBUTING.md).
71
71
 
72
72
  **Originally started by**
73
73
 
74
- Pavel Kolesnikov [ <mailto:pavel@gooddata.com> / [@koles](http://twitter.com/koles) ]
74
+ Pavel Kolesnikov [ [@koles](http://twitter.com/koles) ]
75
75
 
76
76
  **Actively developed and maintained by**
77
77
 
78
- - [Jan Zdráhal](https://github.com/panjan) [ <mailto:jan.zdrahal@gooddata.com> ]
79
- - [Jakub Mahnert](https://github.com/kubamahnert) [ <mailto:jakub.mahnert@gooddata.com> ]
80
- - [Petr Gaďorek](https://github.com/Hahihula) [ <mailto:petr.gadorek@gooddata.com> ]
78
+ GoodData Team
81
79
 
82
80
  **Contributors**
83
81
 
82
+ - [Jan Zdráhal](https://github.com/panjan)
83
+ - [Jakub Mahnert](https://github.com/kubamahnert)
84
+ - [Petr Gaďorek](https://github.com/Hahihula)
84
85
  - [Tomas Korcak](https://github.com/korczis) [ <mailto:korczis@gmail.com> / [@korczis](http://twitter.com/korczis) ]
85
86
  - [Tomas Svarovsky](https://github.com/fluke777) [ <mailto:svarovsky.tomas@gmail.com> / [@fluke777](http://twitter.com/fluke777) ]
86
87
  - [Patrick McConlogue](https://github.com/thnkr/)
data/Rakefile CHANGED
@@ -39,7 +39,7 @@ namespace :gem do
39
39
  File.delete(origin_license_file) if File.exist?(origin_license_file)
40
40
  File.delete(notices_file) if File.exist?(notices_file)
41
41
  puts "Deleted files: #{origin_license_file} and #{notices_file}"
42
- File.rename(new_license_file, origin_license_file) if File.exists?(new_license_file)
42
+ File.rename(new_license_file, origin_license_file) if File.exist?(new_license_file)
43
43
  puts "Renamed file #{new_license_file} to #{origin_license_file}"
44
44
  puts "Building #{gem} ..."
45
45
  res = `gem build ./gooddata.gemspec`
data/SDK_VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.3.0
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.7.43
1
+ 3.7.63
data/bin/run_brick.rb CHANGED
@@ -17,6 +17,11 @@ def get_brick_params(prefix)
17
17
  ENV.select { |k,| k.to_s.match(/^#{prefix}.*/) }.map { |k, v| [k.slice(prefix.length..-1), v] }.to_h
18
18
  end
19
19
 
20
+ def handle_warning(params, log, brick_type, error, summary_error)
21
+ log.error "action=#{brick_type}_execution status=warning commit_hash=#{params['GOODDATA_RUBY_COMMIT']} execution_id=#{params['GDC_EXECUTION_ID']} exception=#{error}"
22
+ GoodData::Bricks::ExecutionResultMiddleware.update_execution_result(GoodData::Bricks::ExecutionStatus::WARNING, summary_error)
23
+ end
24
+
20
25
  def handle_error(params, log, brick_type, error, error_message)
21
26
  execution_log = GoodData.logger
22
27
  execution_log.error "Execution failed. Error: #{error}" unless execution_log.nil?
@@ -60,6 +65,8 @@ begin
60
65
  brick_pipeline.call(params)
61
66
  rescue GoodData::LcmExecutionError => lcm_error
62
67
  handle_error(execution_result_log_params, log, brick_type, lcm_error, lcm_error.summary_error)
68
+ rescue GoodData::LcmExecutionWarning => lcm_warning
69
+ handle_warning(execution_result_log_params, log, brick_type, lcm_warning, lcm_warning.summary_error)
63
70
  rescue Exception => e # rubocop:disable RescueException
64
71
  handle_error(execution_result_log_params, log, brick_type, e, e.to_s)
65
72
  end
data/ci/mysql/pom.xml CHANGED
@@ -12,7 +12,12 @@
12
12
  <dependency>
13
13
  <groupId>mysql</groupId>
14
14
  <artifactId>mysql-connector-java</artifactId>
15
- <version>8.0.25</version>
15
+ <version>5.1.49</version>
16
+ </dependency>
17
+ <dependency>
18
+ <groupId>org.mongodb</groupId>
19
+ <artifactId>mongosql-auth</artifactId>
20
+ <version>1.2.0</version>
16
21
  </dependency>
17
22
  <dependency>
18
23
  <groupId>org.slf4j</groupId>
data/ci/redshift/pom.xml CHANGED
@@ -30,10 +30,9 @@
30
30
  <version>1.11.633</version>
31
31
  </dependency>
32
32
  <dependency>
33
- <groupId>log4j</groupId>
34
- <artifactId>log4j</artifactId>
35
- <version>1.2.17</version>
36
- <scope>compile</scope>
33
+ <groupId>org.slf4j</groupId>
34
+ <artifactId>slf4j-api</artifactId>
35
+ <version>1.7.2</version>
37
36
  </dependency>
38
37
  </dependencies>
39
38
 
@@ -13,6 +13,48 @@ services:
13
13
  - JRUBY_OPTS=-J-Xmx1g
14
14
  - GD_SPEC_PASSWORD
15
15
  - VCR_ON
16
+ - S3_ACCESS_KEY
17
+ - S3_SECRET_KEY
18
+ - S3_SECRET_KEY_ESCAPED
19
+ - S3_EU_ACCESS_KEY
20
+ - S3_EU_SECRET_KEY
21
+ - S3_EU_SECRET_KEY_ESCAPED
22
+ - SNOWFLAKE_PASSWORD
23
+ - SNOWFLAKE_SECRET_KEY
24
+ - REDSHIFT_PASSWORD
25
+ - REDSHIFT_ACCESS_KEY
26
+ - REDSHIFT_SECRET_KEY
27
+ - BIGQUERY_PRIVATE_KEY
28
+ - MYSQL_INTEGRATION_TEST_PASSWORD
29
+ - MYSQL_MONGOBI_INTEGRATION_TEST_PASSWORD
30
+ - MONGO_INTEGRATION_TEST_PASSWORD
31
+ - MSSQL_INTEGRATION_TEST_PASSWORD
32
+ - POSTGRESQL_INTEGRATION_TEST_PASSWORD
33
+ - BLOB_STORAGE_CONNECTION
34
+ - RT_S3_BUCKET_NAME
35
+ - RT_S3_ACCESS_KEY
36
+ - RT_S3_SECRET_KEY
37
+ - GD_DEV_DEV_TOKEN
38
+ - GD_DEV_PROD_TOKEN
39
+ - GD_DEV_VERTICA_DEV_TOKEN
40
+ - GD_DEV_VERTICA_PROD_TOKEN
41
+ - GD_DEV_PASSWORD
42
+ - GD_DEV_GD_PROJECT_TOKEN
43
+ - GD_DEV_DEFAULT_PASSWORD
44
+ - GD_TEST_DEV_TOKEN
45
+ - GD_TEST_PROD_TOKEN
46
+ - GD_TEST_VERTICA_DEV_TOKEN
47
+ - GD_TEST_VERTICA_PROD_TOKEN
48
+ - GD_TEST_PASSWORD
49
+ - GD_TEST_GD_PROJECT_TOKEN
50
+ - GD_TEST_DEFAULT_PASSWORD
51
+ - GD_STG_DEV_TOKEN
52
+ - GD_STG_PROD_TOKEN
53
+ - GD_STG_VERTICA_DEV_TOKEN
54
+ - GD_STG_VERTICA_PROD_TOKEN
55
+ - GD_STG_PASSWORD
56
+ - GD_STG_GD_PROJECT_TOKEN
57
+ - GD_STG_DEFAULT_PASSWORD
16
58
  volumes:
17
59
  - .:/src
18
60
  volumes_from:
@@ -20,7 +62,6 @@ services:
20
62
  mem_limit: 2500m
21
63
  localstack:
22
64
  image: hahihula/localstack_dockerfile
23
- container_name: testbucket.localstack
24
65
  expose:
25
66
  - "4572"
26
67
  environment:
data/docker-compose.yml CHANGED
@@ -26,6 +26,48 @@ services:
26
26
  - GD_SPEC_PASSWORD
27
27
  - GD_ENV
28
28
  - VCR_ON
29
+ - S3_ACCESS_KEY
30
+ - S3_SECRET_KEY
31
+ - S3_SECRET_KEY_ESCAPED
32
+ - S3_EU_ACCESS_KEY
33
+ - S3_EU_SECRET_KEY
34
+ - S3_EU_SECRET_KEY_ESCAPED
35
+ - SNOWFLAKE_PASSWORD
36
+ - SNOWFLAKE_SECRET_KEY
37
+ - REDSHIFT_PASSWORD
38
+ - REDSHIFT_ACCESS_KEY
39
+ - REDSHIFT_SECRET_KEY
40
+ - BIGQUERY_PRIVATE_KEY
41
+ - MYSQL_INTEGRATION_TEST_PASSWORD
42
+ - MYSQL_MONGOBI_INTEGRATION_TEST_PASSWORD
43
+ - MONGO_INTEGRATION_TEST_PASSWORD
44
+ - MSSQL_INTEGRATION_TEST_PASSWORD
45
+ - POSTGRESQL_INTEGRATION_TEST_PASSWORD
46
+ - BLOB_STORAGE_CONNECTION
47
+ - RT_S3_BUCKET_NAME
48
+ - RT_S3_ACCESS_KEY
49
+ - RT_S3_SECRET_KEY
50
+ - GD_DEV_DEV_TOKEN
51
+ - GD_DEV_PROD_TOKEN
52
+ - GD_DEV_VERTICA_DEV_TOKEN
53
+ - GD_DEV_VERTICA_PROD_TOKEN
54
+ - GD_DEV_PASSWORD
55
+ - GD_DEV_GD_PROJECT_TOKEN
56
+ - GD_DEV_DEFAULT_PASSWORD
57
+ - GD_TEST_DEV_TOKEN
58
+ - GD_TEST_PROD_TOKEN
59
+ - GD_TEST_VERTICA_DEV_TOKEN
60
+ - GD_TEST_VERTICA_PROD_TOKEN
61
+ - GD_TEST_PASSWORD
62
+ - GD_TEST_GD_PROJECT_TOKEN
63
+ - GD_TEST_DEFAULT_PASSWORD
64
+ - GD_STG_DEV_TOKEN
65
+ - GD_STG_PROD_TOKEN
66
+ - GD_STG_VERTICA_DEV_TOKEN
67
+ - GD_STG_VERTICA_PROD_TOKEN
68
+ - GD_STG_PASSWORD
69
+ - GD_STG_GD_PROJECT_TOKEN
70
+ - GD_STG_DEFAULT_PASSWORD
29
71
  volumes:
30
72
  - /etc/passwd:/etc/passwd:ro
31
73
  - .:/src