#!/usr/bin/env bash set -euo pipefail CONF_FILE="${CI_CONF_FILE:-.gitea/workflows/gitea-env.conf}" ERRORS=0 [ -f "$CONF_FILE" ] || { echo "ERROR: $CONF_FILE not found — checkout missing?" >&2; exit 1; } echo "Reading $CONF_FILE..." while IFS='=' read -r key value || [ -n "$key" ]; do key=$(echo "$key" | xargs) value=$(echo "$value" | xargs) [ -z "$key" ] && continue [[ "$key" == "#"* ]] && continue [ -z "$value" ] && echo "ERROR: $key is empty in $CONF_FILE" >&2 && ERRORS=1 if [ -n "$value" ] && [[ "$key" == *"URL"* ]] && [[ "$value" != http://* ]] && [[ "$value" != https://* ]]; then echo "ERROR: $key should be a URL (http/https), got: $value" >&2 ERRORS=1 fi done < "$CONF_FILE" [ -z "${GITEA_TOKEN:-}" ] && echo "ERROR: GITEA_TOKEN secret is not set" >&2 && ERRORS=1 [ -z "${GIT_PAGES_PUBLISH_TOKEN:-}" ] && echo "ERROR: GIT_PAGES_PUBLISH_TOKEN secret is not set" >&2 && ERRORS=1 if [ "$ERRORS" -ne 0 ]; then echo "FATAL: CI config validation failed" >&2 exit 1 fi echo "OK: all CI env vars validated"