-
Notifications
You must be signed in to change notification settings - Fork 21
151 lines (147 loc) · 5.9 KB
/
pull-request-release.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
name: Release Pull Request pipeline
on:
pull_request_target:
types: [ synchronize, opened, reopened, ready_for_review ]
branches:
- 'release-**'
jobs:
check-build-image:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether build image should run
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }}
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.draft == false }}
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
tests/performance/**
OWNERS
CODEOWNERS
.reuse/**
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
build-image:
name: Build manager image
needs: [check-build-image]
if: ${{ needs.check-build-image.outputs.check == 'true' }}
uses: kyma-project/test-infra/.github/workflows/image-builder.yml@main # Usage: kyma-project/test-infra/.github/workflows/image-builder.yml@main
with:
name: istio-manager
dockerfile: Dockerfile
context: .
build-args: |
VERSION=PR-${{ github.event.number }}
check-unit-test:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether unit test & lint should run based on the changed files
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
tests/performance/**
OWNERS
CODEOWNERS
sec-scanners-config.yaml
.reuse/**
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
dispatch-unit-test:
name: Dispatch unit test
needs: [check-unit-test]
uses: ./.github/workflows/pull-unit-lint.yaml
if: ${{ needs.check-unit-test.outputs.check == 'true' }}
secrets: inherit
check-integration:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether integration tests should run based on the changed files
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
tests/performance/**
OWNERS
CODEOWNERS
sec-scanners-config.yaml
.reuse/**
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
dispatch-integration:
name: Dispatch integration tests
needs: [check-integration,build-image]
uses: ./.github/workflows/pull-integration-release.yaml
if: ${{ needs.check-integration.outputs.check == 'true' }}
secrets: inherit
dispatch-integration-gardener:
name: Dispatch Gardener integration tests
needs: [check-integration,build-image]
uses: ./.github/workflows/pull-integration-gardener-release.yaml
if: ${{ needs.check-integration.outputs.check == 'true' }}
secrets: inherit
check-ui:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether UI tests should run based on the changed files
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files: |
config/ui-extensions/**
config/crd/**
tests/ui/**
.github/workflows/ui-tests.yaml
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
dispatch-ui:
name: Dispatch UI tests
needs: [check-ui,build-image]
uses: ./.github/workflows/ui-tests.yaml
if: ${{ needs.check-ui.outputs.check == 'true' }}
secrets: inherit
check-verify-pins:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether to run verify-commit-pins
environment: ${{ github.event.pull_request.author_association != 'COLLABORATOR' && github.event.pull_request.author_association != 'OWNER' && 'restricted' || 'internal' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275
id: changed-files
with:
files: |
.github/workflows/**
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
dispatch-verify-pins:
name: Dispatch verify-commit-pins
needs: [check-verify-pins]
uses: ./.github/workflows/verify-commit-pins.yaml
if: ${{ needs.check-verify-pins.outputs.check == 'true' }}
secrets: inherit