@@ -57,36 +57,16 @@ jobs:
5757 echo "sanitized=${VERSION}" >> "$GITHUB_OUTPUT"
5858 fi
5959
60- - name : Compute image tags
61- id : tags
62- run : |
63- IMAGE=${{ env.IMAGE_NAME }}
64- SHORT_SHA=${GITHUB_SHA::12}
65- PRIMARY_TAG="$IMAGE:sha-$SHORT_SHA"
66- TAGS=()
67- TAGS+=("$PRIMARY_TAG")
68-
69- if [[ "${GITHUB_REF_TYPE}" == "branch" ]]; then
70- SAFE_BRANCH=$(echo "${GITHUB_REF_NAME}" | tr '[:upper:]' '[:lower:]' | tr -c 'a-z0-9' '-' | sed 's/-\{2,\}/-/g; s/^-//; s/-$//')
71- if [[ -z "$SAFE_BRANCH" ]]; then
72- SAFE_BRANCH="sha-$SHORT_SHA"
73- fi
74- TAGS+=("$IMAGE:branch-$SAFE_BRANCH")
75- if [[ "${GITHUB_REF_NAME}" == "main" ]]; then
76- VERSION=${{ steps.version.outputs.sanitized }}
77- TAGS+=("$IMAGE:$VERSION" "$IMAGE:latest")
78- fi
79- elif [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
80- TAGS+=("$IMAGE:${GITHUB_REF_NAME}")
81- PRIMARY_TAG="$IMAGE:${GITHUB_REF_NAME}"
82- fi
83-
84- {
85- echo "list<<EOF"
86- printf '%s\n' "${TAGS[@]}"
87- echo "EOF"
88- echo "primary=$PRIMARY_TAG"
89- } >> "$GITHUB_OUTPUT"
60+ - name : Docker metadata
61+ id : meta
62+ uses : docker/metadata-action@v5
63+ with :
64+ images : ${{ env.IMAGE_NAME }}
65+ tags : |
66+ type=sha,prefix=sha-
67+ type=ref,event=branch
68+ type=raw,value=${{ steps.version.outputs.sanitized }},enable=${{ github.ref == 'refs/heads/main' }}
69+ type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
9070
9171 - name : Login to Docker Hub
9272 if : github.event_name == 'push'
@@ -105,15 +85,15 @@ jobs:
10585 context : .
10686 push : ${{ github.event_name == 'push' }}
10787 load : true
108- tags : |
109- ${{ steps.tags .outputs.list }}
88+ tags : ${{ steps.meta.outputs.tags }}
89+ labels : ${{ steps.meta .outputs.labels }}
11090 cache-from : type=gha
11191 cache-to : type=gha,mode=max
11292
11393 - name : Generate SBOM
11494 uses : anchore/sbom-action@v0
11595 with :
116- image : ${{ steps.tags .outputs.primary }}
96+ image : ${{ fromJSON( steps.meta .outputs.json).tags[0] }}
11797 format : spdx-json
11898 output-file : sbom.spdx.json
11999
0 commit comments