Skip to content

Commit 6f0f85c

Browse files
Merge pull request #1877 from gooddata/INFRA-3527
feat(zuul-deprecation): Add workflows
2 parents a67b617 + 258c6ff commit 6f0f85c

File tree

4 files changed

+456
-0
lines changed

4 files changed

+456
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
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@v40
40+
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
41+
gooddata-react-components-pull-request-dispatcher-pipeline:
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: client-libs
58+
job-name: gooddata-react-components-pull-request-dispatcher-pipeline
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+
"GH_COMMENT": "${{ github.event.comment.body }}"
71+
}
72+
comment-pr: "true"
73+
ready-to-merge:
74+
runs-on:
75+
group: infra1-runners-arc
76+
labels: runners-small
77+
if: always() && ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'extended test') }}
78+
needs:
79+
- prepare-env
80+
- gooddata-react-components-pull-request-dispatcher-pipeline
81+
steps:
82+
- name: Check if needed jobs succeeded
83+
uses: re-actors/alls-green@release/v1
84+
with:
85+
allowed-skips: ${{ toJSON(needs) }}
86+
jobs: ${{ toJSON(needs) }}

.github/workflows/check.yaml

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
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+
with:
18+
fetch-depth: 0
19+
- name: Get changed files
20+
id: changed-files
21+
uses: tj-actions/changed-files@v40
22+
gooddata-react-components-unit-tests-zuul-docker:
23+
runs-on:
24+
group: infra1-runners-arc
25+
labels: runners-small
26+
needs:
27+
- prepare-env
28+
permissions:
29+
contents: read
30+
id-token: write
31+
steps:
32+
- name: Call Jenkins trigger
33+
id: call-jenkins
34+
uses: gooddata/github-actions-public/jenkins/trigger@master
35+
with:
36+
server: ${{ secrets.JENKINS_ADDRESS }}
37+
folder: client-libs
38+
job-name: gooddata-react-components-unit-tests-zuul-docker
39+
vault-url: ${{ secrets.VAULT_ADDRESS }}
40+
params: |-
41+
{
42+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
43+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
44+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
45+
"GH_URL": "git@github.com:",
46+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
47+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
48+
"BUILD_BY_GITHUB": "true",
49+
"GH_PIPELINE": "check"
50+
}
51+
comment-pr: "true"
52+
gooddata-react-components-fossa-licenses-validate-LR-ticket-zuul:
53+
runs-on:
54+
group: infra1-runners-arc
55+
labels: runners-small
56+
needs:
57+
- prepare-env
58+
permissions:
59+
contents: read
60+
id-token: write
61+
steps:
62+
- name: Check if any matching file changed
63+
id: changed-files
64+
run: |
65+
any_changed=false
66+
patterns=('^NOTICE(S)?(.TXT)?$' '^LICENSE(S)?(.TXT)?$')
67+
for file in ${{ needs.prepare-env.outputs.changed_files }}; do
68+
for pattern in "${patterns[@]}"; do
69+
if [[ $file =~ $pattern ]]; then
70+
any_changed=true
71+
fi
72+
done
73+
done
74+
echo "any_changed=$any_changed" >> "$GITHUB_OUTPUT"
75+
- name: Call Jenkins trigger
76+
id: call-jenkins
77+
uses: gooddata/github-actions-public/jenkins/trigger@master
78+
with:
79+
server: ${{ secrets.JENKINS_ADDRESS }}
80+
folder: compliance
81+
job-name: gooddata-react-components-fossa-licenses-validate-LR-ticket-zuul
82+
vault-url: ${{ secrets.VAULT_ADDRESS }}
83+
params: |-
84+
{
85+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
86+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
87+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
88+
"GH_URL": "git@github.com:",
89+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
90+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
91+
"BUILD_BY_GITHUB": "true",
92+
"GH_PIPELINE": "check"
93+
}
94+
comment-pr: "true"
95+
if: steps.changed-files.outputs.any_changed == 'true'
96+
ready-to-merge:
97+
runs-on:
98+
group: infra1-runners-arc
99+
labels: runners-small
100+
if: always()
101+
needs:
102+
- prepare-env
103+
- gooddata-react-components-unit-tests-zuul-docker
104+
- gooddata-react-components-fossa-licenses-validate-LR-ticket-zuul
105+
steps:
106+
- name: Check if needed jobs succeeded
107+
uses: re-actors/alls-green@release/v1
108+
with:
109+
allowed-skips: ${{ toJSON(needs) }}
110+
jobs: ${{ toJSON(needs) }}

.github/workflows/gate.yaml

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
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+
with:
21+
fetch-depth: 0
22+
- name: Get changed files
23+
id: changed-files
24+
uses: tj-actions/changed-files@v40
25+
- name: Branch name
26+
id: branch
27+
run: |-
28+
branch=$(echo "${{ github.event.merge_group.base_ref }}" | sed 's/^refs\/heads\///')
29+
echo "branch=$branch" >> "$GITHUB_OUTPUT"
30+
31+
- name: PR number
32+
id: pr-number
33+
run: |-
34+
pr_num=$(echo "${{ github.ref }}" | sed -n 's/.*pr-\([0-9]*\).*/\1/p')
35+
echo "pr_number=$pr_num" >> "$GITHUB_OUTPUT"
36+
37+
gooddata-react-components-fossa-licenses-validate-LR-ticket-zuul:
38+
runs-on:
39+
group: infra1-runners-arc
40+
labels: runners-small
41+
needs:
42+
- prepare-env
43+
permissions:
44+
contents: read
45+
id-token: write
46+
steps:
47+
- name: Check if any matching file changed
48+
id: changed-files
49+
run: |
50+
any_changed=false
51+
patterns=('^NOTICE(S)?(.TXT)?$' '^LICENSE(S)?(.TXT)?$')
52+
for file in ${{ needs.prepare-env.outputs.changed_files }}; do
53+
for pattern in "${patterns[@]}"; do
54+
if [[ $file =~ $pattern ]]; then
55+
any_changed=true
56+
fi
57+
done
58+
done
59+
echo "any_changed=$any_changed" >> "$GITHUB_OUTPUT"
60+
- name: Call Jenkins trigger
61+
id: call-jenkins
62+
uses: gooddata/github-actions-public/jenkins/trigger@master
63+
with:
64+
server: ${{ secrets.JENKINS_ADDRESS }}
65+
folder: compliance
66+
job-name: gooddata-react-components-fossa-licenses-validate-LR-ticket-zuul
67+
vault-url: ${{ secrets.VAULT_ADDRESS }}
68+
params: |-
69+
{
70+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
71+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
72+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
73+
"GH_URL": "git@github.com:",
74+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
75+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
76+
"BUILD_BY_GITHUB": "true",
77+
"GH_PIPELINE": "gate"
78+
}
79+
comment-pr: "true"
80+
if: steps.changed-files.outputs.any_changed == 'true'
81+
gooddata-react-components-unit-tests-zuul-docker:
82+
runs-on:
83+
group: infra1-runners-arc
84+
labels: runners-small
85+
needs:
86+
- gooddata-react-components-fossa-licenses-validate-LR-ticket-zuul
87+
- prepare-env
88+
permissions:
89+
contents: read
90+
id-token: write
91+
steps:
92+
- name: Call Jenkins trigger
93+
id: call-jenkins
94+
uses: gooddata/github-actions-public/jenkins/trigger@master
95+
with:
96+
server: ${{ secrets.JENKINS_ADDRESS }}
97+
folder: client-libs
98+
job-name: gooddata-react-components-unit-tests-zuul-docker
99+
vault-url: ${{ secrets.VAULT_ADDRESS }}
100+
params: |-
101+
{
102+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
103+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
104+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
105+
"GH_URL": "git@github.com:",
106+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
107+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
108+
"BUILD_BY_GITHUB": "true",
109+
"GH_PIPELINE": "gate"
110+
}
111+
comment-pr: "true"
112+
gooddata-react-components-storybook-zuul-docker:
113+
runs-on:
114+
group: infra1-runners-arc
115+
labels: runners-small
116+
needs:
117+
- gooddata-react-components-fossa-licenses-validate-LR-ticket-zuul
118+
- prepare-env
119+
permissions:
120+
contents: read
121+
id-token: write
122+
steps:
123+
- name: Call Jenkins trigger
124+
id: call-jenkins
125+
uses: gooddata/github-actions-public/jenkins/trigger@master
126+
with:
127+
server: ${{ secrets.JENKINS_ADDRESS }}
128+
folder: client-libs
129+
job-name: gooddata-react-components-storybook-zuul-docker
130+
vault-url: ${{ secrets.VAULT_ADDRESS }}
131+
params: |-
132+
{
133+
"GH_BRANCH": "${{ needs.prepare-env.outputs.branch }}",
134+
"GH_REF": "${{ needs.prepare-env.outputs.ref }}",
135+
"GH_COMMIT": "${{ needs.prepare-env.outputs.commit }}",
136+
"GH_URL": "git@github.com:",
137+
"GH_CHANGE": "${{ needs.prepare-env.outputs.pr_number }}",
138+
"GH_PROJECT": "${{ needs.prepare-env.outputs.project }}",
139+
"BUILD_BY_GITHUB": "true",
140+
"GH_PIPELINE": "gate"
141+
}
142+
comment-pr: "true"
143+
ready-to-merge:
144+
runs-on:
145+
group: infra1-runners-arc
146+
labels: runners-small
147+
if: always()
148+
needs:
149+
- prepare-env
150+
- gooddata-react-components-fossa-licenses-validate-LR-ticket-zuul
151+
- gooddata-react-components-unit-tests-zuul-docker
152+
- gooddata-react-components-storybook-zuul-docker
153+
steps:
154+
- name: Check if needed jobs succeeded
155+
uses: re-actors/alls-green@release/v1
156+
with:
157+
allowed-skips: ${{ toJSON(needs) }}
158+
jobs: ${{ toJSON(needs) }}

0 commit comments

Comments
 (0)