@@ -12,9 +12,23 @@ 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 }}
20+ steps :
21+ -
uses :
bhowell2/[email protected] 22+ id : release_number
23+ with :
24+ value : ${{github.ref_name}}
25+ index_of_str : " release-"
26+
1527 prepare-release :
1628 # Don't push back to a tag!
1729 if : ${{ !startsWith(github.ref, 'refs/tags/') }}
30+ needs :
31+ - release-name
1832 name : Prepare release
1933 runs-on : ubuntu-latest
2034 permissions :
@@ -23,39 +37,35 @@ jobs:
2337 steps :
2438 - name : Checkout code
2539 uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
40+ with :
41+ fetch-depth : 0
2642
2743 - name : Setup Golang
2844 uses : actions/setup-go@v5
2945 with :
3046 go-version-file : go.mod
3147
32- -
uses :
bhowell2/[email protected] 33- id : release_number
34- with :
35- value : ${{github.ref_name}}
36- index_of_str : " release-"
37-
3848 - name : Find and Replace Helm Chart Version
3949 uses : jacobtomlinson/gha-find-replace@v3
4050 with :
4151 find : ' v(\d+)\.(\d+)\.(\d+)(-rc(\d)+)?'
42- replace : " ${{steps.release_number .outputs.substring }}"
52+ replace : " ${{needs.release-name .outputs.name }}"
4353 include : " deploy/charts/version-checker/Chart.yaml"
4454 regex : true
4555
4656 - name : Find and Replace Kubernetes Manifests
4757 uses : jacobtomlinson/gha-find-replace@v3
4858 with :
4959 find : ' v(\d+)\.(\d+)\.(\d+)(-rc(\d)+)?'
50- replace : " ${{steps.release_number .outputs.substring }}"
60+ replace : " ${{needs.release-name .outputs.name }}"
5161 include : " deploy/yaml/deploy.yaml"
5262 regex : true
5363
5464 - name : Find and Replace Makefile versions
5565 uses : jacobtomlinson/gha-find-replace@v3
5666 with :
5767 find : ' v(\d+)\.(\d+)\.(\d+)(-rc(\d)+)?'
58- replace : " ${{steps.release_number .outputs.substring }}"
68+ replace : " ${{needs.release-name .outputs.name }}"
5969 include : " Makefile"
6070 regex : true
6171
8797 git config --local user.email "github-actions[bot]@users.noreply.github.com"
8898 git config --local user.name "github-actions[bot]"
8999 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}} "
91101
92102 - name : Push changes
93103 if : steps.filter.outputs.versions == 'true'
@@ -105,9 +115,9 @@ jobs:
105115 with :
106116 github_token : ${{ secrets.GITHUB_TOKEN }}
107117 target_branch : main
108- title : " Release ${{steps.release_number .outputs.substring }}"
118+ title : " Release ${{needs.release-name .outputs.name }}"
109119 body : |-
110- " **Automated Release Pull Request**
120+ **Automated Release Pull Request**
111121
112122 ## Change log:
113123 ${{steps.github_release.outputs.changelog}}
@@ -119,9 +129,13 @@ jobs:
119129 runs-on : ubuntu-latest
120130 permissions :
121131 id-token : write
132+ needs :
133+ - release-name
122134 steps :
123135 - name : Checkout code
124136 uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
137+ with :
138+ path : version-checker
125139
126140 - name : Setup Cosign
127141 uses : sigstore/cosign-installer@main
@@ -136,10 +150,9 @@ jobs:
136150
137151 - name : Setup Helm
138152 uses : azure/setup-helm@v4
139- with :
140- token : ${{ github.token }}
141153
142154 - name : Login to Quay.io
155+ if : startsWith(github.ref, 'refs/tags/')
143156 run : echo "${{ secrets.QUAY_ROBOT_TOKEN }}" | helm registry login quay.io -u ${{ secrets.QUAY_USERNAME }} --password-stdin
144157
145158 - name : package helm chart
@@ -148,34 +161,36 @@ jobs:
148161
149162 - name : Sign Helm Chart
150163 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
153166
154- - name : Creating PR
155- if : startsWith(github.ref, 'refs/tags/')
167+ - name : Creating Publishing Chart's PR
156168 uses : peter-evans/create-pull-request@v7
169+ if : ${{ startsWith(github.ref, 'refs/tags/') }}
157170 with :
158171 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 }}
162175 path : jetstack-charts
163176 add-paths : |
164177 charts/*.tgz
165178 charts/*.tgz.cosign.bundle
166179 delete-branch : true
167180 signoff : true
168181 base : main
169- draft : ${{ !startsWith(github.ref, 'refs/tags/') }}
170182
171183 - name : Push to Quay
184+ if : startsWith(github.ref, 'refs/tags/')
172185 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}}
174187
175188 docker-release :
176189 runs-on : ubuntu-latest
177190 permissions :
178191 id-token : write
192+ needs :
193+ - release-name
179194 steps :
180195 - name : Checkout code
181196 uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
@@ -237,6 +252,8 @@ jobs:
237252 permissions :
238253 contents : write
239254 runs-on : ubuntu-latest
255+ needs :
256+ - release-name
240257 steps :
241258 - name : Create Release / Change Logs
242259 uses : softprops/action-gh-release@v2
0 commit comments