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