refactor: simplify error handling in Docker workflow by using set -eu
Some checks failed
Build and Push Docker Image / docker (push) Failing after 5s

This commit is contained in:
2025-09-04 17:12:42 +02:00
parent 512af5cce8
commit e11e3dfecd

View File

@@ -29,7 +29,7 @@ jobs:
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: |
set -euo pipefail
set -eu
apk add --no-cache git ca-certificates
REF="$GITHUB_REF"
REPO_URL="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY"
@@ -50,7 +50,7 @@ jobs:
IMAGE_NAME_VAR: ${{ vars.IMAGE_NAME }}
GITEA_REGISTRY_VAR: ${{ vars.GITEA_REGISTRY }}
run: |
set -euo pipefail
set -eu
# Derive registry/namespace/image from environment provided by runner
# GITHUB_REPOSITORY is like "owner/repo"
OWNER=${GITHUB_REPOSITORY%%/*}
@@ -82,36 +82,36 @@ jobs:
OWNER: ${{ steps.vars.outputs.owner }}
IMAGE: ${{ steps.vars.outputs.image }}
run: |
set -euo pipefail
set -eu
IMAGE_FULL="$REGISTRY/$OWNER/$IMAGE"
REF="$GITHUB_REF"
SHA_SHORT=$(echo "$GITHUB_SHA" | cut -c1-8)
TAGS=()
TAGS=""
case "$REF" in
refs/heads/*)
BRANCH=${REF#refs/heads/}
# latest for main/master
if [ "$BRANCH" = "main" ] || [ "$BRANCH" = "master" ]; then
TAGS+=("latest")
TAGS="${TAGS} latest"
fi
# branch tag
SAFE_BRANCH=$(echo "$BRANCH" | tr '/' '-' )
TAGS+=("$SAFE_BRANCH")
TAGS="${TAGS} ${SAFE_BRANCH}"
;;
refs/tags/*)
TAG=${REF#refs/tags/}
TAGS+=("$TAG")
TAGS="${TAGS} ${TAG}"
;;
esac
# always include short sha
TAGS+=("$SHA_SHORT")
TAGS="${TAGS} ${SHA_SHORT}"
# Build -t args
TAG_ARGS=""
for t in "${TAGS[@]}"; do
for t in $TAGS; do
TAG_ARGS="$TAG_ARGS -t $IMAGE_FULL:$t"
done
@@ -126,7 +126,7 @@ jobs:
- name: Ensure buildx builder
run: |
set -euo pipefail
set -eu
docker buildx inspect dindbuilder >/dev/null 2>&1 || docker buildx create --name dindbuilder --driver docker-container --use
- name: Build and push (linux/amd64)
@@ -135,7 +135,7 @@ jobs:
IMAGE_FULL: ${{ steps.tags.outputs.image_full }}
TAG_ARGS: ${{ steps.tags.outputs.tag_args }}
run: |
set -euo pipefail
set -eu
echo "Building $IMAGE_FULL with tags: $TAG_ARGS"
docker buildx build \
--platform linux/amd64 \