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