gooddata 2.1.19 → 2.2.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 (47) hide show
  1. checksums.yaml +5 -5
  2. data/.gdc-ii-config.yaml +1 -1
  3. data/.github/workflows/build.yml +66 -0
  4. data/.github/workflows/pre-merge.yml +72 -0
  5. data/CHANGELOG.md +38 -0
  6. data/Dockerfile +21 -14
  7. data/Dockerfile.jruby +1 -11
  8. data/LICENSE +4409 -16
  9. data/README.md +1 -2
  10. data/SDK_VERSION +1 -1
  11. data/VERSION +1 -1
  12. data/ci/mssql/pom.xml +62 -0
  13. data/ci/mysql/pom.xml +57 -0
  14. data/ci/redshift/pom.xml +1 -1
  15. data/docker-compose.lcm.yml +0 -3
  16. data/gooddata.gemspec +2 -1
  17. data/k8s/charts/lcm-bricks/Chart.yaml +1 -1
  18. data/lcm.rake +2 -8
  19. data/lib/gooddata/bricks/middleware/aws_middleware.rb +35 -9
  20. data/lib/gooddata/cloud_resources/blobstorage/blobstorage_client.rb +98 -0
  21. data/lib/gooddata/cloud_resources/mssql/drivers/.gitkeepme +0 -0
  22. data/lib/gooddata/cloud_resources/mssql/mssql_client.rb +122 -0
  23. data/lib/gooddata/cloud_resources/mysql/drivers/.gitkeepme +0 -0
  24. data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +111 -0
  25. data/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb +0 -1
  26. data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +18 -1
  27. data/lib/gooddata/helpers/data_helper.rb +9 -4
  28. data/lib/gooddata/lcm/actions/collect_meta.rb +3 -1
  29. data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +3 -2
  30. data/lib/gooddata/lcm/actions/synchronize_clients.rb +56 -7
  31. data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +64 -0
  32. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +19 -8
  33. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +12 -9
  34. data/lib/gooddata/lcm/actions/update_metric_formats.rb +185 -0
  35. data/lib/gooddata/lcm/data/delete_from_lcm_release.sql.erb +5 -0
  36. data/lib/gooddata/lcm/helpers/release_table_helper.rb +42 -8
  37. data/lib/gooddata/lcm/lcm2.rb +5 -0
  38. data/lib/gooddata/mixins/md_object_query.rb +1 -0
  39. data/lib/gooddata/models/data_source.rb +5 -1
  40. data/lib/gooddata/models/dataset_mapping.rb +36 -0
  41. data/lib/gooddata/models/metadata/label.rb +26 -27
  42. data/lib/gooddata/models/project.rb +34 -9
  43. data/lib/gooddata/models/schedule.rb +13 -1
  44. data/lib/gooddata/models/user_filters/user_filter_builder.rb +58 -53
  45. data/lib/gooddata/rest/phmap.rb +1 -0
  46. metadata +45 -18
  47. data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +0 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: f00b6b202dc2bcd6af02eda57b326c0ccf222a57683dcf12bacf6b318a212ec7
4
- data.tar.gz: a2f73ed25aa53295e06648efaf0961c5eed43fc3f9defae3b5e640a167c948a2
2
+ SHA1:
3
+ metadata.gz: b8b621c3b47d3724b047207799726a334a197640
4
+ data.tar.gz: 1c9a164200c8e7fddbdc01759ae02df75e20377f
5
5
  SHA512:
6
- metadata.gz: ac6f6fd25919099b44ecaa302d81dab084de7540b158e35e02bb05b970eb8bba466a77d0eba3403dca66160f8e4c9c2b02603af9a8249afe7a4ebad295f22774
7
- data.tar.gz: c075fe2ed8d29d0612f6fc01687c1d0cedc690df830642ebdac369026f7fc3158a07fcfbadd8c079a3574e222713b0cbce60a7b6b189ac3f6b4ba950b877e7b0
6
+ metadata.gz: f440298c891d3aeebbf46daa33ae01baa80ab9cf110fd2d953045695f36978d1b2ddb71fd5b5dc340e2e1ac392c57c64c38f84f10f3e41bdb593106f6edec69d
7
+ data.tar.gz: 6d0a38bde898a99fe2eca3c58a70fe12228661d8c58e28236b0ef81c239d6afd6a835b4571a8a86d130c9c75e21dcf14213ec8241c0b3068e6111e837f321a6d
data/.gdc-ii-config.yaml CHANGED
@@ -22,4 +22,4 @@ configFilesForUpdate:
22
22
  - '.gdc-ii-config-chart.yaml'
23
23
 
24
24
  customConstants:
25
- pipeline.deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg']
25
+ pipeline.gitops-deploy.testEnvironments: ['stg9', 'stg3', 'stg2', 'stg']
@@ -0,0 +1,66 @@
1
+ name: build
2
+ on:
3
+ push:
4
+ branches: [master]
5
+ jobs:
6
+ jruby-gem-release:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v2
10
+ with:
11
+ fetch-depth: 0
12
+ - uses: ruby/setup-ruby@v1
13
+ with:
14
+ ruby-version: jruby-9.1.17
15
+ bundler-cache: true
16
+ - uses: actions/setup-java@v2
17
+ with:
18
+ java-version: '8'
19
+ distribution: 'adopt'
20
+ - uses: actions/cache@v2
21
+ with:
22
+ path: ~/.m2
23
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
24
+ restore-keys: ${{ runner.os }}-m2
25
+ - name: Run gem release
26
+ run: |
27
+ echo -e "---\n:rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
28
+ chmod 0600 ~/.gem/credentials
29
+ bundle exec rake gem:release
30
+ rubygems-release:
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - uses: actions/checkout@v2
34
+ with:
35
+ fetch-depth: 0
36
+ - uses: ruby/setup-ruby@v1
37
+ with:
38
+ ruby-version: 2.3
39
+ bundler-cache: true
40
+ - name: Run gem release
41
+ run: |
42
+ echo -e "---\n:rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
43
+ chmod 0600 ~/.gem/credentials
44
+ bundle exec rake gem:release
45
+ gem-smoke-test:
46
+ runs-on: ubuntu-latest
47
+ needs: [jruby-gem-release, rubygems-release]
48
+ strategy:
49
+ matrix:
50
+ ruby-version: [2.3, jruby-9.1.17]
51
+ steps:
52
+ - uses: actions/checkout@v2
53
+ with:
54
+ fetch-depth: 0
55
+ - uses: ruby/setup-ruby@v1
56
+ with:
57
+ ruby-version: ${{ matrix.ruby-version }}
58
+ 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
+ - run: |
65
+ gem install gooddata
66
+ ruby -e "require 'gooddata';GoodData.version"
@@ -0,0 +1,72 @@
1
+ name: pre-merge
2
+ on:
3
+ pull_request:
4
+ branches:
5
+ - develop
6
+ - master
7
+ jobs:
8
+ unit-tests:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, jruby-9.1.17]
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ with:
16
+ fetch-depth: 0
17
+ - uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby-version }}
20
+ bundler-cache: true
21
+ - run: bundle exec rake test:unit
22
+ if: ${{ matrix.ruby-version != 'jruby-9.1.17' }}
23
+ - run: bundle exec rake test:unit
24
+ if: ${{ matrix.ruby-version == 'jruby-9.1.17' }}
25
+ continue-on-error: true
26
+ unit-tests-OSX:
27
+ runs-on: macos-latest
28
+ strategy:
29
+ matrix:
30
+ include:
31
+ - ruby-version: 2.3
32
+ xcode-version: 7.3
33
+ - ruby-version: 2.4.3
34
+ xcode-version: 9.4
35
+ - ruby-version: 2.5
36
+ xcode-version: 9
37
+ - ruby-version: 2.6
38
+ xcode-version: 9
39
+ - ruby-version: 2.7
40
+ xcode-version: 9
41
+ - ruby-version: jruby-9.1.17
42
+ xcode-version: latest
43
+ steps:
44
+ - uses: actions/checkout@v2
45
+ - uses: ruby/setup-ruby@v1
46
+ with:
47
+ ruby-version: ${{ matrix.ruby-version }}
48
+ bundler-cache: true
49
+ - name: run tests
50
+ run: bundle exec rake test:unit
51
+ pronto-code-review:
52
+ runs-on: ubuntu-latest
53
+ steps:
54
+ - uses: actions/checkout@v2
55
+ with:
56
+ fetch-depth: 0
57
+ - uses: ruby/setup-ruby@v1
58
+ with:
59
+ ruby-version: 2.5
60
+ bundler-cache: true
61
+ - name: run pronto-code-review
62
+ run: |
63
+ set -x
64
+ git remote add upstream https://github.com/gooddata/gooddata-ruby.git
65
+ git fetch upstream $GITHUB_BASE_REF
66
+ failed=0
67
+ PRONTO_FLAY_MASS_THRESHOLD=50 bundle exec pronto run -c upstream/$GITHUB_BASE_REF --exit-code lib || failed=1
68
+ PRONTO_FLAY_MASS_THRESHOLD=100 bundle exec pronto run -c upstream/$GITHUB_BASE_REF --exit-code spec || failed=1
69
+ if [ "$failed" -ne 0 ] ; then
70
+ exit 1
71
+ fi
72
+ shell: bash
data/CHANGELOG.md CHANGED
@@ -1,4 +1,42 @@
1
1
  # GoodData Ruby SDK Changelog
2
+
3
+ ## 2.2.0
4
+ - FEATURE: MSF-23003 Supports Ruby 2.7, remove salesforce_bulk_query dependency
5
+ - FEATURE:TMA-1737, TMA-1738 - Change to propagate dateFilterConfig and dashboardPlugin during LCM release and rollout.
6
+ - MSF-22739: Bump lcm-bricks chart version
7
+ - FEATURE: MSF-22133 bump LCM version to 3.7.42
8
+ - FEATURE: MSF-22578 Add Gooddata platform parameter for snowflake url
9
+ - FEATURE: MSF-22129 add support mysql input source
10
+ - BUGFIX: MSF-22215 Add more log to MigrateGdcDateDimension action of Rollout brick
11
+ - MSF-22480: Update MSF ruby docker images to Centos 8
12
+ - BUGFIX: MSF-22414 Should not fail rollout if any errors related to delete old master workspaces
13
+ - BUGFIX: MSF-22164 Diff against clients is done when there are no LDM changes
14
+ - BUGFIX:MSF-22296 - Fix frozen object when release with datasource in dev ws.
15
+ - FEATURE: MSF-22170 Update integration test for NFS when delete old master project
16
+ - BUGFIX:MSF-22175 - Revert to use Enumerator on MD object
17
+ - BUGFIX:MSF-22175 - Change to not use Enumerator
18
+ - FEATURE: MSF-22016 add support trigger execution status
19
+ - MSF-22170: Add integration test to rollout brick for delete old master workspace
20
+ - BUGFIX:MSF-22175 - bump LCM version to 3.7.33
21
+ - BUGFIX:MSF-22175 - Ignore empty log in table SynchronizeUserFilters
22
+ - BUGFIX:MSF-22140 - Fix error when user using numeric client_id
23
+ - MSF-21292: Add capability to remove old master workspaces to LCM brick
24
+ - FEATURE:TMA-1610 - Change redshift repos to nexus
25
+ - FEATURE:TMA-1610 - Update metric for client localization
26
+ - FEATURE: MSF-21860 bump LCM version 3.7.30
27
+ - BUGFIX: MSF-21805 Fix loop forever when sync schedules
28
+ - REQUEST: MSF-21521 - implement integration test for MSSQL Datasource
29
+ - BUGFIX: MSF-21477 Don’t use delete_suffix which not available for ruby 2.3
30
+ - BUGFIX:MSF-21702 - Fix for empty date-dimension and bump LCM version to 3.7.29
31
+ - FEATURE:MSF-21056 - Sync Dataset Mapping to Release, rollout, provisioning bricks
32
+ - FEATURE: MSF-21165 - implement mssql data source
33
+ - BUGFIX: MSF-21241 Poll validElements until task finished
34
+ - SETI-5977: Migrate Travis-CI to Github Actions - Merge gem-release and gem-smoke-test into build pipeline - Skip intergration tests from pre-merge pipeline
35
+ - MSF-20263: bump VERSION 3.7.27
36
+ - FEATURE: MSF-20653 Support Blob Storage input source
37
+ - Automated base image update (BUILD pipeline from gdc-docker-images, fcb7257)
38
+ - MSF-20737: Update another SSO provider instead of deprecated saleforce.com
39
+
2
40
  ## 2.1.19
3
41
  - BUGFIX: MSF-20827 Fix gem-smoke-test failed when release ruby SDK
4
42
  - BUGFIX: MSF-20826 Failure update license file when release ruby SDK
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM harbor.intgdc.com/tools/gdc-java-8-jre:89999e9
1
+ FROM harbor.intgdc.com/tools/gdc-java-8-jre-centos8:6c54afc
2
2
 
3
3
  ARG RVM_VERSION=stable
4
4
  ARG JRUBY_VERSION=9.2.5.0
@@ -6,23 +6,21 @@ ARG JRUBY_VERSION=9.2.5.0
6
6
  LABEL image_name="GDC LCM Bricks"
7
7
  LABEL maintainer="LCM <lcm@gooddata.com>"
8
8
  LABEL git_repository_url="https://github.com/gooddata/gooddata-ruby/"
9
- LABEL parent_image="harbor.intgdc.com/tools/gdc-java-8-jre:89999e9"
9
+ LABEL parent_image="harbor.intgdc.com/tools/gdc-java-8-jre-centos8:6c54afc"
10
10
 
11
11
  # which is required by RVM
12
- RUN yum install -y curl which patch make git maven \
12
+ RUN yum install -y curl which patch make git maven procps \
13
13
  && yum clean all \
14
14
  && rm -rf /var/cache/yum
15
15
 
16
16
  # Install + verify RVM with gpg (https://rvm.io/rvm/security)
17
- RUN gpg2 --quiet --no-tty --logger-fd 1 --keyserver hkp://ipv4.pool.sks-keyservers.net \
18
- --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
19
- 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
20
- && echo 409B6B1796C275462A1703113804BB82D39DC0E3:6: | \
21
- gpg2 --quiet --no-tty --logger-fd 1 --import-ownertrust \
22
- && curl -sSO https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer \
23
- && curl -sSO https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer.asc \
24
- && gpg2 --quiet --no-tty --logger-fd 1 --verify rvm-installer.asc \
25
- && bash rvm-installer ${RVM_VERSION} \
17
+ RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - \
18
+ && curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import - \
19
+ && curl -sSL https://get.rvm.io | bash -s ${RVM_VERSION} \
20
+ && curl -sSL https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer -o rvm-installer \
21
+ && curl -sSL https://raw.githubusercontent.com/rvm/rvm/${RVM_VERSION}/binscripts/rvm-installer.asc -o rvm-installer.asc \
22
+ && gpg2 --verify rvm-installer.asc rvm-installer \
23
+ && bash rvm-installer \
26
24
  && rm rvm-installer rvm-installer.asc \
27
25
  && echo "bundler" >> /usr/local/rvm/gemsets/global.gems \
28
26
  && echo "rvm_silence_path_mismatch_check_flag=1" >> /etc/rvmrc \
@@ -31,8 +29,9 @@ RUN gpg2 --quiet --no-tty --logger-fd 1 --keyserver hkp://ipv4.pool.sks-keyserve
31
29
  # Switch to a bash login shell to allow simple 'rvm' in RUN commands
32
30
  SHELL ["/bin/bash", "-l", "-c"]
33
31
 
34
- RUN rvm install jruby-${JRUBY_VERSION} && gem update --system \
35
- && gem install bundler rake
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
36
35
 
37
36
  WORKDIR /src
38
37
 
@@ -68,6 +67,14 @@ RUN cp -rf ci/bigquery/target/*.jar ./lib/gooddata/cloud_resources/bigquery/driv
68
67
  RUN mvn -f ci/postgresql/pom.xml clean install -P binary-packaging
69
68
  RUN cp -rf ci/postgresql/target/*.jar ./lib/gooddata/cloud_resources/postgresql/drivers/
70
69
 
70
+ #build mssql dependencies
71
+ RUN mvn -f ci/mssql/pom.xml clean install -P binary-packaging
72
+ RUN cp -rf ci/mssql/target/*.jar ./lib/gooddata/cloud_resources/mssql/drivers/
73
+
74
+ #build mysql dependencies
75
+ RUN mvn -f ci/mysql/pom.xml clean install -P binary-packaging
76
+ RUN cp -rf ci/mysql/target/*.jar ./lib/gooddata/cloud_resources/mysql/drivers/
77
+
71
78
  RUN bundle install
72
79
 
73
80
  ARG GIT_COMMIT=unspecified
data/Dockerfile.jruby CHANGED
@@ -2,7 +2,7 @@ FROM jruby:9.1-alpine
2
2
 
3
3
  MAINTAINER Tomas Korcak <korczis@gmail.com>
4
4
 
5
- RUN apk add --no-cache curl make gcc git g++ python linux-headers binutils-gold gnupg libstdc++ postgresql postgresql-client openssl
5
+ RUN apk add --no-cache curl make gcc git g++ python linux-headers binutils-gold gnupg libstdc++
6
6
 
7
7
  # Switch to directory with sources
8
8
  WORKDIR /src
@@ -20,13 +20,3 @@ ADD . .
20
20
  RUN keytool -importcert -alias gooddata-2008 -file "./data/2008.crt" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
21
21
  RUN keytool -importcert -alias gooddata-int -file "./data/new_ca.cer" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
22
22
  RUN keytool -importcert -alias gooddata-prod -file "data/new_prodgdc_ca.crt" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
23
-
24
- ENV LANG en_US.utf8
25
- RUN adduser -D -g '' gooddata
26
- RUN rm -rf $HOME/spec/postgresql
27
- RUN mkdir $HOME/spec/postgresql
28
- RUN chmod -R 0750 $HOME/spec/postgresql
29
- RUN chown gooddata $HOME/spec/postgresql
30
- RUN mkdir /run/postgresql; chmod 1777 -R /run;
31
- RUN mkdir $HOME/pre-exec.d; mkdir $HOME/pre-init.d; chmod -R 1755 $HOME/pre-exec.d; chmod -R 1755 $HOME/pre-exec.d
32
- USER gooddata