name: url_generator on: workflow_call: inputs: mode: description: "Mode: 'prod' or 'pr'" required: true type: string pr_number: description: 'PR number (required when mode=pr)' required: false type: string jobs: get_urls: runs-on: ubuntu-latest outputs: backend_url: ${{ steps.urls.outputs.backend_url }} frontend_url: ${{ steps.urls.outputs.frontend_url }} frontend_url_scheme: ${{ steps.urls.outputs.frontend_url_scheme }} backend_url_scheme: ${{ steps.urls.outputs.backend_url_scheme }} steps: - name: Compute URLs PROD id: urls run: | set -euo pipefail if [ "${{ inputs.mode }}" = "prod" ]; then BACKEND_URL="api.${{ vars.PROD_DOMAIN }}" FRONTEND_URL="finance.${{ vars.PROD_DOMAIN }}" else FRONTEND_URL="pr-${{inputs.pr_number}}.${{ vars.DEV_FRONTEND_BASE_DOMAIN }}" BACKEND_URL="api-pr-${{inputs.pr_number}}.${{ vars.DEV_BASE_DOMAIN }}" fi FRONTEND_URL_SCHEME="https://$FRONTEND_URL" BACKEND_URL_SCHEME="https://$BACKEND_URL" 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