adopt docker build and push

This commit is contained in:
dresber
2026-05-09 12:35:18 +02:00
parent 37829f86b2
commit adc623796d

View File

@@ -53,18 +53,42 @@ jobs:
run: |
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${{ secrets.DOCKER_REGISTRY }}" -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin
- name: Build and Push
shell: bash
- name: Build image
run: |
set -euo pipefail
SHA_SHORT="$(git rev-parse --short HEAD)"
FULL_IMAGE="${{ secrets.DOCKER_REGISTRY }}/${{ inputs.image_name }}"
export DOCKER_BUILDKIT=1
docker build ${{ steps.vars.outputs.docker_tags }} ${{ inputs.dockerfile_path }}
docker build \
-t "${FULL_IMAGE}:${SHA_SHORT}" \
${{ inputs.dockerfile_path }}
IMAGE="${{ steps.vars.outputs.full_image }}"
TAGS="${{ steps.vars.outputs.docker_tags }}"
if echo "${{ gitea.ref }}" | grep -q '^refs/tags/v'; then
VERSION="${{ gitea.ref_name }}"
VERSION="${VERSION#v}"
MAJOR="$(echo "$VERSION" | cut -d. -f1)"
MINOR="$(echo "$VERSION" | cut -d. -f1,2)"
echo "$TAGS" | tr ' ' '\n' | grep "^${IMAGE}:" | while read -r tag; do
echo "Pushing $tag"
docker push "$tag"
done
docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:latest"
docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:${VERSION}"
docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:${MINOR}"
docker tag "${FULL_IMAGE}:${SHA_SHORT}" "${FULL_IMAGE}:${MAJOR}"
fi
- name: Push image
run: |
SHA_SHORT="$(git rev-parse --short HEAD)"
FULL_IMAGE="${{ secrets.DOCKER_REGISTRY }}/${{ inputs.image_name }}"
docker push "${FULL_IMAGE}:${SHA_SHORT}"
if echo "${{ gitea.ref }}" | grep -q '^refs/tags/v'; then
VERSION="${{ gitea.ref_name }}"
VERSION="${VERSION#v}"
MAJOR="$(echo "$VERSION" | cut -d. -f1)"
MINOR="$(echo "$VERSION" | cut -d. -f1,2)"
docker push "${FULL_IMAGE}:latest"
docker push "${FULL_IMAGE}:${VERSION}"
docker push "${FULL_IMAGE}:${MINOR}"
docker push "${FULL_IMAGE}:${MAJOR}"
fi