Update .gitea/workflows/build.yaml

This commit is contained in:
2026-07-12 16:19:21 +00:00
parent c241e4998b
commit 59f3475820
+40 -1
View File
@@ -140,10 +140,49 @@ jobs:
fi fi
mkdir -p "${HOME}/.kube" mkdir -p "${HOME}/.kube"
printf '%s' "${KUBE_CONFIG_DATA}" | base64 --decode > "${HOME}/.kube/config"
# Normaliza saltos de línea, CRLF, espacios o tabulaciones que
# hayan podido introducirse al copiar el secret en la interfaz.
KUBE_CONFIG_B64="$(
printf '%s' "${KUBE_CONFIG_DATA}" \
| tr -d '\r\n\t '
)"
if [ -z "${KUBE_CONFIG_B64}" ]; then
echo "ERROR: KUBE_CONFIG_DATA quedó vacío después de normalizarlo."
exit 1
fi
if ! printf '%s' "${KUBE_CONFIG_B64}" \
| grep -Eq '^[A-Za-z0-9+/]*={0,2}$'; then
echo "ERROR: KUBE_CONFIG_DATA contiene caracteres que no pertenecen a Base64."
echo "Vuelve a generar el secret codificando el archivo kubeconfig completo."
exit 1
fi
if [ $(( ${#KUBE_CONFIG_B64} % 4 )) -ne 0 ]; then
echo "ERROR: la longitud de KUBE_CONFIG_DATA no es válida para Base64."
echo "Probablemente el valor fue copiado de forma incompleta."
exit 1
fi
if ! printf '%s' "${KUBE_CONFIG_B64}" \
| base64 --decode > "${HOME}/.kube/config"; then
echo "ERROR: no fue posible decodificar KUBE_CONFIG_DATA."
exit 1
fi
chmod 600 "${HOME}/.kube/config" chmod 600 "${HOME}/.kube/config"
export KUBECONFIG="${HOME}/.kube/config" export KUBECONFIG="${HOME}/.kube/config"
if ! grep -q '^apiVersion:' "${KUBECONFIG}" \
|| ! grep -q '^clusters:' "${KUBECONFIG}" \
|| ! grep -q '^contexts:' "${KUBECONFIG}"; then
echo "ERROR: el contenido decodificado no parece ser un kubeconfig válido."
echo "No pegues el YAML sin codificar ni una cadena ya recortada."
exit 1
fi
# Instala kubectl únicamente si el runner no lo incluye. # Instala kubectl únicamente si el runner no lo incluye.
if ! command -v kubectl >/dev/null 2>&1; then if ! command -v kubectl >/dev/null 2>&1; then
case "$(uname -m)" in case "$(uname -m)" in