gooddata 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
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