refactor: enhance Docker CLI installation and build process in publish-image workflow
Build / build (push) Successful in 24s
Publish Docker Image / docker (push) Successful in 19s

This commit is contained in:
Lukas Höppner
2026-05-19 17:47:57 +02:00
parent fefd921817
commit 211c72556d
+8 -15
View File
@@ -17,10 +17,10 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Docker CLI
- name: Install Docker CLI + Buildx
shell: sh
run: |
apk add --no-cache docker-cli
apk add --no-cache docker-cli docker-cli-buildx
- name: Build image metadata
id: meta
@@ -73,13 +73,11 @@ jobs:
REF_TYPE="${GITHUB_REF_TYPE}"
REF_NAME="${GITHUB_REF_NAME}"
TAG_ARGS="-t $IMAGE:$SHA_TAG"
PUSH_TAGS="$SHA_TAG"
TAG_ARGS="--tag $IMAGE:$SHA_TAG"
# latest only for pushes to main
if [ "$REF_TYPE" = "branch" ] && [ "$REF_NAME" = "main" ]; then
TAG_ARGS="$TAG_ARGS -t $IMAGE:latest"
PUSH_TAGS="$PUSH_TAGS latest"
TAG_ARGS="$TAG_ARGS --tag $IMAGE:latest"
fi
# semver tags for refs like v1.2.3 -> v1.2.3, v1.2, v1
@@ -88,18 +86,13 @@ jobs:
v[0-9]*.[0-9]*.[0-9]*)
MAJOR="$(echo "$REF_NAME" | cut -d. -f1)"
MINOR="$(echo "$REF_NAME" | cut -d. -f2)"
TAG_ARGS="$TAG_ARGS -t $IMAGE:$REF_NAME -t $IMAGE:$MAJOR.$MINOR -t $IMAGE:$MAJOR"
PUSH_TAGS="$PUSH_TAGS $REF_NAME $MAJOR.$MINOR $MAJOR"
TAG_ARGS="$TAG_ARGS --tag $IMAGE:$REF_NAME --tag $IMAGE:$MAJOR.$MINOR --tag $IMAGE:$MAJOR"
;;
*)
TAG_ARGS="$TAG_ARGS -t $IMAGE:$REF_NAME"
PUSH_TAGS="$PUSH_TAGS $REF_NAME"
TAG_ARGS="$TAG_ARGS --tag $IMAGE:$REF_NAME"
;;
esac
fi
docker build $TAG_ARGS .
for TAG in $PUSH_TAGS; do
docker push "$IMAGE:$TAG"
done
docker buildx version
docker buildx build --push $TAG_ARGS .