8.5 #3

Merged
sandrodach merged 4 commits from 8.5 into main 2026-10-23 23:52:55 +02:00
+24 -9
View File
@@ -11,8 +11,9 @@ on:
# KONFIGURATION (Für andere Repositories einfach hier oben anpassen)
# ==============================================================================
env:
# Registry & Image-Name (CUSTOM_IMAGE_NAME leer lassen = automatisch <user>/<repo>)
# 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
@@ -154,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'