Skip to content

Commit 0962972

Browse files
committed
Refactor Docker build workflow to improve semver check and update tagging logic
1 parent c614353 commit 0962972

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

.github/workflows/docker-build.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
name: Build & Push Docker Images on Tag
2+
23
on:
34
push:
45
tags:
5-
- 'v*' # Triggers only on tags like v0.1.2, v0.1.2.dev1, etc.
6+
- 'v*' # Triggers on tags like v0.1.2, v0.1.2.dev1, etc.
67
workflow_dispatch:
78

89
jobs:
@@ -21,6 +22,15 @@ jobs:
2122
echo "VERSION=${TAG_NAME}" >> $GITHUB_ENV
2223
echo "version=${TAG_NAME}" >> $GITHUB_OUTPUT
2324
25+
- name: Determine if version is pure semver (e.g. v0.1.2)
26+
id: semver_check
27+
run: |
28+
if echo "${{ steps.vars.outputs.version }}" | grep -Eq '^v[0-9]+\.[0-9]+\.[0-9]+$'; then
29+
echo "is_release=true" >> $GITHUB_OUTPUT
30+
else
31+
echo "is_release=false" >> $GITHUB_OUTPUT
32+
fi
33+
2434
- name: Log in to Docker Hub
2535
uses: docker/login-action@v3
2636
with:
@@ -47,10 +57,10 @@ jobs:
4757
docker push $IMAGE_BASE:torch-${VERSION}
4858
docker push $IMAGE_BASE:tensorflow-${VERSION}
4959
50-
- name: Tag and push latest if version is pure semver
51-
if: ${{ steps.vars.outputs.version =~ '^v[0-9]+\\.[0-9]+\\.[0-9]+$' }}
60+
- name: Tag and push latest if release version
61+
if: ${{ steps.semver_check.outputs.is_release == 'true' }}
5262
run: |
53-
echo "Tag is a pure semver release — tagging latest"
63+
echo "Tag is a release — tagging latest"
5464
5565
docker tag $IMAGE_BASE:base-${VERSION} $IMAGE_BASE:base-latest
5666
docker tag $IMAGE_BASE:torch-${VERSION} $IMAGE_BASE:torch-latest

0 commit comments

Comments
 (0)