@@ -67,18 +67,39 @@ jobs:
6767 --push \
6868 -t $IMAGE_NAME:latest \
6969 --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 \
70+ --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
71+ --build-arg VCS_REF=${{ github.sha }} \
72+ --build-arg VERSION=latest \
7073 .
7174
7275 - name : Set tag in environment
7376 if : contains(github.ref, 'refs/tags/')
7477 run : echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
7578
76- - name : Build multi-arch image and push release tag
79+ - name : Parse version components
80+ if : contains(github.ref, 'refs/tags/')
81+ id : parse_version
82+ run : |
83+ VERSION=${GITHUB_REF#refs/tags/}
84+ echo "FULL_VERSION=$VERSION" >> $GITHUB_ENV
85+ # Extract major version (e.g., 3 from 3.9.1)
86+ MAJOR=$(echo $VERSION | cut -d. -f1)
87+ echo "MAJOR_VERSION=$MAJOR" >> $GITHUB_ENV
88+ # Extract minor version (e.g., 3.9 from 3.9.1)
89+ MINOR=$(echo $VERSION | cut -d. -f1,2)
90+ echo "MINOR_VERSION=$MINOR" >> $GITHUB_ENV
91+
92+ - name : Build multi-arch image and push release tags
7793 if : contains(github.ref, 'refs/tags/')
7894 run : |-
7995 docker buildx build \
8096 --cache-from=$IMAGE_NAME:latest \
8197 --push \
82- -t $IMAGE_NAME:$RELEASE_VERSION \
98+ -t $IMAGE_NAME:$FULL_VERSION \
99+ -t $IMAGE_NAME:$MINOR_VERSION \
100+ -t $IMAGE_NAME:$MAJOR_VERSION \
83101 --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 \
102+ --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
103+ --build-arg VCS_REF=${{ github.sha }} \
104+ --build-arg VERSION=$FULL_VERSION \
84105 .
0 commit comments