-
Notifications
You must be signed in to change notification settings - Fork 21
145 lines (140 loc) · 4.77 KB
/
pull-request.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
name: Pull Request pipeline
on:
pull_request:
types: [ synchronize, opened, reopened, ready_for_review ]
branches:
- main
- 'release-**'
jobs:
check-build-image:
outputs:
check: ${{ steps.changed-files.outputs.any_modified }}
name: Check whether build image should run
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.draft == false }}
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@d6babd6899969df1a11d14c368283ea4436bca78
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
**/*.yaml
tests/performance/**
OWNERS
CODEOWNERS
.github/**
.reuse/**
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' >> $GITHUB_STEP_SUMMARY
build-image:
name: Build manager image
runs-on: ubuntu-latest
needs: [check-build-image]
if: ${{ needs.check-build-image.outputs.check== 'true' }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-manager-image
with:
operator-image-name: "istio-manager: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
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@d6babd6899969df1a11d14c368283ea4436bca78
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
tests/performance/**
OWNERS
CODEOWNERS
sec-scanners-config.yaml
.github/**
.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
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@d6babd6899969df1a11d14c368283ea4436bca78
id: changed-files
with:
files_ignore: |
docs/**
**/*.md
tests/performance/**
OWNERS
CODEOWNERS
sec-scanners-config.yaml
.github/**
.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.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
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@d6babd6899969df1a11d14c368283ea4436bca78
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
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: tj-actions/changed-files@d6babd6899969df1a11d14c368283ea4436bca78
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