diff --git a/.github/workflows/url_generator.yml b/.github/workflows/url_generator.yml index 936d117..ed1a4b8 100644 --- a/.github/workflows/url_generator.yml +++ b/.github/workflows/url_generator.yml @@ -1,9 +1,12 @@ -name: url_generator +# .github/workflows/url_generator.yml + +name: Generate Preview or Production URLs + on: workflow_call: inputs: mode: - description: "Mode: 'prod' or 'pr'" + description: "Build mode: 'prod' or 'pr'" required: true type: string pr_number: @@ -11,37 +14,56 @@ on: required: false type: string runner: - description: 'Runner to use (default: ubuntu-latest)' + description: 'The runner to use for this job' required: false type: string + default: 'ubuntu-latest' + secrets: inherit + + 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: - get_urls: - runs-on: ${{inputs.runner || 'ubuntu-latest'}} + generate-urls: + runs-on: ${{ inputs.runner }} 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 }} + 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: Compute URLs PROD - id: urls + - name: Generate URLs + id: set_urls + env: + BASE_DOMAIN: ${{ secrets.BASE_DOMAIN }} run: | set -euo pipefail if [ "${{ inputs.mode }}" = "prod" ]; then - BACKEND_URL="api.${{ vars.PROD_DOMAIN }}" - FRONTEND_URL="finance.${{ vars.PROD_DOMAIN }}" - + BACKEND_URL="api.${BASE_DOMAIN}" + FRONTEND_URL="finance.${BASE_DOMAIN}" else - FRONTEND_URL="pr-${{inputs.pr_number}}.${{ vars.DEV_FRONTEND_BASE_DOMAIN }}" - BACKEND_URL="api-pr-${{inputs.pr_number}}.${{ vars.DEV_BASE_DOMAIN }}" + # 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