3434 default : " false"
3535
3636jobs :
37+ setup :
38+ runs-on : ubuntu-latest
39+ outputs :
40+ version : ${{ steps.set-version.outputs.version }}
41+ steps :
42+ - name : Extract version
43+ id : set-version
44+ run : |
45+ if [ -n "${{ github.event.inputs.release_name }}" ]; then
46+ VERSION="${{ github.event.inputs.release_name }}"
47+ elif [[ "${GITHUB_REF}" == refs/tags/v* ]]; then
48+ VERSION="${GITHUB_REF#refs/tags/v}"
49+ elif [[ "${GITHUB_REF}" == refs/tags/* ]]; then
50+ VERSION="${GITHUB_REF#refs/tags/}"
51+ else
52+ VERSION="${GITHUB_REF_NAME}"
53+ fi
54+ echo "VERSION=$VERSION"
55+ echo "version=$VERSION" >> $GITHUB_OUTPUT
56+
3757 generate-matrix :
3858 runs-on : ubuntu-latest
3959 outputs :
@@ -62,15 +82,14 @@ jobs:
6282
6383 build :
6484 runs-on : ubuntu-latest
65- needs : generate-matrix
85+ needs : [setup, generate-matrix]
86+ env :
87+ VERSION : ${{ needs.setup.outputs.version }}
6688 if : ${{ github.event.inputs.create_binaries == 'true' || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')) }}
6789 strategy :
6890 fail-fast : false
6991 matrix :
7092 include : ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
71- env :
72- ARTIFACT_NAME : " "
73- VERSION : ${{ github.event.inputs.release_name || github.ref_name }}
7493
7594 steps :
7695 - uses : actions/checkout@v4
@@ -103,7 +122,7 @@ jobs:
103122
104123 create-release :
105124 runs-on : ubuntu-latest
106- needs : build
125+ needs : [setup, build]
107126 if : ${{ github.event.inputs.create_release == 'true' || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')) }}
108127 steps :
109128 - uses : actions/checkout@v4
@@ -138,23 +157,23 @@ jobs:
138157 with :
139158 make_latest : true
140159 prerelease : ${{ steps.release_name.outputs.release_name != '' && contains(steps.release_name.outputs.release_name, 'a') }}
141- tag_name : ${{ steps.release_name .outputs.release_name }}
142- name : ${{ steps.release_name .outputs.release_name }}
160+ tag_name : ${{ needs.setup .outputs.version }}
161+ name : ${{ needs.setup .outputs.version }}
143162 body : ${{ steps.git-cliff.outputs.content }}
144163 files : |
145164 artifacts/*
146165 CHANGES.md
147166
148167 docker-build :
149168 runs-on : ubuntu-latest
150- needs : [generate-matrix]
169+ needs : [setup, generate-matrix]
170+ env :
171+ VERSION : ${{ needs.setup.outputs.version }}
151172 if : ${{ github.event.inputs.create_images == 'true' || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')) }}
152173 strategy :
153174 fail-fast : false
154175 matrix :
155176 include : ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
156- env :
157- VERSION : ${{ github.event.inputs.release_name || github.ref_name }}
158177 steps :
159178 - uses : actions/checkout@v4
160179 - name : Set Repository Lowercase
@@ -181,9 +200,9 @@ jobs:
181200
182201 docker-publish :
183202 runs-on : ubuntu-latest
184- needs : [generate-matrix, docker-build]
203+ needs : [setup, generate-matrix, docker-build]
185204 env :
186- VERSION : ${{ github.event.inputs.release_name || github.ref_name }}
205+ VERSION : ${{ needs.setup.outputs.version }}
187206 steps :
188207 - name : Log in to GHCR
189208 uses : docker/login-action@v3
0 commit comments