@@ -12,9 +12,24 @@ concurrency:
1212 cancel-in-progress : true
1313
1414jobs :
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+
1528 prepare-release :
1629 # Don't push back to a tag!
1730 if : ${{ !startsWith(github.ref, 'refs/tags/') }}
31+ needs :
32+ - release-name
1833 name : Prepare release
1934 runs-on : ubuntu-latest
2035 permissions :
@@ -23,39 +38,35 @@ jobs:
2338 steps :
2439 - name : Checkout code
2540 uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
41+ with :
42+ fetch-depth : 0
2643
2744 - name : Setup Golang
2845 uses : actions/setup-go@v5
2946 with :
3047 go-version-file : go.mod
3148
32- -
uses :
bhowell2/[email protected] 33- id : release_number
34- with :
35- value : ${{github.ref_name}}
36- index_of_str : " release-"
37-
3849 - name : Find and Replace Helm Chart Version
3950 uses : jacobtomlinson/gha-find-replace@v3
4051 with :
4152 find : ' v(\d+)\.(\d+)\.(\d+)(-rc(\d)+)?'
42- replace : " ${{steps.release_number .outputs.substring }}"
53+ replace : " ${{needs.release-name .outputs.name }}"
4354 include : " deploy/charts/version-checker/Chart.yaml"
4455 regex : true
4556
4657 - name : Find and Replace Kubernetes Manifests
4758 uses : jacobtomlinson/gha-find-replace@v3
4859 with :
4960 find : ' v(\d+)\.(\d+)\.(\d+)(-rc(\d)+)?'
50- replace : " ${{steps.release_number .outputs.substring }}"
61+ replace : " ${{needs.release-name .outputs.name }}"
5162 include : " deploy/yaml/deploy.yaml"
5263 regex : true
5364
5465 - name : Find and Replace Makefile versions
5566 uses : jacobtomlinson/gha-find-replace@v3
5667 with :
5768 find : ' v(\d+)\.(\d+)\.(\d+)(-rc(\d)+)?'
58- replace : " ${{steps.release_number .outputs.substring }}"
69+ replace : " ${{needs.release-name .outputs.name }}"
5970 include : " Makefile"
6071 regex : true
6172
8798 git config --local user.email "github-actions[bot]@users.noreply.github.com"
8899 git config --local user.name "github-actions[bot]"
89100 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}} "
91102
92103 - name : Push changes
93104 if : steps.filter.outputs.versions == 'true'
@@ -105,9 +116,9 @@ jobs:
105116 with :
106117 github_token : ${{ secrets.GITHUB_TOKEN }}
107118 target_branch : main
108- title : " Release ${{steps.release_number .outputs.substring }}"
119+ title : " Release ${{needs.release-name .outputs.name }}"
109120 body : |-
110- " **Automated Release Pull Request**
121+ **Automated Release Pull Request**
111122
112123 ## Change log:
113124 ${{steps.github_release.outputs.changelog}}
@@ -119,9 +130,13 @@ jobs:
119130 runs-on : ubuntu-latest
120131 permissions :
121132 id-token : write
133+ needs :
134+ - release-name
122135 steps :
123136 - name : Checkout code
124137 uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
138+ with :
139+ path : version-checker
125140
126141 - name : Setup Cosign
127142 uses : sigstore/cosign-installer@main
@@ -136,10 +151,9 @@ jobs:
136151
137152 - name : Setup Helm
138153 uses : azure/setup-helm@v4
139- with :
140- token : ${{ github.token }}
141154
142155 - name : Login to Quay.io
156+ if : startsWith(github.ref, 'refs/tags/')
143157 run : echo "${{ secrets.QUAY_ROBOT_TOKEN }}" | helm registry login quay.io -u ${{ secrets.QUAY_USERNAME }} --password-stdin
144158
145159 - name : package helm chart
@@ -148,34 +162,36 @@ jobs:
148162
149163 - name : Sign Helm Chart
150164 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
153167
154- - name : Creating PR
155- if : startsWith(github.ref, 'refs/tags/')
168+ - name : Creating Publishing Chart's PR
156169 uses : peter-evans/create-pull-request@v7
170+ if : ${{ startsWith(github.ref, 'refs/tags/') }}
157171 with :
158172 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 }}
162176 path : jetstack-charts
163177 add-paths : |
164178 charts/*.tgz
165179 charts/*.tgz.cosign.bundle
166180 delete-branch : true
167181 signoff : true
168182 base : main
169- draft : ${{ !startsWith(github.ref, 'refs/tags/') }}
170183
171184 - name : Push to Quay
185+ if : startsWith(github.ref, 'refs/tags/')
172186 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}}
174188
175189 docker-release :
176190 runs-on : ubuntu-latest
177191 permissions :
178192 id-token : write
193+ needs :
194+ - release-name
179195 steps :
180196 - name : Checkout code
181197 uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
@@ -237,6 +253,8 @@ jobs:
237253 permissions :
238254 contents : write
239255 runs-on : ubuntu-latest
256+ needs :
257+ - release-name
240258 steps :
241259 - name : Create Release / Change Logs
242260 uses : softprops/action-gh-release@v2
0 commit comments