mirror of
https://github.com/dat515-2025/Group-8.git
synced 2026-03-22 06:57:47 +01:00
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
74 lines
2.6 KiB
YAML
74 lines
2.6 KiB
YAML
name: Generate Preview or Production URLs
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
mode:
|
|
description: "Build mode: 'prod' or 'pr'"
|
|
required: true
|
|
type: string
|
|
pr_number:
|
|
description: 'PR number (required when mode=pr)'
|
|
required: false
|
|
type: string
|
|
runner:
|
|
description: 'The runner to use for this job'
|
|
required: false
|
|
type: string
|
|
default: 'ubuntu-latest'
|
|
base_domain:
|
|
description: 'The base domain for production URLs (e.g., example.com)'
|
|
required: true
|
|
type: string
|
|
|
|
outputs:
|
|
backend_url:
|
|
description: "The backend URL without scheme (e.g., api.example.com)"
|
|
value: ${{ jobs.generate-urls.outputs.backend_url }}
|
|
frontend_url:
|
|
description: "The frontend URL without scheme (e.g., app.example.com)"
|
|
value: ${{ jobs.generate-urls.outputs.frontend_url }}
|
|
backend_url_scheme:
|
|
description: "The backend URL with scheme (e.g., https://api.example.com)"
|
|
value: ${{ jobs.generate-urls.outputs.backend_url_scheme }}
|
|
frontend_url_scheme:
|
|
description: "The frontend URL with scheme (e.g., https://app.example.com)"
|
|
value: ${{ jobs.generate-urls.outputs.frontend_url_scheme }}
|
|
|
|
jobs:
|
|
generate-urls:
|
|
permissions:
|
|
contents: none
|
|
runs-on: ${{ inputs.runner }}
|
|
|
|
outputs:
|
|
backend_url: ${{ steps.set_urls.outputs.backend_url }}
|
|
frontend_url: ${{ steps.set_urls.outputs.frontend_url }}
|
|
backend_url_scheme: ${{ steps.set_urls.outputs.backend_url_scheme }}
|
|
frontend_url_scheme: ${{ steps.set_urls.outputs.frontend_url_scheme }}
|
|
|
|
steps:
|
|
- name: Generate URLs
|
|
id: set_urls
|
|
env:
|
|
BASE_DOMAIN: ${{ inputs.base_domain }}
|
|
run: |
|
|
set -euo pipefail
|
|
|
|
if [ "${{ inputs.mode }}" = "prod" ]; then
|
|
BACKEND_URL="api.${BASE_DOMAIN}"
|
|
FRONTEND_URL="finance.${BASE_DOMAIN}"
|
|
else
|
|
# This is your current logic
|
|
FRONTEND_URL="pr-${{ inputs.pr_number }}.group-8-frontend.pages.dev"
|
|
BACKEND_URL="api-pr-${{ inputs.pr_number }}.${BASE_DOMAIN}"
|
|
fi
|
|
|
|
FRONTEND_URL_SCHEME="https://$FRONTEND_URL"
|
|
BACKEND_URL_SCHEME="https://$BACKEND_URL"
|
|
|
|
# This part correctly writes to GITHUB_OUTPUT for the step
|
|
echo "backend_url_scheme=$BACKEND_URL_SCHEME" >> $GITHUB_OUTPUT
|
|
echo "frontend_url_scheme=$FRONTEND_URL_SCHEME" >> $GITHUB_OUTPUT
|
|
echo "backend_url=$BACKEND_URL" >> $GITHUB_OUTPUT
|
|
echo "frontend_url=$FRONTEND_URL" >> $GITHUB_OUTPUT |