Files
tibi-svelte-starter/scripts/ci-modify-config.sh

46 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# CI step: modify config for deployment
# Called from .gitea/workflows/deploy.yml
# Enable sentry
sed -i 's#\(sentryEnvironment.*\)".*"#\1"'"${GITHUB_REF_NAME}"'"#g' frontend/src/config.ts
sed -i 's#//\( sentry\\.init.*\)#\1#g' frontend/src/config.ts
sed -i 's#metrictCall = false#metrictCall = true#g' frontend/src/config.ts
# Build release string from git info
set -o allexport
. ./.env
echo "PROJECT_RELEASE=${SENTRY_PROJECT}.r$(git rev-list HEAD --count)-$(git describe --all --long | sed 's+/+-+')" >> .env
. ./.env
set +o allexport
echo "______ .env ______"
cat .env
echo
# Inject release and origin URL into hooks
sed -i 's#\(const release = \).*#\1"'"${PROJECT_RELEASE}"'"#g' api/hooks/config-client.js
sed -i 's#\(const originURL = \).*#\1"'"${LIVE_URL}"'"#g' api/hooks/config-client.js
# Inject cache-busting timestamp
stamp=$(date +%s)
sed -i "s/__TIMESTAMP__/${stamp}/g" frontend/spa.html
# Copy spa.html to api/templates (remove symlink or file first)
if [ -d api/templates ]; then
[ -L api/templates/spa.html ] && rm api/templates/spa.html
[ -f api/templates/spa.html ] && rm api/templates/spa.html
cp frontend/spa.html api/templates/spa.html
fi
echo "______ frontend/spa.html ______"
cat frontend/spa.html
# Set preview URL
sed -i 's#\(PREVIEW_URL=\).*#\1'"${LIVE_URL}"'/preview#g' api/config.yml.env
echo "______ api/config.yml.env ______"
cat api/config.yml.env