From 4e25ff47bbd287354f78546248c08587bdaa46b2 Mon Sep 17 00:00:00 2001 From: Sandro Date: Fri, 23 Oct 2026 23:47:04 +0200 Subject: [PATCH] Update registry login fallbacks --- .gitea/workflows/docker-test.yaml | 34 ++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/docker-test.yaml b/.gitea/workflows/docker-test.yaml index 246053a..538a627 100644 --- a/.gitea/workflows/docker-test.yaml +++ b/.gitea/workflows/docker-test.yaml @@ -1,6 +1,5 @@ name: Docker Build, Test & Push - on: push: branches-ignore: @@ -12,8 +11,9 @@ on: # KONFIGURATION (Für andere Repositories einfach hier oben anpassen) # ============================================================================== env: - # Registry & Image-Name (CUSTOM_IMAGE_NAME leer lassen = automatisch /) + # Registry, Benutzer & Image-Name (leer lassen = automatisch aus Gitea-Kontext) REGISTRY: git.dsit.me + REGISTRY_USER: "" CUSTOM_IMAGE_NAME: "" # Pfad zum Build-Kontext und Dockerfile @@ -155,17 +155,31 @@ jobs: - name: Login to Gitea Container Registry if: success() && gitea.event_name != 'pull_request' env: - PKG_TOKEN: ${{ secrets.PACKAGE_TOKEN }} - FALLBACK_TOKEN: ${{ gitea.token }} + SECRET_TOKEN: ${{ secrets.PACKAGE_TOKEN }} + VAR_TOKEN: ${{ vars.PACKAGE_TOKEN }} + DEFAULT_TOKEN: ${{ gitea.token }} + ACTOR_NAME: ${{ gitea.actor }} + OWNER_NAME: ${{ gitea.repository_owner }} run: | - if [ -n "${PKG_TOKEN}" ]; then - echo "Nutze hinterlegtes Secret PACKAGE_TOKEN für Registry-Login..." - TOKEN="${PKG_TOKEN}" + # Benutzername bestimmen (REGISTRY_USER -> gitea.actor -> gitea.repository_owner) + LOGIN_USER="${REGISTRY_USER:-${ACTOR_NAME:-${OWNER_NAME}}}" + echo "Registry-Login Benutzer: '${LOGIN_USER}'" + + # Token bestimmen (Secrets -> Variables -> gitea.token) + if [ -n "${SECRET_TOKEN}" ]; then + echo "Token-Quelle: secrets.PACKAGE_TOKEN (Länge: ${#SECRET_TOKEN} Zeichen)" + RAW_TOKEN="${SECRET_TOKEN}" + elif [ -n "${VAR_TOKEN}" ]; then + echo "Token-Quelle: vars.PACKAGE_TOKEN (Länge: ${#VAR_TOKEN} Zeichen)" + RAW_TOKEN="${VAR_TOKEN}" else - echo "WARNUNG: Secret PACKAGE_TOKEN ist leer/nicht gesetzt! Versuche Fallback auf gitea.token..." - TOKEN="${FALLBACK_TOKEN}" + echo "WARNUNG: Weder secrets.PACKAGE_TOKEN noch vars.PACKAGE_TOKEN gefunden! Nutze gitea.token (Länge: ${#DEFAULT_TOKEN} Zeichen)" + RAW_TOKEN="${DEFAULT_TOKEN}" fi - echo "${TOKEN}" | docker login "${REGISTRY}" -u "${{ gitea.actor }}" --password-stdin + + # Eventuelle Leerzeichen/Zeilenumbrüche entfernen + CLEAN_TOKEN=$(printf '%s' "${RAW_TOKEN}" | tr -d '\r\n ') + printf '%s\n' "${CLEAN_TOKEN}" | docker login "${REGISTRY}" -u "${LOGIN_USER}" --password-stdin - name: Push Docker Image if: success() && gitea.event_name != 'pull_request'