Files
tibi-svelte-starter/scripts/ci-starter-defaults.sh
T
2026-10-05 17:00:55 +00:00

64 lines
2.0 KiB
Bash
Executable File

#!/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}"
# Staging never runs with mock data (build-time flag __MOCK__)
MOCK="0"
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}"
patch_env "MOCK" "${MOCK}"
echo "______ .env (starter-resolved) ______"
cat .env