From e11e3dfecd9b67178ea15a64abf91e1e8d30a1b4 Mon Sep 17 00:00:00 2001 From: Elmar Kresse Date: Thu, 4 Sep 2025 17:12:42 +0200 Subject: [PATCH] refactor: simplify error handling in Docker workflow by using set -eu --- .gitea/workflows/docker-build-push.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/docker-build-push.yml b/.gitea/workflows/docker-build-push.yml index 45c3cbd..446016a 100644 --- a/.gitea/workflows/docker-build-push.yml +++ b/.gitea/workflows/docker-build-push.yml @@ -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 \