#!/usr/bin/env bash set -euo pipefail # CI helper: resolve starter placeholders for staging. # Called from .gitea/workflows/deploy.yml (before validate/build). # Keeps placeholders in git (template), patches .env in CI workspace only. # # Detection: PROJECT_NAME=__PROJECT_NAME__ or TIBI_NAMESPACE=__TIBI_NAMESPACE__ # Real projects: no-op (already concrete values). # shellcheck disable=SC1091 set -o allexport # shellcheck disable=SC1091 . ./.env 2>/dev/null || true set +o allexport is_starter="false" if [ "${PROJECT_NAME:-}" = "__PROJECT_NAME__" ]; then is_starter="true" fi if [ "${TIBI_NAMESPACE:-}" = "__TIBI_NAMESPACE__" ]; then is_starter="true" fi if [ "${is_starter}" != "true" ]; then echo "ci-starter-defaults: real project (PROJECT_NAME=${PROJECT_NAME:-?}), nothing to do." exit 0 fi echo "ci-starter-defaults: starter detected, patching .env for CI workspace only." PROJECT_NAME="tibi-svelte-starter" TIBI_NAMESPACE="tibi-svelte-starter" SENTRY_PROJECT="tibi-svelte-starter" STAGING_URL="https://dev-tibi-svelte-starter.staging.testversion.online" CODING_URL="https://tibi-svelte-starter.code.testversion.online" CODING_TIBIADMIN_URL="https://tibi-svelte-starter-tibiadmin.code.testversion.online" # Build uses LIVE_URL as originURL/PREVIEW_URL base — point it at staging for the starter LIVE_URL="${STAGING_URL}" patch_env() { key="$1" val="$2" if grep -q "^${key}=" .env; then sed -i 's#^'"${key}"'=.*#'"${key}"'='"${val}"'#g' .env else printf '%s=%s\n' "${key}" "${val}" >> .env fi } patch_env "PROJECT_NAME" "${PROJECT_NAME}" patch_env "TIBI_NAMESPACE" "${TIBI_NAMESPACE}" patch_env "SENTRY_PROJECT" "${SENTRY_PROJECT}" patch_env "STAGING_URL" "${STAGING_URL}" patch_env "CODING_URL" "${CODING_URL}" patch_env "CODING_TIBIADMIN_URL" "${CODING_TIBIADMIN_URL}" patch_env "LIVE_URL" "${LIVE_URL}" echo "______ .env (starter-resolved) ______" cat .env