3232 run : |
3333 platform=${{ matrix.config.platform }}
3434 echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
35- # Extract version part after last dash
35+ # Extract version from tag (e.g. "contender_cli-v0.10.1" -> "v0.10.1")
3636 ver="${GITHUB_REF#refs/*/}"
37- ver="${ver##* -}"
37+ ver="${ver#contender_cli -}"
3838 # Ensure it starts with 'v'
3939 if [[ "$ver" != v* ]]; then
4040 ver="v$ver"
@@ -109,6 +109,25 @@ jobs:
109109 username : ${{ secrets.FLASHBOTS_DOCKERHUB_USERNAME }}
110110 password : ${{ secrets.FLASHBOTS_DOCKERHUB_TOKEN }}
111111
112+ - name : Check if prerelease
113+ id : check
114+ run : |
115+ # Extract version from tag (e.g. "contender_cli-v0.10.1" -> "v0.10.1")
116+ ver="${{ github.ref_name }}"
117+ ver="${ver#contender_cli-}"
118+ if [[ "$ver" != v* ]]; then
119+ ver="v$ver"
120+ fi
121+ echo "version=$ver" >> $GITHUB_OUTPUT
122+ # Strip leading 'v' for bare version (e.g. "0.10.1")
123+ echo "bare_version=${ver#v}" >> $GITHUB_OUTPUT
124+ dash_count=$(echo "${{ github.ref_name }}" | tr -cd '-' | wc -c)
125+ if [ "$dash_count" -ge 2 ]; then
126+ echo "is_prerelease=true" >> $GITHUB_OUTPUT
127+ else
128+ echo "is_prerelease=false" >> $GITHUB_OUTPUT
129+ fi
130+
112131 - name : Set up Docker Buildx
113132 uses : docker/setup-buildx-action@v4
114133
@@ -119,9 +138,9 @@ jobs:
119138 images : ${{ env.REGISTRY_IMAGE }}
120139 tags : |
121140 type=sha
122- type=pep440,pattern={{version }}
123- type=pep440,pattern={{major}}.{{minor }}
124- type=raw,value=latest,enable=${{ !contains(github.ref_name, '-') }}
141+ type=raw,value=${{ steps.check.outputs.bare_version }}
142+ type=raw,value=${{ steps.check.outputs.version }}
143+ type=raw,value=latest,enable=${{ steps.check.outputs.is_prerelease != 'true' }}
125144
126145 - name : Create manifest list and push
127146 working-directory : /tmp/digests
@@ -131,7 +150,7 @@ jobs:
131150
132151 - name : Inspect image
133152 run : |
134- docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta .outputs.version }}
153+ docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.check .outputs.bare_version }}
135154
136155 - name : Login to GHCR
137156 uses : docker/login-action@v4
@@ -146,16 +165,16 @@ jobs:
146165 - name : Push to GHCR
147166 run : |
148167 regctl image copy \
149- ${{ env.REGISTRY_IMAGE }}:${{ steps.meta .outputs.version }} \
150- ghcr.io/${{ github.repository }}:${{ steps.meta .outputs.version }}
168+ ${{ env.REGISTRY_IMAGE }}:${{ steps.check .outputs.bare_version }} \
169+ ghcr.io/${{ github.repository }}:${{ steps.check .outputs.bare_version }}
151170
152171 - name : Push latest tag to GHCR
153- if : ${{ !contains(github.ref_name, '-') }}
172+ if : ${{ steps.check.outputs.is_prerelease != 'true' }}
154173 run : |
155174 regctl image copy \
156175 ${{ env.REGISTRY_IMAGE }}:latest \
157176 ghcr.io/${{ github.repository }}:latest
158177
159178 - name : Inspect image
160179 run : |
161- docker buildx imagetools inspect ghcr.io/${{ github.repository }}:${{ steps.meta .outputs.version }}
180+ docker buildx imagetools inspect ghcr.io/${{ github.repository }}:${{ steps.check .outputs.bare_version }}
0 commit comments