@@ -12,9 +12,24 @@ concurrency:
12
12
cancel-in-progress : true
13
13
14
14
jobs :
15
+ release-name :
16
+ name : Generate a clean release name from the branch/tag
17
+ runs-on : ubuntu-latest
18
+ outputs :
19
+ name : ${{ steps.release_number.outputs.substring != "" && steps.release_number.outputs.substring || github.ref_name }}
20
+ steps :
21
+ -
uses :
bhowell2/[email protected]
22
+ id : release_number
23
+ continue-on-error : true
24
+ with :
25
+ value : ${{github.ref_name}}
26
+ index_of_str : " release-"
27
+
15
28
prepare-release :
16
29
# Don't push back to a tag!
17
30
if : ${{ !startsWith(github.ref, 'refs/tags/') }}
31
+ needs :
32
+ - release-name
18
33
name : Prepare release
19
34
runs-on : ubuntu-latest
20
35
permissions :
@@ -23,39 +38,35 @@ jobs:
23
38
steps :
24
39
- name : Checkout code
25
40
uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
41
+ with :
42
+ fetch-depth : 0
26
43
27
44
- name : Setup Golang
28
45
uses : actions/setup-go@v5
29
46
with :
30
47
go-version-file : go.mod
31
48
32
- -
uses :
bhowell2/[email protected]
33
- id : release_number
34
- with :
35
- value : ${{github.ref_name}}
36
- index_of_str : " release-"
37
-
38
49
- name : Find and Replace Helm Chart Version
39
50
uses : jacobtomlinson/gha-find-replace@v3
40
51
with :
41
52
find : ' v(\d+)\.(\d+)\.(\d+)(-rc(\d)+)?'
42
- replace : " ${{steps.release_number .outputs.substring }}"
53
+ replace : " ${{needs.release-name .outputs.name }}"
43
54
include : " deploy/charts/version-checker/Chart.yaml"
44
55
regex : true
45
56
46
57
- name : Find and Replace Kubernetes Manifests
47
58
uses : jacobtomlinson/gha-find-replace@v3
48
59
with :
49
60
find : ' v(\d+)\.(\d+)\.(\d+)(-rc(\d)+)?'
50
- replace : " ${{steps.release_number .outputs.substring }}"
61
+ replace : " ${{needs.release-name .outputs.name }}"
51
62
include : " deploy/yaml/deploy.yaml"
52
63
regex : true
53
64
54
65
- name : Find and Replace Makefile versions
55
66
uses : jacobtomlinson/gha-find-replace@v3
56
67
with :
57
68
find : ' v(\d+)\.(\d+)\.(\d+)(-rc(\d)+)?'
58
- replace : " ${{steps.release_number .outputs.substring }}"
69
+ replace : " ${{needs.release-name .outputs.name }}"
59
70
include : " Makefile"
60
71
regex : true
61
72
87
98
git config --local user.email "github-actions[bot]@users.noreply.github.com"
88
99
git config --local user.name "github-actions[bot]"
89
100
git status
90
- git commit -a -m "Bump versions to ${{steps.release_number .outputs.substring}} "
101
+ git commit -a -m "Bump versions to ${{needs.release-name .outputs.name}} "
91
102
92
103
- name : Push changes
93
104
if : steps.filter.outputs.versions == 'true'
@@ -105,9 +116,9 @@ jobs:
105
116
with :
106
117
github_token : ${{ secrets.GITHUB_TOKEN }}
107
118
target_branch : main
108
- title : " Release ${{steps.release_number .outputs.substring }}"
119
+ title : " Release ${{needs.release-name .outputs.name }}"
109
120
body : |-
110
- " **Automated Release Pull Request**
121
+ **Automated Release Pull Request**
111
122
112
123
## Change log:
113
124
${{steps.github_release.outputs.changelog}}
@@ -119,9 +130,13 @@ jobs:
119
130
runs-on : ubuntu-latest
120
131
permissions :
121
132
id-token : write
133
+ needs :
134
+ - release-name
122
135
steps :
123
136
- name : Checkout code
124
137
uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
138
+ with :
139
+ path : version-checker
125
140
126
141
- name : Setup Cosign
127
142
uses : sigstore/cosign-installer@main
@@ -136,10 +151,9 @@ jobs:
136
151
137
152
- name : Setup Helm
138
153
uses : azure/setup-helm@v4
139
- with :
140
- token : ${{ github.token }}
141
154
142
155
- name : Login to Quay.io
156
+ if : startsWith(github.ref, 'refs/tags/')
143
157
run : echo "${{ secrets.QUAY_ROBOT_TOKEN }}" | helm registry login quay.io -u ${{ secrets.QUAY_USERNAME }} --password-stdin
144
158
145
159
- name : package helm chart
@@ -148,34 +162,36 @@ jobs:
148
162
149
163
- name : Sign Helm Chart
150
164
run : |
151
- cosign sign-blob -y jetstack-charts/charts/version-checker-${{steps.release_number .outputs.substring }}.tgz \
152
- --bundle jetstack-charts/charts/version-checker-${{steps.release_number .outputs.substring }}.tgz.cosign.bundle
165
+ cosign sign-blob -y jetstack-charts/charts/version-checker-${{ needs.release-name .outputs.name }}.tgz \
166
+ --bundle jetstack-charts/charts/version-checker-${{ needs.release-name .outputs.name }}.tgz.cosign.bundle
153
167
154
- - name : Creating PR
155
- if : startsWith(github.ref, 'refs/tags/')
168
+ - name : Creating Publishing Chart's PR
156
169
uses : peter-evans/create-pull-request@v7
170
+ if : ${{ startsWith(github.ref, 'refs/tags/') }}
157
171
with :
158
172
token : ${{ secrets.JETSTACK_CHARTS_PAT }}
159
- title : " Release version-checker ${{github.ref_name }}"
160
- commit-message : " Release version-checker ${{github.ref_name }}"
161
- branch : version-checker/${{github.ref_name}}
173
+ title : " Release version-checker ${{ needs.release-name.outputs.name }}"
174
+ commit-message : " Release version-checker ${{ needs.release-name.outputs.name }}"
175
+ branch : version-checker/${{ github.ref_name }}
162
176
path : jetstack-charts
163
177
add-paths : |
164
178
charts/*.tgz
165
179
charts/*.tgz.cosign.bundle
166
180
delete-branch : true
167
181
signoff : true
168
182
base : main
169
- draft : ${{ !startsWith(github.ref, 'refs/tags/') }}
170
183
171
184
- name : Push to Quay
185
+ if : startsWith(github.ref, 'refs/tags/')
172
186
run : |-
173
- helm push jetstack-charts/charts/version-checker-${{ github.ref_name }}.tgz oci://quay.io/quay.io/jetstack/version-checker/chart
187
+ helm push jetstack-charts/charts/version-checker-${{ needs.release-name.outputs.name }}.tgz oci://quay.io/quay.io/jetstack/version-checker/chart:${{needs.release-name.outputs.name}}
174
188
175
189
docker-release :
176
190
runs-on : ubuntu-latest
177
191
permissions :
178
192
id-token : write
193
+ needs :
194
+ - release-name
179
195
steps :
180
196
- name : Checkout code
181
197
uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
@@ -237,6 +253,8 @@ jobs:
237
253
permissions :
238
254
contents : write
239
255
runs-on : ubuntu-latest
256
+ needs :
257
+ - release-name
240
258
steps :
241
259
- name : Create Release / Change Logs
242
260
uses : softprops/action-gh-release@v2
0 commit comments