refactor: simplify error handling in Docker workflow by using set -eu
Some checks failed
Build and Push Docker Image / docker (push) Failing after 5s
Some checks failed
Build and Push Docker Image / docker (push) Failing after 5s
This commit is contained in:
@@ -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 \
|
||||
|
||||
Reference in New Issue
Block a user