gooddata 2.3.1 → 2.3.3

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/.gdc-ii-config.yaml +1 -1
  3. data/.github/workflows/build.yml +10 -16
  4. data/.github/workflows/check-extended.yaml +245 -0
  5. data/.github/workflows/check.yaml +190 -0
  6. data/.github/workflows/gate.yaml +200 -0
  7. data/.github/workflows/pre-merge.yml +23 -54
  8. data/.travis.yml +0 -35
  9. data/CHANGELOG.md +6 -0
  10. data/Dockerfile +4 -10
  11. data/Dockerfile.jruby +14 -2
  12. data/DockerfileOldImage +88 -0
  13. data/SDK_VERSION +1 -1
  14. data/VERSION +1 -1
  15. data/bin/provision.sh +1 -1
  16. data/bin/release.sh +1 -1
  17. data/bin/rollout.sh +1 -1
  18. data/bin/user_filters.sh +1 -1
  19. data/bin/users.sh +1 -1
  20. data/ci/bigquery/pom.xml +1 -1
  21. data/ci/postgresql/pom.xml +1 -1
  22. data/ci/snowflake/pom.xml +11 -1
  23. data/gooddata.gemspec +27 -11
  24. data/lib/gooddata/cloud_resources/mssql/mssql_client.rb +2 -1
  25. data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +2 -1
  26. data/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb +2 -1
  27. data/lib/gooddata/cloud_resources/redshift/redshift_client.rb +2 -1
  28. data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +58 -3
  29. data/lib/gooddata/helpers/global_helpers.rb +1 -1
  30. data/lib/gooddata/lcm/actions/import_object_collections.rb +23 -2
  31. data/lib/gooddata/lcm/actions/synchronize_clients.rb +31 -3
  32. data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +6 -2
  33. data/lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb +3 -3
  34. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +5 -1
  35. data/lib/gooddata/lcm/lcm2.rb +4 -0
  36. data/lib/gooddata/models/domain.rb +16 -4
  37. data/lib/gooddata/models/metadata/label.rb +21 -4
  38. data/lib/gooddata/models/model.rb +1 -1
  39. data/lib/gooddata/models/project.rb +17 -2
  40. data/lib/gooddata/models/segment.rb +3 -2
  41. data/lib/gooddata/models/user_filters/user_filter_builder.rb +4 -3
  42. data/lib/gooddata/rest/client.rb +6 -1
  43. data/lib/gooddata/rest/connection.rb +20 -5
  44. metadata +126 -88
@@ -0,0 +1,200 @@
1
+ name: gate
2
+ on:
3
+ merge_group:
4
+ types:
5
+ - checks_requested
6
+ jobs:
7
+ prepare-env:
8
+ runs-on:
9
+ group: infra1-runners-arc
10
+ labels: runners-small
11
+ outputs:
12
+ branch: ${{ steps.branch.outputs.branch }}
13
+ ref: ${{ github.event.merge_group.head_ref }}
14
+ commit: ${{ github.event.merge_group.head_sha }}
15
+ pr_number: ${{ steps.pr-number.outputs.pr_number }}
16
+ project: ${{ github.repository }}
17
+ changed_files: ${{ steps.changed-files.outputs.all_changed_files }}
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - name: Get changed files
21
+ id: changed-files
22
+ uses: tj-actions/changed-files@v45
23
+ - name: Branch name
24
+ id: branch
25
+ run: |-
26
+ branch=$(echo "${{ github.event.merge_group.base_ref }}" | sed 's/^refs\/heads\///')
27
+ echo "branch=$branch" >> "$GITHUB_OUTPUT"
28
+
29
+ - name: PR number
30
+ id: pr-number
31
+ run: |-
32
+ pr_num=$(echo "${{ github.ref }}" | sed -n 's/.*pr-\([0-9]*\).*/\1/p')
33
+ echo "pr_number=$pr_num" >> "$GITHUB_OUTPUT"
34
+
35
+ gooddata-ruby-fossa-licenses-validate-LR-ticket-zuul:
36
+ runs-on:
37
+ group: infra1-runners-arc
38
+ labels: runners-small
39
+ needs:
40
+ - prepare-env
41
+ permissions:
42
+ contents: read
43
+ id-token: write
44
+ steps:
45
+ - name: Check if any matching file changed
46
+ id: changed-files
47
+ run: |
48
+ any_changed=false
49
+ patterns=('^NOTICE(S)?(.TXT)?$' '^LICENSE(S)?(.TXT)?$')
50
+ for file in ${{ needs.prepare-env.outputs.changed_files }}; do
51
+ for pattern in "${patterns[@]}"; do
52
+ if [[ $file =~ $pattern ]]; then
53
+ any_changed=true
54
+ fi
55
+ done
56
+ done
57
+ echo "any_changed=$any_changed" >> "$GITHUB_OUTPUT"
58
+ - name: Check if branch matches
59
+ id: branch-matches
60
+ run: |-
61
+ branch=${{ needs.prepare-env.outputs.branch }}
62
+ branch_matches=$([[ $branch =~ ^master$ ]] && echo true || echo false)
63
+ echo "branch_matches=$branch_matches" >> "$GITHUB_OUTPUT"
64
+ - name: Call Jenkins trigger
65
+ id: call-jenkins
66
+ uses: gooddata/github-actions-public/jenkins/trigger@master
67
+ with:
68
+ server: ${{ secrets.JENKINS_ADDRESS }}
69
+ folder: compliance
70
+ job-name: gooddata-ruby-fossa-licenses-validate-LR-ticket-zuul
71
+ vault-url: ${{ secrets.VAULT_ADDRESS }}
72
+ params: |-
73
+ {
74
+ "GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
75
+ "GH_REF": "${{ needs.prepare-env.outputs.ref }}",
76
+ "GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
77
+ "GH_URL": "git@github.com:",
78
+ "GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
79
+ "GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
80
+ "BUILD_BY_GITHUB": "true",
81
+ "GH_PIPELINE": "gate"
82
+ }
83
+ comment-pr: 'true'
84
+ if: steps.changed-files.outputs.any_changed == 'true' && steps.branch-matches.outputs.branch_matches == 'true'
85
+ gooddata-ruby-lcm-promote-pipeline:
86
+ runs-on:
87
+ group: infra1-runners-arc
88
+ labels: runners-small
89
+ needs:
90
+ - gooddata-ruby-fossa-licenses-validate-LR-ticket-zuul
91
+ - prepare-env
92
+ permissions:
93
+ contents: read
94
+ id-token: write
95
+ steps:
96
+ - name: Check if any matching file changed
97
+ id: changed-files
98
+ run: |
99
+ any_changed=false
100
+ patterns=('^VERSION$')
101
+ for file in ${{ needs.prepare-env.outputs.changed_files }}; do
102
+ for pattern in "${patterns[@]}"; do
103
+ if [[ $file =~ $pattern ]]; then
104
+ any_changed=true
105
+ fi
106
+ done
107
+ done
108
+ echo "any_changed=$any_changed" >> "$GITHUB_OUTPUT"
109
+ - name: Check if all changed files match patterns
110
+ id: all-match
111
+ run: |-
112
+ any_didnt_match=false
113
+ patterns=('^k8s/.*$' '^.gdc-ii-config-chart.yaml$' '^Jenkinsfile-chart$')
114
+ for file in ${{ needs.prepare-env.outputs.changed_files }}; do
115
+ matched=false
116
+ for pattern in "${patterns[@]}"; do
117
+ if [[ $file =~ $pattern ]]; then
118
+ matched=true
119
+ fi
120
+ done
121
+ if [[ $matched == false ]]; then
122
+ any_didnt_match=true
123
+ fi
124
+ done
125
+ echo "any_didnt_match=$any_didnt_match" >> "$GITHUB_OUTPUT"
126
+
127
+ - name: Check if branch matches
128
+ id: branch-matches
129
+ run: |-
130
+ branch=${{ needs.prepare-env.outputs.branch }}
131
+ branch_matches=$([[ $branch =~ ^master$ ]] && echo true || echo false)
132
+ echo "branch_matches=$branch_matches" >> "$GITHUB_OUTPUT"
133
+ - name: Call Jenkins trigger
134
+ id: call-jenkins
135
+ uses: gooddata/github-actions-public/jenkins/trigger@master
136
+ with:
137
+ server: ${{ secrets.JENKINS_II_ADDRESS }}
138
+ folder: gooddata-ruby
139
+ job-name: gooddata-ruby-lcm-promote-pipeline
140
+ vault-url: ${{ secrets.VAULT_ADDRESS }}
141
+ params: |-
142
+ {
143
+ "GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
144
+ "GH_REF": "${{ needs.prepare-env.outputs.ref }}",
145
+ "GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
146
+ "GH_URL": "git@github.com:",
147
+ "GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
148
+ "GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
149
+ "BUILD_BY_GITHUB": "true",
150
+ "GH_PIPELINE": "gate"
151
+ }
152
+ comment-pr: 'true'
153
+ if: steps.changed-files.outputs.any_changed == 'true' && steps.all-match.outputs.any_didnt_match == 'true' && steps.branch-matches.outputs.branch_matches == 'true'
154
+ gooddata-ruby-gitops-deploy-pipeline:
155
+ runs-on:
156
+ group: infra1-runners-arc
157
+ labels: runners-small
158
+ needs:
159
+ - gooddata-ruby-lcm-promote-pipeline
160
+ - prepare-env
161
+ permissions:
162
+ contents: read
163
+ id-token: write
164
+ steps:
165
+ - name: Call Jenkins trigger
166
+ id: call-jenkins
167
+ uses: gooddata/github-actions-public/jenkins/trigger@master
168
+ with:
169
+ server: ${{ secrets.JENKINS_II_ADDRESS }}
170
+ folder: gooddata-ruby
171
+ job-name: gooddata-ruby-gitops-deploy-pipeline
172
+ vault-url: ${{ secrets.VAULT_ADDRESS }}
173
+ params: |-
174
+ {
175
+ "GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
176
+ "GH_REF": "${{ needs.prepare-env.outputs.ref }}",
177
+ "GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
178
+ "GH_URL": "git@github.com:",
179
+ "GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
180
+ "GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
181
+ "BUILD_BY_GITHUB": "true",
182
+ "GH_PIPELINE": "gate"
183
+ }
184
+ comment-pr: 'true'
185
+ ready-to-merge:
186
+ runs-on:
187
+ group: infra1-runners-arc
188
+ labels: runners-small
189
+ if: always()
190
+ needs:
191
+ - prepare-env
192
+ - gooddata-ruby-fossa-licenses-validate-LR-ticket-zuul
193
+ - gooddata-ruby-lcm-promote-pipeline
194
+ - gooddata-ruby-gitops-deploy-pipeline
195
+ steps:
196
+ - name: Check if needed jobs succeeded
197
+ uses: re-actors/alls-green@release/v1
198
+ with:
199
+ allowed-skips: ${{ toJSON(needs) }}
200
+ jobs: ${{ toJSON(needs) }}
@@ -6,14 +6,12 @@ on:
6
6
  - master
7
7
  jobs:
8
8
  unit-tests:
9
- runs-on: ubuntu-latest
9
+ runs-on: ubuntu-22.04
10
10
  strategy:
11
11
  matrix:
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]
12
+ ruby-version: [2.5, 2.6, 2.7.6, 3.2.1, jruby-9.2.21, jruby-9.3.14, jruby-9.4.12.1]
13
13
  steps:
14
- - uses: actions/checkout@v3
15
- with:
16
- fetch-depth: 0
14
+ - uses: actions/checkout@v4
17
15
  - uses: ruby/setup-ruby@v1
18
16
  with:
19
17
  ruby-version: ${{ matrix.ruby-version }}
@@ -21,52 +19,23 @@ jobs:
21
19
  - run: bundle exec rake test:unit
22
20
  - run: bundle exec rake test:unit
23
21
  continue-on-error: true
24
- unit-tests-OSX:
25
- runs-on: macos-latest
26
- strategy:
27
- matrix:
28
- include:
29
- - ruby-version: 2.5
30
- xcode-version: 9
31
- - ruby-version: 2.6
32
- xcode-version: 9
33
- - ruby-version: 2.7.6
34
- xcode-version: 9
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
40
- xcode-version: latest
41
- steps:
42
- - name: run prepare-env
43
- run: brew install pkg-config
44
- - uses: actions/checkout@v3
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@v3
55
- with:
56
- fetch-depth: 0
57
- - uses: ruby/setup-ruby@v1
58
- with:
59
- ruby-version: 3.2
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
22
+ # pronto-code-review:
23
+ # runs-on: ubuntu-latest
24
+ # steps:
25
+ # - uses: actions/checkout@v4
26
+ # - uses: ruby/setup-ruby@v1
27
+ # with:
28
+ # ruby-version: 3.2
29
+ # bundler-cache: true
30
+ # - name: run pronto-code-review
31
+ # run: |
32
+ # set -x
33
+ # git remote add upstream https://github.com/gooddata/gooddata-ruby.git
34
+ # git fetch upstream $GITHUB_BASE_REF
35
+ # failed=0
36
+ # PRONTO_FLAY_MASS_THRESHOLD=50 bundle exec pronto run -c upstream/$GITHUB_BASE_REF --exit-code lib || failed=1
37
+ # PRONTO_FLAY_MASS_THRESHOLD=100 bundle exec pronto run -c upstream/$GITHUB_BASE_REF --exit-code spec || failed=1
38
+ # if [ "$failed" -ne 0 ] ; then
39
+ # exit 1
40
+ # fi
41
+ # shell: bash
data/.travis.yml CHANGED
@@ -311,41 +311,6 @@ jobs:
311
311
 
312
312
  # AFTER MERGE UNIT TESTS ON ALTERNATIVE PLATFORM
313
313
 
314
- - name: unit tests 2.3
315
- stage: after-merge
316
- script: bundle exec rake test:unit
317
- os: osx
318
- osx_image: xcode7.3
319
- rvm: 2.3
320
-
321
- - name: unit tests 2.4
322
- stage: after-merge
323
- script: bundle exec rake test:unit
324
- os: osx
325
- osx_image: xcode9.4
326
- rvm: 2.4.3
327
-
328
- - name: unit tests 2.5
329
- stage: after-merge
330
- script: bundle exec rake test:unit
331
- os: osx
332
- osx_image: xcode9
333
- rvm: 2.5
334
-
335
- - name: unit tests 2.6
336
- stage: after-merge
337
- script: bundle exec rake test:unit
338
- os: osx
339
- osx_image: xcode9
340
- rvm: 2.6
341
-
342
- - name: unit tests jruby-9.1.14
343
- stage: after-merge
344
- script: bundle exec rake test:unit
345
- os: osx
346
- rvm: jruby-9.1.14
347
- osx_image: xcode9.4
348
-
349
314
  - stage: gem-release
350
315
  name: deploy MRI gem
351
316
  rvm: 2.3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # GoodData Ruby SDK Changelog
2
2
 
3
+ ## 2.3.3
4
+ - FEATURE: GRIF-312 Support Snowflake key paid authentication
5
+
6
+ ## 2.3.2
7
+ - CONFIG: Support new version of activesupport library
8
+
3
9
  ## 2.3.1
4
10
  - BUGFIX: MSF-25977 Add missing dependencies to support jruby3.1
5
11
 
data/Dockerfile CHANGED
@@ -1,15 +1,15 @@
1
- FROM 020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-8-jdk-centos9:202311071405.4d8c665
1
+ FROM 020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-11-jre-centos9:202501070635.05b6a77
2
2
 
3
3
  ARG RVM_VERSION=stable
4
- ARG JRUBY_VERSION=9.4.1.0
4
+ ARG JRUBY_VERSION=9.4.12.1
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="020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-8-jdk-centos9:202311071405.4d8c665"
9
+ LABEL parent_image="020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-11-jre-centos9:202501070635.05b6a77"
10
10
 
11
11
  # which is required by RVM
12
- RUN yum install -y which patch make git maven procps \
12
+ RUN yum install -y gcc gcc-c++ which patch make unzip gnupg git maven procps gzip \
13
13
  && yum clean all \
14
14
  && rm -rf /var/cache/yum
15
15
 
@@ -33,9 +33,6 @@ RUN rvm install jruby-${JRUBY_VERSION} && gem update --system \
33
33
  && gem install bundler -v 2.4.6 \
34
34
  && gem install rake -v 13.0.6
35
35
 
36
- # Make sure java default running with java8
37
- RUN update-alternatives --set java java-1.8.0-openjdk.x86_64
38
-
39
36
  WORKDIR /src
40
37
 
41
38
  RUN groupadd -g 48 apache \
@@ -80,9 +77,6 @@ RUN cp -rf ci/mysql/target/*.jar ./lib/gooddata/cloud_resources/mysql/drivers/
80
77
 
81
78
  RUN bundle install
82
79
 
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
-
86
80
  ARG GIT_COMMIT=unspecified
87
81
  ARG BRICKS_VERSION=unspecified
88
82
  LABEL git_commit=$GIT_COMMIT
data/Dockerfile.jruby CHANGED
@@ -1,8 +1,8 @@
1
- FROM jruby:9.4.1.0
1
+ FROM jruby:9.4.12.1
2
2
 
3
3
  MAINTAINER Tomas Korcak <korczis@gmail.com>
4
4
 
5
- RUN apt-get update && apt-get install -y curl make gcc git g++ python binutils-gold gnupg libstdc++6 cmake
5
+ RUN apt-get update && apt-get install -y curl make gcc git g++ python binutils-gold gnupg libstdc++6 cmake maven
6
6
 
7
7
  # Switch to directory with sources
8
8
  WORKDIR /src
@@ -15,6 +15,18 @@ RUN gem update --system \
15
15
 
16
16
  ADD . .
17
17
 
18
+ # build postgresql dependencies
19
+ RUN mvn -f ci/postgresql/pom.xml clean install -P binary-packaging \
20
+ && cp -rf ci/postgresql/target/*.jar ./lib/gooddata/cloud_resources/postgresql/drivers/
21
+
22
+ # build mssql dependencies
23
+ RUN mvn -f ci/mssql/pom.xml clean install -P binary-packaging \
24
+ && cp -rf ci/mssql/target/*.jar ./lib/gooddata/cloud_resources/mssql/drivers/
25
+
26
+ # build mysql dependencies
27
+ RUN mvn -f ci/mysql/pom.xml clean install -P binary-packaging \
28
+ && cp -rf ci/mysql/target/*.jar ./lib/gooddata/cloud_resources/mysql/drivers/
29
+
18
30
  # Import GoodData certificate to Java. This is needed for connection to ADS.
19
31
  # https://jira.intgdc.com/browse/TMA-300
20
32
  RUN keytool -importcert -alias gooddata-2008 -file "./data/2008.crt" -keystore $JAVA_HOME/lib/security/cacerts -trustcacerts -storepass 'changeit' -noprompt
@@ -0,0 +1,88 @@
1
+ FROM 020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-11-jre-centos9:202501070635.05b6a77
2
+
3
+ ARG RVM_VERSION=stable
4
+ ARG JRUBY_VERSION=9.2.20.0
5
+
6
+ LABEL image_name="GDC LCM Bricks"
7
+ LABEL maintainer="LCM <lcm@gooddata.com>"
8
+ LABEL git_repository_url="https://github.com/gooddata/gooddata-ruby/"
9
+ LABEL parent_image="020413372491.dkr.ecr.us-east-1.amazonaws.com/tools/gdc-java-11-jre-centos9:202501070635.05b6a77"
10
+
11
+ # which is required by RVM
12
+ RUN yum install -y gcc gcc-c++ diffutils curl-minimal which patch make git maven procps \
13
+ && yum clean all \
14
+ && rm -rf /var/cache/yum
15
+
16
+ # Install + verify RVM with gpg (https://rvm.io/rvm/security)
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 \
24
+ && rm rvm-installer rvm-installer.asc \
25
+ && echo "bundler" >> /usr/local/rvm/gemsets/global.gems \
26
+ && echo "rvm_silence_path_mismatch_check_flag=1" >> /etc/rvmrc \
27
+ && echo "install: --no-document" > /etc/gemrc
28
+
29
+ # Switch to a bash login shell to allow simple 'rvm' in RUN commands
30
+ SHELL ["/bin/bash", "-l", "-c"]
31
+
32
+ RUN rvm install jruby-${JRUBY_VERSION} \
33
+ && gem update --system 3.3.26 \
34
+ && gem install bundler -v 2.3.27 \
35
+ && gem install rake -v 11.3.0
36
+
37
+ WORKDIR /src
38
+
39
+ RUN groupadd -g 48 apache \
40
+ && groupadd -g 65065 gdcshare \
41
+ && useradd -u 48 -m --no-log-init -r -g apache -G rvm apache \
42
+ && usermod -a -G gdcshare apache \
43
+ && chown apache: /src
44
+
45
+ USER apache
46
+
47
+ ADD ./bin ./bin
48
+ ADD --chown=apache:apache ./ci ./ci
49
+ ADD --chown=apache:apache ./lib ./lib
50
+ ADD ./SDK_VERSION .
51
+ ADD ./VERSION .
52
+ ADD ./Gemfile .
53
+ ADD ./gooddata.gemspec .
54
+
55
+ #build redshift dependencies
56
+ RUN mvn -f ci/redshift/pom.xml clean install -P binary-packaging
57
+ RUN cp -rf ci/redshift/target/*.jar ./lib/gooddata/cloud_resources/redshift/drivers/
58
+
59
+ #build snowflake dependencies
60
+ RUN mvn -f ci/snowflake/pom.xml clean install -P binary-packaging
61
+ RUN cp -rf ci/snowflake/target/*.jar ./lib/gooddata/cloud_resources/snowflake/drivers/
62
+
63
+ #build bigquery dependencies
64
+ RUN mvn -f ci/bigquery/pom.xml clean install -P binary-packaging
65
+ RUN cp -rf ci/bigquery/target/*.jar ./lib/gooddata/cloud_resources/bigquery/drivers/
66
+
67
+ #build postgresql dependencies
68
+ RUN mvn -f ci/postgresql/pom.xml clean install -P binary-packaging
69
+ RUN cp -rf ci/postgresql/target/*.jar ./lib/gooddata/cloud_resources/postgresql/drivers/
70
+
71
+ #build mssql dependencies
72
+ RUN mvn -f ci/mssql/pom.xml clean install -P binary-packaging
73
+ RUN cp -rf ci/mssql/target/*.jar ./lib/gooddata/cloud_resources/mssql/drivers/
74
+
75
+ #build mysql dependencies
76
+ RUN mvn -f ci/mysql/pom.xml clean install -P binary-packaging
77
+ RUN cp -rf ci/mysql/target/*.jar ./lib/gooddata/cloud_resources/mysql/drivers/
78
+
79
+ RUN bundle install
80
+
81
+ ARG GIT_COMMIT=unspecified
82
+ ARG BRICKS_VERSION=unspecified
83
+ LABEL git_commit=$GIT_COMMIT
84
+ LABEL bricks_version=$BRICKS_VERSION
85
+
86
+ ENV GOODDATA_RUBY_COMMIT=$GIT_COMMIT
87
+
88
+ CMD [ "./bin/help.sh" ]
data/SDK_VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.3.3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.7.63
1
+ 3.7.95
data/bin/provision.sh CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- export JRUBY_OPTS=-J-Xmx2560m
3
+ export JRUBY_OPTS=-J-XX:MaxRAMPercentage=75
4
4
 
5
5
  /bin/bash -l -c "bundle exec ./bin/run_brick.rb provisioning_brick"
data/bin/release.sh CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- export JRUBY_OPTS=-J-Xmx2560m
3
+ export JRUBY_OPTS=-J-XX:MaxRAMPercentage=75
4
4
 
5
5
  /bin/bash -l -c "bundle exec ./bin/run_brick.rb release_brick"
data/bin/rollout.sh CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- export JRUBY_OPTS=-J-Xmx2560m
3
+ export JRUBY_OPTS=-J-XX:MaxRAMPercentage=75
4
4
 
5
5
  /bin/bash -l -c "bundle exec ./bin/run_brick.rb rollout_brick"
data/bin/user_filters.sh CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- export JRUBY_OPTS=-J-Xmx2560m
3
+ export JRUBY_OPTS=-J-XX:MaxRAMPercentage=75
4
4
 
5
5
  /bin/bash -l -c "bundle exec ./bin/run_brick.rb user_filters_brick"
data/bin/users.sh CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- export JRUBY_OPTS=-J-Xmx2560m
3
+ export JRUBY_OPTS=-J-XX:MaxRAMPercentage=75
4
4
 
5
5
  /bin/bash -l -c "bundle exec ./bin/run_brick.rb users_brick"
data/ci/bigquery/pom.xml CHANGED
@@ -17,7 +17,7 @@
17
17
  <dependency>
18
18
  <groupId>org.apache.commons</groupId>
19
19
  <artifactId>commons-text</artifactId>
20
- <version>1.7</version>
20
+ <version>1.12.0</version>
21
21
  </dependency>
22
22
  <dependency>
23
23
  <groupId>com.google.cloud</groupId>
@@ -12,7 +12,7 @@
12
12
  <dependency>
13
13
  <groupId>org.postgresql</groupId>
14
14
  <artifactId>postgresql</artifactId>
15
- <version>42.2.19</version>
15
+ <version>42.5.0</version>
16
16
  </dependency>
17
17
  <dependency>
18
18
  <groupId>org.slf4j</groupId>
data/ci/snowflake/pom.xml CHANGED
@@ -12,13 +12,23 @@
12
12
  <dependency>
13
13
  <groupId>net.snowflake</groupId>
14
14
  <artifactId>snowflake-jdbc</artifactId>
15
- <version>3.6.22</version>
15
+ <version>3.24.2</version>
16
16
  </dependency>
17
17
  <dependency>
18
18
  <groupId>org.slf4j</groupId>
19
19
  <artifactId>slf4j-api</artifactId>
20
20
  <version>1.7.2</version>
21
21
  </dependency>
22
+ <dependency>
23
+ <groupId>org.bouncycastle</groupId>
24
+ <artifactId>bcprov-jdk18on</artifactId>
25
+ <version>1.80</version>
26
+ </dependency>
27
+ <dependency>
28
+ <groupId>org.bouncycastle</groupId>
29
+ <artifactId>bcpkix-jdk18on</artifactId>
30
+ <version>1.80</version>
31
+ </dependency>
22
32
  </dependencies>
23
33
 
24
34
  <profiles>
data/gooddata.gemspec CHANGED
@@ -27,15 +27,33 @@ Gem::Specification.new do |s|
27
27
  s.require_paths = ['lib']
28
28
  # s.add_development_dependency 'bundler', "~> 1.14"
29
29
  s.add_development_dependency 'license_finder', '~> 2.0'
30
- s.add_development_dependency 'rake', '~> 13.0'
31
30
  s.add_development_dependency 'redcarpet', '~> 3.1' if RUBY_PLATFORM != 'java'
32
- s.add_development_dependency 'rspec', '~> 3.12.0'
33
- s.add_development_dependency 'rspec-expectations', '~> 3.12'
34
- s.add_development_dependency 'rspec_junit_formatter', '~> 0.6.0'
35
31
  if RUBY_VERSION >= '2.6'
32
+ s.add_development_dependency 'rake', '~> 13.0'
36
33
  s.add_development_dependency 'rubocop', '>= 1.28'
34
+ s.add_development_dependency 'rubocop-ast', '>= 1.24.1', '<= 1.42.0'
35
+ s.add_development_dependency 'rspec', '~> 3.12.0'
36
+ s.add_development_dependency 'rspec-expectations', '~> 3.12'
37
+ s.add_development_dependency 'rspec_junit_formatter', '~> 0.6.0'
38
+
39
+ s.add_dependency 'azure-storage-blob', '~> 2.0'
40
+ s.add_dependency 'nokogiri', '~> 1', '>= 1.10.8'
41
+ s.add_dependency 'json_pure', '~> 2.6'
42
+ s.add_dependency 'restforce', '>= 2.4'
43
+ s.add_dependency 'rubyzip'
37
44
  else
45
+ s.add_development_dependency 'rake', '~> 11.1'
38
46
  s.add_development_dependency 'rubocop', '~> 0.81'
47
+ s.add_development_dependency 'rspec', '~> 3.5.0'
48
+ s.add_development_dependency 'rspec-expectations', '~> 3.5'
49
+ s.add_development_dependency 'rspec_junit_formatter', '~> 0.3.0'
50
+
51
+ s.add_dependency 'azure-storage-blob', '~> 1.1.0'
52
+ s.add_dependency 'nokogiri', '~> 1.10.0'
53
+ s.add_dependency 'json_pure', '~> 1.8'
54
+ s.add_dependency 'restforce', '>= 2.4', '< 4.0'
55
+ s.add_dependency 'rubyzip', '~> 1.2', '>= 1.2.1'
56
+ s.add_dependency 'unf', '~> 0.1.4'
39
57
  end
40
58
  s.add_development_dependency 'simplecov', '~> 0.12'
41
59
  s.add_development_dependency 'webmock', '~> 2.3.1'
@@ -52,7 +70,9 @@ Gem::Specification.new do |s|
52
70
 
53
71
  s.add_development_dependency 'sqlite3' if RUBY_PLATFORM != 'java'
54
72
 
55
- if RUBY_VERSION >= '2.5'
73
+ if RUBY_VERSION >= '2.8'
74
+ s.add_dependency 'activesupport', '>= 6.0.3.1'
75
+ elsif RUBY_VERSION >= '2.5'
56
76
  s.add_dependency 'activesupport', '< 7.0.0'
57
77
  else
58
78
  s.add_dependency 'activesupport', '>= 5.2.4.3', '< 6.0'
@@ -72,20 +92,16 @@ Gem::Specification.new do |s|
72
92
  else
73
93
  s.add_dependency 'docile', '> 1.1', '< 1.4.0'
74
94
  end
75
- s.add_dependency 'azure-storage-blob', '~> 2.0'
76
- s.add_dependency 'nokogiri', '~> 1', '>= 1.10.8'
77
95
  s.add_dependency 'gli', '~> 2.15'
78
- s.add_dependency 'gooddata_datawarehouse', '~> 0.0.11' if RUBY_PLATFORM == 'java'
96
+ s.add_dependency 'gooddata_datawarehouse', '~> 0.0.12' if RUBY_PLATFORM == 'java'
79
97
  s.add_dependency 'highline', '= 2.0.0.pre.develop.14'
80
- s.add_dependency 'json_pure', '~> 2.6'
81
98
  s.add_dependency 'multi_json', '~> 1.12'
82
99
  s.add_dependency 'parseconfig', '~> 1.0'
100
+ s.add_dependency 'path_expander', '< 1.1.2'
83
101
  s.add_dependency 'pmap', '~> 1.1'
84
102
  s.add_dependency 'sequel', '< 5.72.0'
85
103
  s.add_dependency 'remote_syslog_logger', '~> 1.0.3'
86
- s.add_dependency 'restforce', '>= 2.4'
87
104
  s.add_dependency 'rest-client', '~> 2.0'
88
- s.add_dependency 'rubyzip'
89
105
  s.add_dependency 'terminal-table', '~> 1.7'
90
106
  s.add_dependency 'thread_safe'
91
107
  s.add_dependency 'backports'