@@ -48,13 +48,19 @@ jobs:
4848 - name : Generate tag data
4949 id : taggen
5050 run : |
51+ set -euo pipefail
5152 echo "TAG_DATE=$(date +'%Y%m%d-%H%M%S')" >> $GITHUB_OUTPUT
5253 echo "TAG_SHA=$(echo '${{ github.event.pull_request.head.sha || github.sha }}' | cut -b 1-7)" >> $GITHUB_OUTPUT
53- # Strip 'agents-v' prefix from tag for semver parsing (e.g., agents-v1.2.3 -> 1.2.3)
54- # Only set SEMVER if ref starts with agents-v, otherwise leave empty
55- if [[ "${{ github.ref_name }}" =~ ^agents-v ]]; then
56- SEMVER="$(echo "${{ github.ref_name }}" | sed -E 's/^agents-v//')"
57- echo "SEMVER=$SEMVER" >> $GITHUB_OUTPUT
54+ # For tag events, derive pure semver:
55+ if [ "${{ github.ref_type }}" = "tag" ]; then
56+ NAME="${{ github.ref_name }}"
57+ # Strip agents- prefix and any leading v
58+ NAME="${NAME#agents-}"
59+ NAME="${NAME#v}"
60+ # Basic semver guard (allows prerelease/build metadata)
61+ if echo "$NAME" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+'; then
62+ echo "SEMVER=$NAME" >> $GITHUB_OUTPUT
63+ fi
5864 fi
5965 - name : Docker meta
6066 id : meta
6874 type=ref,event=branch
6975 type=ref,event=pr
7076 type=ref,event=tag
71- type=semver,pattern={{version}},value=${{ steps.taggen.outputs.SEMVER }},enable=${{ startsWith( github.ref_name, 'agents-v') }}
72- type=semver,pattern={{major}}.{{minor}},value=${{ steps.taggen.outputs.SEMVER }},enable=${{ startsWith( github.ref_name, 'agents-v') }}
77+ type=semver,pattern={{version}},value=${{ steps.taggen.outputs.SEMVER }},enable=${{ github.ref_type == 'tag' && steps.taggen.outputs.SEMVER != '' }}
78+ type=semver,pattern={{major}}.{{minor}},value=${{ steps.taggen.outputs.SEMVER }},enable=${{ github.ref_type == 'tag' && steps.taggen.outputs.SEMVER != '' }}
7379 type=raw,value=${{ steps.taggen.outputs.TAG_SHA }}-${{ steps.taggen.outputs.TAG_DATE }}
7480 - name : Set up Depot CLI
7581 uses : depot/setup-action@v1
0 commit comments