@@ -1487,6 +1487,7 @@ jobs:
14871487 azd env set RS_KEY "$TFSTATE_KEY"
14881488
14891489 - name : Initialize Terraform backend for environment refresh
1490+ continue-on-error : true
14901491 env :
14911492 ARM_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
14921493 ARM_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
@@ -1542,6 +1543,7 @@ jobs:
15421543 fi
15431544
15441545 - name : Refresh deployment environment outputs
1546+ continue-on-error : true
15451547 run : azd env refresh -e "$AZURE_ENV_NAME" --no-prompt
15461548
15471549 - name : Build and deploy service image
@@ -1771,13 +1773,58 @@ jobs:
17711773
17721774 echo "DEPLOY_SKIPPED=false" >> "$GITHUB_ENV"
17731775
1774- eval "$(azd env get-values -e "$AZURE_ENV_NAME" --no-prompt | sed -E 's/^([^=]+)=(.*)$/export \1=\2/')"
1776+ eval "$(azd env get-values -e "$AZURE_ENV_NAME" --no-prompt | sed -E 's/^([^=]+)=(.*)$/export \1=\2/' || true )"
17751777
1776- required_shared_env=(
1777- COSMOS_ENDPOINT
1778- COSMOS_DATABASE
1779- PROJECT_ENDPOINT
1780- )
1778+ RG_NAME="tutor-${AZURE_ENV_NAME}"
1779+ cosmos_account_name=""
1780+
1781+ if [ -z "${COSMOS_ENDPOINT:-}" ] || [ -z "${COSMOS_DATABASE:-}" ]; then
1782+ cosmos_account_name="$(az cosmosdb list --resource-group "$RG_NAME" --query '[0].name' -o tsv 2>/dev/null || true)"
1783+ fi
1784+
1785+ if [ -n "$cosmos_account_name" ]; then
1786+ if [ -z "${COSMOS_ENDPOINT:-}" ]; then
1787+ COSMOS_ENDPOINT="$(az cosmosdb show --resource-group "$RG_NAME" --name "$cosmos_account_name" --query documentEndpoint -o tsv 2>/dev/null || true)"
1788+ fi
1789+ if [ -z "${COSMOS_DATABASE:-}" ]; then
1790+ COSMOS_DATABASE="$(az cosmosdb sql database list --resource-group "$RG_NAME" --account-name "$cosmos_account_name" --query '[0].name' -o tsv 2>/dev/null || true)"
1791+ fi
1792+ fi
1793+
1794+ : "${COSMOS_AVATAR_CASE_TABLE:=avatar_case}"
1795+ : "${COSMOS_CONFIGURATION_TABLE:=configuration}"
1796+ : "${COSMOS_STUDENT_TABLE:=students}"
1797+ : "${COSMOS_PROFESSOR_TABLE:=professors}"
1798+ : "${COSMOS_COURSE_TABLE:=courses}"
1799+ : "${COSMOS_CLASS_TABLE:=classes}"
1800+ : "${COSMOS_GROUP_TABLE:=groups}"
1801+ : "${COSMOS_ESSAY_TABLE:=essays}"
1802+ : "${COSMOS_RESOURCE_TABLE:=resources}"
1803+ : "${COSMOS_ASSEMBLY_TABLE:=assemblies}"
1804+ : "${COSMOS_QUESTION_TABLE:=questions}"
1805+ : "${COSMOS_ANSWER_TABLE:=answers}"
1806+ : "${COSMOS_GRADER_TABLE:=graders}"
1807+ : "${COSMOS_UPSKILLING_TABLE:=upskilling_plans}"
1808+ : "${COSMOS_INSIGHTS_REPORT_TABLE:=insights_reports}"
1809+ : "${COSMOS_INSIGHTS_FEEDBACK_TABLE:=insights_feedback}"
1810+
1811+ case "$SERVICE" in
1812+ insights)
1813+ required_shared_env=(
1814+ COSMOS_ENDPOINT
1815+ COSMOS_DATABASE
1816+ COSMOS_INSIGHTS_REPORT_TABLE
1817+ COSMOS_INSIGHTS_FEEDBACK_TABLE
1818+ )
1819+ ;;
1820+ *)
1821+ required_shared_env=(
1822+ COSMOS_ENDPOINT
1823+ COSMOS_DATABASE
1824+ PROJECT_ENDPOINT
1825+ )
1826+ ;;
1827+ esac
17811828
17821829 missing_required_env=()
17831830 for env_name in "${required_shared_env[@]}"; do
0 commit comments