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.
- checksums.yaml +5 -5
- data/.gdc-ii-config.yaml +42 -1
- data/.github/workflows/build.yml +14 -13
- data/.github/workflows/pre-merge.yml +13 -13
- data/.pronto.yml +1 -0
- data/.rubocop.yml +2 -14
- data/CHANGELOG.md +9 -0
- data/Dockerfile +13 -7
- data/Dockerfile.jruby +5 -5
- data/Dockerfile.ruby +5 -7
- data/Gemfile +4 -2
- data/README.md +5 -4
- data/Rakefile +1 -1
- data/SDK_VERSION +1 -1
- data/VERSION +1 -1
- data/bin/run_brick.rb +7 -0
- data/ci/mysql/pom.xml +6 -1
- data/ci/redshift/pom.xml +3 -4
- data/docker-compose.lcm.yml +42 -1
- data/docker-compose.yml +42 -0
- data/gooddata.gemspec +21 -22
- data/lcm.rake +9 -0
- data/lib/gooddata/bricks/base_pipeline.rb +26 -0
- data/lib/gooddata/bricks/brick.rb +0 -1
- data/lib/gooddata/bricks/middleware/execution_result_middleware.rb +3 -3
- data/lib/gooddata/bricks/pipeline.rb +2 -14
- data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +18 -8
- data/lib/gooddata/cloud_resources/redshift/drivers/.gitkeepme +0 -0
- data/lib/gooddata/cloud_resources/redshift/redshift_client.rb +0 -2
- data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +1 -1
- data/lib/gooddata/lcm/actions/base_action.rb +157 -0
- data/lib/gooddata/lcm/actions/collect_data_product.rb +2 -1
- data/lib/gooddata/lcm/actions/collect_projects_warning_status.rb +53 -0
- data/lib/gooddata/lcm/actions/collect_segment_clients.rb +14 -0
- data/lib/gooddata/lcm/actions/initialize_continue_on_error_option.rb +87 -0
- data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +28 -2
- data/lib/gooddata/lcm/actions/provision_clients.rb +34 -5
- data/lib/gooddata/lcm/actions/synchronize_cas.rb +24 -4
- data/lib/gooddata/lcm/actions/synchronize_clients.rb +56 -4
- data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +28 -3
- data/lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb +48 -11
- data/lib/gooddata/lcm/actions/synchronize_kd_dashboard_permission.rb +103 -0
- data/lib/gooddata/lcm/actions/synchronize_ldm.rb +60 -15
- data/lib/gooddata/lcm/actions/synchronize_ldm_layout.rb +98 -0
- data/lib/gooddata/lcm/actions/synchronize_pp_dashboard_permission.rb +108 -0
- data/lib/gooddata/lcm/actions/synchronize_schedules.rb +31 -1
- data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +14 -9
- data/lib/gooddata/lcm/actions/synchronize_user_groups.rb +30 -4
- data/lib/gooddata/lcm/actions/synchronize_users.rb +11 -10
- data/lib/gooddata/lcm/actions/update_metric_formats.rb +21 -4
- data/lib/gooddata/lcm/exceptions/lcm_execution_warning.rb +15 -0
- data/lib/gooddata/lcm/helpers/check_helper.rb +19 -0
- data/lib/gooddata/lcm/lcm2.rb +45 -4
- data/lib/gooddata/lcm/user_bricks_helper.rb +9 -0
- data/lib/gooddata/mixins/inspector.rb +1 -1
- data/lib/gooddata/models/ldm_layout.rb +38 -0
- data/lib/gooddata/models/project.rb +197 -22
- data/lib/gooddata/models/project_creator.rb +83 -6
- data/lib/gooddata/models/segment.rb +2 -1
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +104 -15
- data/lib/gooddata/rest/connection.rb +5 -3
- data/lib/gooddata/rest/phmap.rb +1 -0
- data/lib/gooddata.rb +1 -0
- data/lib/gooddata_brick_base.rb +35 -0
- data/sonar-project.properties +6 -0
- metadata +64 -59
- data/lib/gooddata/cloud_resources/redshift/drivers/log4j.properties +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4cb98341236d0ebdc681cd0094f18ffbb31949777d190a6b62a7c610f7e1c7a8
|
4
|
+
data.tar.gz: 5b3e22221639760951e8ff59263fbf13403b55943c44520c0f32ed5def64eff2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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', '
|
66
|
+
pipeline.gitops-deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg1']
|
data/.github/workflows/build.yml
CHANGED
@@ -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
|
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
|
28
|
-
|
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.
|
41
|
+
ruby-version: 3.2.1
|
39
42
|
bundler-cache: true
|
40
43
|
- name: Run gem release
|
41
44
|
run: |
|
42
|
-
echo
|
43
|
-
|
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.
|
56
|
+
ruby-version: [3.2.1, jruby-9.4.1]
|
51
57
|
steps:
|
52
|
-
- uses: actions/checkout@
|
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.
|
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@
|
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:
|
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
|
-
-
|
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@
|
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
|
59
|
+
ruby-version: 3.2
|
60
60
|
bundler-cache: true
|
61
61
|
- name: run pronto-code-review
|
62
62
|
run: |
|
data/.pronto.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -11,7 +11,7 @@ ClassLength:
|
|
11
11
|
Enabled: false
|
12
12
|
|
13
13
|
Metrics/BlockLength:
|
14
|
-
Max:
|
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
|
-
|
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
|
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.
|
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="
|
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
|
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
|
33
|
-
&& gem install bundler -v
|
34
|
-
&& gem install rake -v
|
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
|
1
|
+
FROM jruby:9.4.1.0
|
2
2
|
|
3
3
|
MAINTAINER Tomas Korcak <korczis@gmail.com>
|
4
4
|
|
5
|
-
RUN
|
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
|
13
|
-
&& gem install --install-dir $BUNDLE_PATH bundler -v
|
14
|
-
&& gem install --install-dir $BUNDLE_PATH rake -v
|
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.
|
1
|
+
FROM ruby:3.2.1
|
2
2
|
|
3
3
|
MAINTAINER Tomas Korcak <korczis@gmail.com>
|
4
4
|
|
5
|
-
RUN
|
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
|
15
|
-
&& gem install --install-dir $BUNDLE_PATH bundler -v
|
16
|
-
&& gem install --install-dir $BUNDLE_PATH rake -v
|
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/
|
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 [
|
74
|
+
Pavel Kolesnikov [ [@koles](http://twitter.com/koles) ]
|
75
75
|
|
76
76
|
**Actively developed and maintained by**
|
77
77
|
|
78
|
-
|
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.
|
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.
|
1
|
+
2.3.0
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.7.
|
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>
|
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>
|
34
|
-
<artifactId>
|
35
|
-
<version>1.2
|
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
|
|
data/docker-compose.lcm.yml
CHANGED
@@ -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
|