Files
gitea-ci-library/scripts/ci-validate.sh
T
moilanik 7b99392dd7
CI / load-config (push) Successful in 11s
ci-cucumber Cucumber tests passed
ci-bats Bats tests
ci-build Build complete
CI / feature (push) Successful in 2m15s
CI / main (push) Has been skipped
katetaan puuttuva testit
2026-06-13 19:39:01 +03:00

32 lines
1.0 KiB
Bash

#!/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"