gooddata 2.3.1 → 2.3.2
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 +4 -4
- data/.github/workflows/build.yml +8 -14
- data/.github/workflows/check-extended.yaml +245 -0
- data/.github/workflows/check.yaml +190 -0
- data/.github/workflows/gate.yaml +200 -0
- data/.github/workflows/pre-merge.yml +22 -53
- data/.travis.yml +0 -35
- data/CHANGELOG.md +3 -0
- data/Dockerfile +3 -9
- data/Dockerfile.jruby +13 -1
- data/SDK_VERSION +1 -1
- data/VERSION +1 -1
- data/ci/bigquery/pom.xml +1 -1
- data/ci/postgresql/pom.xml +1 -1
- data/ci/snowflake/pom.xml +1 -1
- data/gooddata.gemspec +6 -2
- data/lib/gooddata/cloud_resources/mssql/mssql_client.rb +2 -1
- data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +2 -1
- data/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb +2 -1
- data/lib/gooddata/cloud_resources/redshift/redshift_client.rb +2 -1
- data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +4 -1
- data/lib/gooddata/helpers/global_helpers.rb +1 -1
- data/lib/gooddata/lcm/actions/import_object_collections.rb +6 -2
- data/lib/gooddata/lcm/actions/synchronize_clients.rb +22 -2
- data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +6 -2
- data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +5 -1
- data/lib/gooddata/lcm/lcm2.rb +4 -0
- data/lib/gooddata/models/domain.rb +16 -4
- data/lib/gooddata/models/metadata/label.rb +21 -4
- data/lib/gooddata/models/project.rb +16 -2
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +3 -2
- data/lib/gooddata/rest/connection.rb +13 -7
- metadata +43 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00225c54b8f41d583ad74df1b15d6ec0164bfd3d934d4319775ab42999eb0f5d
|
4
|
+
data.tar.gz: 6b696e10beccb88fc6ba9767ddf85851c7569c746f91c645ab1a49551408c06d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3ccf57155a4c39235318488eb75dd36af48843d466af9a815bf521717d6f289feb59abb3e8c4254dca915497e1d2acc5b4ae5b56bd61dda3cccf4488f509476
|
7
|
+
data.tar.gz: 4ae99ed97d91b7a2fa73e8b82037677f9ab7dee21572f3906f582dc70c7babe2934aa24755dabcdd2c7e0ef24c47188dda2b037a1a95244bd2298676fb22af5c
|
data/.github/workflows/build.yml
CHANGED
@@ -4,20 +4,18 @@ on:
|
|
4
4
|
branches: [master]
|
5
5
|
jobs:
|
6
6
|
jruby-gem-release:
|
7
|
-
runs-on: ubuntu-
|
7
|
+
runs-on: ubuntu-22.04
|
8
8
|
steps:
|
9
|
-
- uses: actions/checkout@
|
10
|
-
with:
|
11
|
-
fetch-depth: 0
|
9
|
+
- uses: actions/checkout@v4
|
12
10
|
- uses: ruby/setup-ruby@v1
|
13
11
|
with:
|
14
12
|
ruby-version: jruby-9.4.1
|
15
13
|
bundler-cache: true
|
16
|
-
- uses: actions/setup-java@
|
14
|
+
- uses: actions/setup-java@v4
|
17
15
|
with:
|
18
16
|
java-version: '8'
|
19
17
|
distribution: 'adopt'
|
20
|
-
- uses: actions/cache@
|
18
|
+
- uses: actions/cache@v4
|
21
19
|
with:
|
22
20
|
path: ~/.m2
|
23
21
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
@@ -27,11 +25,9 @@ jobs:
|
|
27
25
|
env:
|
28
26
|
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
|
29
27
|
rubygems-release:
|
30
|
-
runs-on: ubuntu-
|
28
|
+
runs-on: ubuntu-22.04
|
31
29
|
steps:
|
32
|
-
- uses: actions/checkout@
|
33
|
-
with:
|
34
|
-
fetch-depth: 0
|
30
|
+
- uses: actions/checkout@v4
|
35
31
|
- uses: ruby/setup-ruby@v1
|
36
32
|
with:
|
37
33
|
ruby-version: 3.2.1
|
@@ -41,15 +37,13 @@ jobs:
|
|
41
37
|
env:
|
42
38
|
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
|
43
39
|
gem-smoke-test:
|
44
|
-
runs-on: ubuntu-
|
40
|
+
runs-on: ubuntu-22.04
|
45
41
|
needs: [jruby-gem-release, rubygems-release]
|
46
42
|
strategy:
|
47
43
|
matrix:
|
48
44
|
ruby-version: [3.2.1, jruby-9.4.1]
|
49
45
|
steps:
|
50
|
-
- uses: actions/checkout@
|
51
|
-
with:
|
52
|
-
fetch-depth: 0
|
46
|
+
- uses: actions/checkout@v4
|
53
47
|
- uses: ruby/setup-ruby@v1
|
54
48
|
with:
|
55
49
|
ruby-version: ${{ matrix.ruby-version }}
|
@@ -0,0 +1,245 @@
|
|
1
|
+
name: check-extended
|
2
|
+
on:
|
3
|
+
issue_comment:
|
4
|
+
types:
|
5
|
+
- created
|
6
|
+
jobs:
|
7
|
+
prepare-env:
|
8
|
+
runs-on:
|
9
|
+
group: infra1-runners-arc
|
10
|
+
labels: runners-small
|
11
|
+
permissions: read-all
|
12
|
+
outputs:
|
13
|
+
branch: ${{ steps.branch.outputs.branch }}
|
14
|
+
ref: refs/pull/${{ github.event.issue.number }}/merge
|
15
|
+
commit: ${{ steps.commit.outputs.commit }}
|
16
|
+
pr_number: ${{ github.event.issue.number }}
|
17
|
+
project: ${{ github.repository }}
|
18
|
+
changed_files: ${{ steps.changed-files.outputs.all_changed_files }}
|
19
|
+
steps:
|
20
|
+
- name: Branch name
|
21
|
+
id: branch
|
22
|
+
run: |-
|
23
|
+
branch=$(echo "${{ github.ref }}" | sed 's/^refs\/heads\///')
|
24
|
+
echo "branch=$branch" >> "$GITHUB_OUTPUT"
|
25
|
+
|
26
|
+
- name: Commit
|
27
|
+
id: commit
|
28
|
+
run: |-
|
29
|
+
pr_head_sha=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
30
|
+
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.issue.number }}" | \
|
31
|
+
jq --raw-output .head.sha)
|
32
|
+
echo "commit=$pr_head_sha" >> "$GITHUB_OUTPUT"
|
33
|
+
|
34
|
+
- uses: actions/checkout@v4
|
35
|
+
with:
|
36
|
+
ref: refs/pull/${{ github.event.issue.number }}/merge
|
37
|
+
- name: Get changed files
|
38
|
+
id: changed-files
|
39
|
+
uses: tj-actions/changed-files@v45
|
40
|
+
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
|
41
|
+
gooddata-ruby-integration-tests-zuul:
|
42
|
+
runs-on:
|
43
|
+
group: infra1-runners-arc
|
44
|
+
labels: runners-small
|
45
|
+
needs:
|
46
|
+
- prepare-env
|
47
|
+
permissions:
|
48
|
+
contents: read
|
49
|
+
id-token: write
|
50
|
+
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
|
51
|
+
steps:
|
52
|
+
- name: Call Jenkins trigger
|
53
|
+
id: call-jenkins
|
54
|
+
uses: gooddata/github-actions-public/jenkins/trigger@master
|
55
|
+
with:
|
56
|
+
server: ${{ secrets.JENKINS_ADDRESS }}
|
57
|
+
folder: lcm
|
58
|
+
job-name: gooddata-ruby-integration-tests-zuul
|
59
|
+
vault-url: ${{ secrets.VAULT_ADDRESS }}
|
60
|
+
params: |-
|
61
|
+
{
|
62
|
+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
|
63
|
+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
|
64
|
+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
|
65
|
+
"GH_URL": "git@github.com:",
|
66
|
+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
|
67
|
+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
|
68
|
+
"BUILD_BY_GITHUB": "true",
|
69
|
+
"GH_PIPELINE": "check-extended"
|
70
|
+
}
|
71
|
+
comment-pr: 'true'
|
72
|
+
gooddata-lcm-ruby-integration-e2e-zuul:
|
73
|
+
runs-on:
|
74
|
+
group: infra1-runners-arc
|
75
|
+
labels: runners-small
|
76
|
+
needs:
|
77
|
+
- prepare-env
|
78
|
+
permissions:
|
79
|
+
contents: read
|
80
|
+
id-token: write
|
81
|
+
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
|
82
|
+
steps:
|
83
|
+
- name: Call Jenkins trigger
|
84
|
+
id: call-jenkins
|
85
|
+
uses: gooddata/github-actions-public/jenkins/trigger@master
|
86
|
+
with:
|
87
|
+
server: ${{ secrets.JENKINS_ADDRESS }}
|
88
|
+
folder: lcm
|
89
|
+
job-name: gooddata-lcm-ruby-integration-e2e-zuul
|
90
|
+
vault-url: ${{ secrets.VAULT_ADDRESS }}
|
91
|
+
params: |-
|
92
|
+
{
|
93
|
+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
|
94
|
+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
|
95
|
+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
|
96
|
+
"GH_URL": "git@github.com:",
|
97
|
+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
|
98
|
+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
|
99
|
+
"BUILD_BY_GITHUB": "true",
|
100
|
+
"GH_PIPELINE": "check-extended"
|
101
|
+
}
|
102
|
+
comment-pr: 'true'
|
103
|
+
gooddata-lcm-ruby-integration-release-zuul:
|
104
|
+
runs-on:
|
105
|
+
group: infra1-runners-arc
|
106
|
+
labels: runners-small
|
107
|
+
needs:
|
108
|
+
- prepare-env
|
109
|
+
permissions:
|
110
|
+
contents: read
|
111
|
+
id-token: write
|
112
|
+
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
|
113
|
+
steps:
|
114
|
+
- name: Call Jenkins trigger
|
115
|
+
id: call-jenkins
|
116
|
+
uses: gooddata/github-actions-public/jenkins/trigger@master
|
117
|
+
with:
|
118
|
+
server: ${{ secrets.JENKINS_ADDRESS }}
|
119
|
+
folder: lcm
|
120
|
+
job-name: gooddata-lcm-ruby-integration-release-zuul
|
121
|
+
vault-url: ${{ secrets.VAULT_ADDRESS }}
|
122
|
+
params: |-
|
123
|
+
{
|
124
|
+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
|
125
|
+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
|
126
|
+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
|
127
|
+
"GH_URL": "git@github.com:",
|
128
|
+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
|
129
|
+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
|
130
|
+
"BUILD_BY_GITHUB": "true",
|
131
|
+
"GH_PIPELINE": "check-extended"
|
132
|
+
}
|
133
|
+
comment-pr: 'true'
|
134
|
+
gooddata-lcm-ruby-integration-others-zuul:
|
135
|
+
runs-on:
|
136
|
+
group: infra1-runners-arc
|
137
|
+
labels: runners-small
|
138
|
+
needs:
|
139
|
+
- prepare-env
|
140
|
+
permissions:
|
141
|
+
contents: read
|
142
|
+
id-token: write
|
143
|
+
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
|
144
|
+
steps:
|
145
|
+
- name: Call Jenkins trigger
|
146
|
+
id: call-jenkins
|
147
|
+
uses: gooddata/github-actions-public/jenkins/trigger@master
|
148
|
+
with:
|
149
|
+
server: ${{ secrets.JENKINS_ADDRESS }}
|
150
|
+
folder: lcm
|
151
|
+
job-name: gooddata-lcm-ruby-integration-others-zuul
|
152
|
+
vault-url: ${{ secrets.VAULT_ADDRESS }}
|
153
|
+
params: |-
|
154
|
+
{
|
155
|
+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
|
156
|
+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
|
157
|
+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
|
158
|
+
"GH_URL": "git@github.com:",
|
159
|
+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
|
160
|
+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
|
161
|
+
"BUILD_BY_GITHUB": "true",
|
162
|
+
"GH_PIPELINE": "check-extended"
|
163
|
+
}
|
164
|
+
comment-pr: 'true'
|
165
|
+
gooddata-lcm-ruby-integration-slow-zuul:
|
166
|
+
runs-on:
|
167
|
+
group: infra1-runners-arc
|
168
|
+
labels: runners-small
|
169
|
+
needs:
|
170
|
+
- prepare-env
|
171
|
+
permissions:
|
172
|
+
contents: read
|
173
|
+
id-token: write
|
174
|
+
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
|
175
|
+
steps:
|
176
|
+
- name: Call Jenkins trigger
|
177
|
+
id: call-jenkins
|
178
|
+
uses: gooddata/github-actions-public/jenkins/trigger@master
|
179
|
+
with:
|
180
|
+
server: ${{ secrets.JENKINS_ADDRESS }}
|
181
|
+
folder: lcm
|
182
|
+
job-name: gooddata-lcm-ruby-integration-slow-zuul
|
183
|
+
vault-url: ${{ secrets.VAULT_ADDRESS }}
|
184
|
+
params: |-
|
185
|
+
{
|
186
|
+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
|
187
|
+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
|
188
|
+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
|
189
|
+
"GH_URL": "git@github.com:",
|
190
|
+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
|
191
|
+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
|
192
|
+
"BUILD_BY_GITHUB": "true",
|
193
|
+
"GH_PIPELINE": "check-extended"
|
194
|
+
}
|
195
|
+
comment-pr: 'true'
|
196
|
+
gooddata-lcm-ruby-integration-userprov-zuul:
|
197
|
+
runs-on:
|
198
|
+
group: infra1-runners-arc
|
199
|
+
labels: runners-small
|
200
|
+
needs:
|
201
|
+
- prepare-env
|
202
|
+
permissions:
|
203
|
+
contents: read
|
204
|
+
id-token: write
|
205
|
+
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
|
206
|
+
steps:
|
207
|
+
- name: Call Jenkins trigger
|
208
|
+
id: call-jenkins
|
209
|
+
uses: gooddata/github-actions-public/jenkins/trigger@master
|
210
|
+
with:
|
211
|
+
server: ${{ secrets.JENKINS_ADDRESS }}
|
212
|
+
folder: lcm
|
213
|
+
job-name: gooddata-lcm-ruby-integration-userprov-zuul
|
214
|
+
vault-url: ${{ secrets.VAULT_ADDRESS }}
|
215
|
+
params: |-
|
216
|
+
{
|
217
|
+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
|
218
|
+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
|
219
|
+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
|
220
|
+
"GH_URL": "git@github.com:",
|
221
|
+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
|
222
|
+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
|
223
|
+
"BUILD_BY_GITHUB": "true",
|
224
|
+
"GH_PIPELINE": "check-extended"
|
225
|
+
}
|
226
|
+
comment-pr: 'true'
|
227
|
+
ready-to-merge:
|
228
|
+
runs-on:
|
229
|
+
group: infra1-runners-arc
|
230
|
+
labels: runners-small
|
231
|
+
if: always() && ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
|
232
|
+
needs:
|
233
|
+
- prepare-env
|
234
|
+
- gooddata-ruby-integration-tests-zuul
|
235
|
+
- gooddata-lcm-ruby-integration-e2e-zuul
|
236
|
+
- gooddata-lcm-ruby-integration-release-zuul
|
237
|
+
- gooddata-lcm-ruby-integration-others-zuul
|
238
|
+
- gooddata-lcm-ruby-integration-slow-zuul
|
239
|
+
- gooddata-lcm-ruby-integration-userprov-zuul
|
240
|
+
steps:
|
241
|
+
- name: Check if needed jobs succeeded
|
242
|
+
uses: re-actors/alls-green@release/v1
|
243
|
+
with:
|
244
|
+
allowed-skips: ${{ toJSON(needs) }}
|
245
|
+
jobs: ${{ toJSON(needs) }}
|
@@ -0,0 +1,190 @@
|
|
1
|
+
name: check
|
2
|
+
on: pull_request
|
3
|
+
jobs:
|
4
|
+
prepare-env:
|
5
|
+
runs-on:
|
6
|
+
group: infra1-runners-arc
|
7
|
+
labels: runners-small
|
8
|
+
outputs:
|
9
|
+
branch: ${{ github.base_ref }}
|
10
|
+
ref: ${{ github.ref }}
|
11
|
+
commit: ${{ github.event.pull_request.head.sha }}
|
12
|
+
pr_number: ${{ github.event.pull_request.number }}
|
13
|
+
project: ${{ github.repository }}
|
14
|
+
changed_files: ${{ steps.changed-files.outputs.all_changed_files }}
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v4
|
17
|
+
- name: Get changed files
|
18
|
+
id: changed-files
|
19
|
+
uses: tj-actions/changed-files@v45
|
20
|
+
gooddata-ruby-lcm-build-pipeline:
|
21
|
+
runs-on:
|
22
|
+
group: infra1-runners-arc
|
23
|
+
labels: runners-small
|
24
|
+
needs:
|
25
|
+
- prepare-env
|
26
|
+
permissions:
|
27
|
+
contents: read
|
28
|
+
id-token: write
|
29
|
+
steps:
|
30
|
+
- name: Check if all changed files match patterns
|
31
|
+
id: all-match
|
32
|
+
run: |-
|
33
|
+
any_didnt_match=false
|
34
|
+
patterns=('^k8s/.*$' '^.gdc-ii-config-chart.yaml$' '^Jenkinsfile-chart$')
|
35
|
+
for file in ${{ needs.prepare-env.outputs.changed_files }}; do
|
36
|
+
matched=false
|
37
|
+
for pattern in "${patterns[@]}"; do
|
38
|
+
if [[ $file =~ $pattern ]]; then
|
39
|
+
matched=true
|
40
|
+
fi
|
41
|
+
done
|
42
|
+
if [[ $matched == false ]]; then
|
43
|
+
any_didnt_match=true
|
44
|
+
fi
|
45
|
+
done
|
46
|
+
echo "any_didnt_match=$any_didnt_match" >> "$GITHUB_OUTPUT"
|
47
|
+
|
48
|
+
- name: Check if branch matches
|
49
|
+
id: branch-matches
|
50
|
+
run: |-
|
51
|
+
branch=${{ needs.prepare-env.outputs.branch }}
|
52
|
+
branch_matches=$([[ $branch =~ ^master$ ]] && echo true || echo false)
|
53
|
+
echo "branch_matches=$branch_matches" >> "$GITHUB_OUTPUT"
|
54
|
+
- name: Call Jenkins trigger
|
55
|
+
id: call-jenkins
|
56
|
+
uses: gooddata/github-actions-public/jenkins/trigger@master
|
57
|
+
with:
|
58
|
+
server: ${{ secrets.JENKINS_II_ADDRESS }}
|
59
|
+
folder: gooddata-ruby
|
60
|
+
job-name: gooddata-ruby-lcm-build-pipeline
|
61
|
+
vault-url: ${{ secrets.VAULT_ADDRESS }}
|
62
|
+
params: |-
|
63
|
+
{
|
64
|
+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
|
65
|
+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
|
66
|
+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
|
67
|
+
"GH_URL": "git@github.com:",
|
68
|
+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
|
69
|
+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
|
70
|
+
"BUILD_BY_GITHUB": "true",
|
71
|
+
"GH_PIPELINE": "check"
|
72
|
+
}
|
73
|
+
comment-pr: 'true'
|
74
|
+
if: steps.all-match.outputs.any_didnt_match == 'true' && steps.branch-matches.outputs.branch_matches == 'true'
|
75
|
+
gooddata-ruby-check-pipeline:
|
76
|
+
runs-on:
|
77
|
+
group: infra1-runners-arc
|
78
|
+
labels: runners-small
|
79
|
+
needs:
|
80
|
+
- prepare-env
|
81
|
+
permissions:
|
82
|
+
contents: read
|
83
|
+
id-token: write
|
84
|
+
steps:
|
85
|
+
- name: Check if any matching file changed
|
86
|
+
id: changed-files
|
87
|
+
run: |
|
88
|
+
any_changed=false
|
89
|
+
patterns=('^k8s/.*$' '^.gdc-ii-config-chart.yaml$' '^Jenkinsfile-chart$')
|
90
|
+
for file in ${{ needs.prepare-env.outputs.changed_files }}; do
|
91
|
+
for pattern in "${patterns[@]}"; do
|
92
|
+
if [[ $file =~ $pattern ]]; then
|
93
|
+
any_changed=true
|
94
|
+
fi
|
95
|
+
done
|
96
|
+
done
|
97
|
+
echo "any_changed=$any_changed" >> "$GITHUB_OUTPUT"
|
98
|
+
- name: Check if branch matches
|
99
|
+
id: branch-matches
|
100
|
+
run: |-
|
101
|
+
branch=${{ needs.prepare-env.outputs.branch }}
|
102
|
+
branch_matches=$([[ $branch =~ ^master$ ]] && echo true || echo false)
|
103
|
+
echo "branch_matches=$branch_matches" >> "$GITHUB_OUTPUT"
|
104
|
+
- name: Call Jenkins trigger
|
105
|
+
id: call-jenkins
|
106
|
+
uses: gooddata/github-actions-public/jenkins/trigger@master
|
107
|
+
with:
|
108
|
+
server: ${{ secrets.JENKINS_II_ADDRESS }}
|
109
|
+
folder: gooddata-ruby
|
110
|
+
job-name: gooddata-ruby-check-pipeline
|
111
|
+
vault-url: ${{ secrets.VAULT_ADDRESS }}
|
112
|
+
params: |-
|
113
|
+
{
|
114
|
+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
|
115
|
+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
|
116
|
+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
|
117
|
+
"GH_URL": "git@github.com:",
|
118
|
+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
|
119
|
+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
|
120
|
+
"BUILD_BY_GITHUB": "true",
|
121
|
+
"GH_PIPELINE": "check"
|
122
|
+
}
|
123
|
+
comment-pr: 'true'
|
124
|
+
if: steps.changed-files.outputs.any_changed == 'true' && steps.branch-matches.outputs.branch_matches == 'true'
|
125
|
+
gooddata-ruby-fossa-licenses-validate-LR-ticket-zuul:
|
126
|
+
runs-on:
|
127
|
+
group: infra1-runners-arc
|
128
|
+
labels: runners-small
|
129
|
+
needs:
|
130
|
+
- prepare-env
|
131
|
+
permissions:
|
132
|
+
contents: read
|
133
|
+
id-token: write
|
134
|
+
steps:
|
135
|
+
- name: Check if any matching file changed
|
136
|
+
id: changed-files
|
137
|
+
run: |
|
138
|
+
any_changed=false
|
139
|
+
patterns=('^NOTICE(S)?(.TXT)?$' '^LICENSE(S)?(.TXT)?$')
|
140
|
+
for file in ${{ needs.prepare-env.outputs.changed_files }}; do
|
141
|
+
for pattern in "${patterns[@]}"; do
|
142
|
+
if [[ $file =~ $pattern ]]; then
|
143
|
+
any_changed=true
|
144
|
+
fi
|
145
|
+
done
|
146
|
+
done
|
147
|
+
echo "any_changed=$any_changed" >> "$GITHUB_OUTPUT"
|
148
|
+
- name: Check if branch matches
|
149
|
+
id: branch-matches
|
150
|
+
run: |-
|
151
|
+
branch=${{ needs.prepare-env.outputs.branch }}
|
152
|
+
branch_matches=$([[ $branch =~ ^master$ ]] && echo true || echo false)
|
153
|
+
echo "branch_matches=$branch_matches" >> "$GITHUB_OUTPUT"
|
154
|
+
- name: Call Jenkins trigger
|
155
|
+
id: call-jenkins
|
156
|
+
uses: gooddata/github-actions-public/jenkins/trigger@master
|
157
|
+
with:
|
158
|
+
server: ${{ secrets.JENKINS_ADDRESS }}
|
159
|
+
folder: compliance
|
160
|
+
job-name: gooddata-ruby-fossa-licenses-validate-LR-ticket-zuul
|
161
|
+
vault-url: ${{ secrets.VAULT_ADDRESS }}
|
162
|
+
params: |-
|
163
|
+
{
|
164
|
+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
|
165
|
+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
|
166
|
+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
|
167
|
+
"GH_URL": "git@github.com:",
|
168
|
+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
|
169
|
+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
|
170
|
+
"BUILD_BY_GITHUB": "true",
|
171
|
+
"GH_PIPELINE": "check"
|
172
|
+
}
|
173
|
+
comment-pr: 'true'
|
174
|
+
if: steps.changed-files.outputs.any_changed == 'true' && steps.branch-matches.outputs.branch_matches == 'true'
|
175
|
+
ready-to-merge:
|
176
|
+
runs-on:
|
177
|
+
group: infra1-runners-arc
|
178
|
+
labels: runners-small
|
179
|
+
if: always()
|
180
|
+
needs:
|
181
|
+
- prepare-env
|
182
|
+
- gooddata-ruby-lcm-build-pipeline
|
183
|
+
- gooddata-ruby-check-pipeline
|
184
|
+
- gooddata-ruby-fossa-licenses-validate-LR-ticket-zuul
|
185
|
+
steps:
|
186
|
+
- name: Check if needed jobs succeeded
|
187
|
+
uses: re-actors/alls-green@release/v1
|
188
|
+
with:
|
189
|
+
allowed-skips: ${{ toJSON(needs) }}
|
190
|
+
jobs: ${{ toJSON(needs) }}
|