mirror of
https://github.com/dat515-2025/Group-8.git
synced 2026-03-22 06:57:47 +01:00
feat(infrastructure): add frontend, deploy to cloudflare
This commit is contained in:
26
.github/workflows/frontend-pages.yml
vendored
26
.github/workflows/frontend-pages.yml
vendored
@@ -60,21 +60,37 @@ jobs:
|
|||||||
EVENT_NAME: ${{ github.event_name }}
|
EVENT_NAME: ${{ github.event_name }}
|
||||||
PR_NUMBER: ${{ github.event.pull_request.number || inputs.pr_number }}
|
PR_NUMBER: ${{ github.event.pull_request.number || inputs.pr_number }}
|
||||||
PR_TEMPLATE: ${{ vars.BACKEND_URL_PR_TEMPLATE }}
|
PR_TEMPLATE: ${{ vars.BACKEND_URL_PR_TEMPLATE }}
|
||||||
PROD_DOMAIN: ${{ vars.PROD_DOMAIN }}
|
PROD_DOMAIN_VAR: ${{ vars.PROD_DOMAIN }}
|
||||||
|
PROD_DOMAIN_SECRET: ${{ secrets.PROD_DOMAIN }}
|
||||||
|
BACKEND_URL_OVERRIDE: ${{ vars.BACKEND_URL || secrets.BACKEND_URL }}
|
||||||
MODE: ${{ inputs.mode }}
|
MODE: ${{ inputs.mode }}
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
URL=""
|
URL=""
|
||||||
if [ -n "${PROD_DOMAIN:-}" ]; then
|
# 1) Explicit override wins (from repo var or secret)
|
||||||
|
if [ -n "${BACKEND_URL_OVERRIDE:-}" ]; then
|
||||||
|
if echo "$BACKEND_URL_OVERRIDE" | grep -Eiq '^https?://'; then
|
||||||
|
URL="$BACKEND_URL_OVERRIDE"
|
||||||
|
else
|
||||||
|
URL="https://${BACKEND_URL_OVERRIDE}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# 2) PR template when building for PR
|
||||||
|
if [ "${MODE:-}" = "pr" ] || [ "${EVENT_NAME}" = "pull_request" ]; then
|
||||||
|
if [ -n "${PR_TEMPLATE:-}" ] && [ -n "${PR_NUMBER:-}" ] ; then
|
||||||
|
URL="${PR_TEMPLATE//\{PR\}/${PR_NUMBER}}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# 3) Fallback to PROD_DOMAIN (prefer repo var, then secret)
|
||||||
|
if [ -z "$URL" ]; then
|
||||||
|
PROD_DOMAIN="${PROD_DOMAIN_VAR:-${PROD_DOMAIN_SECRET:-}}"
|
||||||
|
if [ -n "$PROD_DOMAIN" ]; then
|
||||||
if echo "$PROD_DOMAIN" | grep -Eiq '^https?://'; then
|
if echo "$PROD_DOMAIN" | grep -Eiq '^https?://'; then
|
||||||
URL="$PROD_DOMAIN"
|
URL="$PROD_DOMAIN"
|
||||||
else
|
else
|
||||||
URL="https://${PROD_DOMAIN}"
|
URL="https://${PROD_DOMAIN}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ "${MODE:-}" = "pr" ] || [ "${EVENT_NAME}" = "pull_request" ]; then
|
|
||||||
if [ -n "${PR_TEMPLATE:-}" ] && [ -n "${PR_NUMBER:-}" ] ; then
|
|
||||||
URL="${PR_TEMPLATE//\{PR\}/${PR_NUMBER}}"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
echo "Using backend URL: ${URL:-<empty>}"
|
echo "Using backend URL: ${URL:-<empty>}"
|
||||||
|
|||||||
Reference in New Issue
Block a user