Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
5a74666
Update parameters for AI services and remove secondary location refer…
Prachig-Microsoft Mar 17, 2026
2b56470
Remove aiDeploymentLocation parameter from workflows and documentation
Prachig-Microsoft Mar 18, 2026
784f5dd
Revert environment variable naming to original format
Prachig-Microsoft Mar 20, 2026
cef5227
Fix Log Analytics workspace variable naming consistency
Prachig-Microsoft Mar 23, 2026
1fbaf05
Rename Log Analytics Workspace ID to Resource ID and update validatio…
Vamshi-Microsoft Mar 26, 2026
9f37f38
Update environment variable names for consistency - AZURE_ENV_FOUNDRY…
Prachig-Microsoft Apr 9, 2026
87574a4
Update compiled bicep output (main.json) after parameter name changes
Prachig-Microsoft Apr 9, 2026
208aa30
Fix AZURE_EXISTING_AIPROJECT_RESOURCE_ID variable name mismatch in wo…
Prachig-Microsoft Apr 9, 2026
b7138e0
Add gawk to Dockerfile dependencies for uv installer checksum validation
Prachig-Microsoft Apr 9, 2026
91d33e2
Merge branch 'dev' of https://github.com/microsoft/Container-Migratio…
Prachig-Microsoft Apr 9, 2026
fec1bec
Resolve merge conflicts in main.json
Prachig-Microsoft Apr 9, 2026
484dbde
Remove duplicate gawk entries from Dockerfiles
Prachig-Microsoft Apr 9, 2026
ae79ccc
Merge latest changes from dev branch
Prachig-Microsoft Apr 14, 2026
045abc8
Standardize azd environment variable naming convention
Prachig-Microsoft Apr 14, 2026
b26a5a4
Revert GitHub secret names to existing ones to avoid workflow failures
Prachig-Microsoft Apr 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/azd-template-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ jobs:
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
AZURE_ENV_NAME: azd-${{ vars.AZURE_ENV_NAME }}-${{ env.HHMM }}
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_AI_SERVICE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_AI_MODEL_CAPACITY: 1 # keep low to avoid potential quota issues
AZURE_ENV_AI_SERVICE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_ENV_GPT_MODEL_CAPACITY: 1 # keep low to avoid potential quota issues

- name: print result
run: cat ${{ steps.validation.outputs.resultFile }}
2 changes: 1 addition & 1 deletion .github/workflows/azure-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,5 @@ jobs:
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
fi
azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
azd env set AZURE_AI_SERVICE_LOCATION="$AZURE_LOCATION"
azd env set AZURE_ENV_AI_SERVICE_LOCATION="$AZURE_LOCATION"
azd up --no-prompt
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,6 @@ jobs:
--template-file infra/main.bicep \
--parameters solutionName=${{env.SOLUTION_PREFIX}} \
--parameters location=${{ env.AZURE_LOCATION }} \
--parameters aiDeploymentLocation=${{ env.AZURE_LOCATION }} \
--parameters azureAiServiceLocation=${{ env.AZURE_LOCATION }} \
--parameters createdBy="pipeline" \
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/deploy-orchestrator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ on:
required: false
default: false
type: boolean
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
description: 'Log Analytics Workspace ID (Optional)'
required: false
default: ''
type: string
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
AZURE_EXISTING_AIPROJECT_RESOURCE_ID:
description: 'AI Project Resource ID (Optional)'
required: false
default: ''
Expand Down Expand Up @@ -81,8 +81,8 @@ jobs:
EXP: ${{ inputs.EXP }}
build_docker_image: ${{ inputs.build_docker_image }}
existing_webapp_url: ${{ inputs.existing_webapp_url }}
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
AZURE_EXISTING_AIPROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AIPROJECT_RESOURCE_ID }}
docker_image_tag: ${{ needs.docker-build.outputs.IMAGE_TAG }}
cleanup_resources: ${{ inputs.cleanup_resources }}
secrets: inherit
Expand Down
48 changes: 24 additions & 24 deletions .github/workflows/deploy-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,12 @@ on:
default: false
type: boolean

AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
description: 'Log Analytics Workspace ID (Optional)'
required: false
default: ''
type: string
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
AZURE_EXISTING_AIPROJECT_RESOURCE_ID:
description: 'AI Project Resource ID (Optional)'
required: false
default: ''
Expand All @@ -112,8 +112,8 @@ jobs:
exp: ${{ steps.validate.outputs.exp }}
build_docker_image: ${{ steps.validate.outputs.build_docker_image }}
cleanup_resources: ${{ steps.validate.outputs.cleanup_resources }}
azure_env_log_analytics_workspace_id: ${{ steps.validate.outputs.azure_env_log_analytics_workspace_id }}
azure_existing_ai_project_resource_id: ${{ steps.validate.outputs.azure_existing_ai_project_resource_id }}
azure_env_existing_log_analytics_workspace_rid: ${{ steps.validate.outputs.azure_env_existing_log_analytics_workspace_rid }}
azure_existing_aiproject_resource_id: ${{ steps.validate.outputs.azure_existing_aiproject_resource_id }}
existing_webapp_url: ${{ steps.validate.outputs.existing_webapp_url }}
steps:
- name: Validate Workflow Input Parameters
Expand All @@ -127,8 +127,8 @@ jobs:
INPUT_EXP: ${{ github.event.inputs.EXP }}
INPUT_BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image }}
INPUT_CLEANUP_RESOURCES: ${{ github.event.inputs.cleanup_resources }}
INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ github.event.inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AIPROJECT_RESOURCE_ID }}
INPUT_EXISTING_WEBAPP_URL: ${{ github.event.inputs.existing_webapp_url }}
run: |
echo "🔍 Validating workflow input parameters..."
Expand Down Expand Up @@ -209,32 +209,32 @@ jobs:
echo "✅ cleanup_resources: '$CLEANUP_RESOURCES' is valid"
fi

# Validate AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID (optional, Azure Resource ID format)
if [[ -n "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then
if [[ ! "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then
echo "❌ ERROR: AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID is invalid. Must be a valid Azure Resource ID format:"
# Validate AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID (optional, Azure Resource ID format)
if [[ -n "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" ]]; then
if [[ ! "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then
echo "❌ ERROR: AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID is invalid. Must be a valid Azure Resource ID format:"
echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}"
echo " Got: '$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID'"
echo " Got: '$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID'"
VALIDATION_FAILED=true
else
echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Valid Resource ID format"
echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Valid Resource ID format"
fi
else
echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Not provided (optional)"
echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Not provided (optional)"
fi

# Validate AZURE_EXISTING_AI_PROJECT_RESOURCE_ID (optional, Azure Resource ID format)
if [[ -n "$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" ]]; then
if [[ ! "$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/([Mm]icrosoft\.[Mm]achine[Ll]earning[Ss]ervices/([Ww]orkspaces|[Pp]rojects)/[^/]+|[Mm]icrosoft\.[Cc]ognitive[Ss]ervices/[Aa]ccounts/[^/]+/[Pp]rojects/[^/]+)$ ]]; then
echo "❌ ERROR: AZURE_EXISTING_AI_PROJECT_RESOURCE_ID is invalid. Must be a valid Azure Resource ID format:"
# Validate AZURE_EXISTING_AIPROJECT_RESOURCE_ID (optional, Azure Resource ID format)
if [[ -n "$INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID" ]]; then
if [[ ! "$INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/([Mm]icrosoft\.[Mm]achine[Ll]earning[Ss]ervices/([Ww]orkspaces|[Pp]rojects)/[^/]+|[Mm]icrosoft\.[Cc]ognitive[Ss]ervices/[Aa]ccounts/[^/]+/[Pp]rojects/[^/]+)$ ]]; then
echo "❌ ERROR: AZURE_EXISTING_AIPROJECT_RESOURCE_ID is invalid. Must be a valid Azure Resource ID format:"
echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/projects/{projectName}"
echo " Got: '$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID'"
echo " Got: '$INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID'"
VALIDATION_FAILED=true
else
echo "✅ AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: Valid Resource ID format"
echo "✅ AZURE_EXISTING_AIPROJECT_RESOURCE_ID: Valid Resource ID format"
fi
else
echo "✅ AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: Not provided (optional)"
echo "✅ AZURE_EXISTING_AIPROJECT_RESOURCE_ID: Not provided (optional)"
fi

# Validate existing_webapp_url (optional, must start with https)
Expand Down Expand Up @@ -268,8 +268,8 @@ jobs:
echo "exp=$EXP_ENABLED" >> $GITHUB_OUTPUT
echo "build_docker_image=$BUILD_DOCKER" >> $GITHUB_OUTPUT
echo "cleanup_resources=$CLEANUP_RESOURCES" >> $GITHUB_OUTPUT
echo "azure_env_log_analytics_workspace_id=$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" >> $GITHUB_OUTPUT
echo "azure_existing_ai_project_resource_id=$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" >> $GITHUB_OUTPUT
echo "azure_env_existing_log_analytics_workspace_rid=$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" >> $GITHUB_OUTPUT
echo "azure_existing_aiproject_resource_id=$INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID" >> $GITHUB_OUTPUT
echo "existing_webapp_url=$INPUT_EXISTING_WEBAPP_URL" >> $GITHUB_OUTPUT

Run:
Expand All @@ -284,8 +284,8 @@ jobs:
EXP: ${{ needs.validate-inputs.outputs.exp == 'true' }}
build_docker_image: ${{ needs.validate-inputs.outputs.build_docker_image == 'true' }}
cleanup_resources: ${{ needs.validate-inputs.outputs.cleanup_resources == 'true' }}
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ needs.validate-inputs.outputs.azure_env_log_analytics_workspace_id || '' }}
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ needs.validate-inputs.outputs.azure_existing_ai_project_resource_id || '' }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ needs.validate-inputs.outputs.azure_env_existing_log_analytics_workspace_rid || '' }}
AZURE_EXISTING_AIPROJECT_RESOURCE_ID: ${{ needs.validate-inputs.outputs.azure_existing_aiproject_resource_id || '' }}
existing_webapp_url: ${{ needs.validate-inputs.outputs.existing_webapp_url || '' }}
trigger_type: ${{ github.event_name }}
secrets: inherit
2 changes: 1 addition & 1 deletion .github/workflows/job-cleanup-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ jobs:
azd env set AZURE_RESOURCE_GROUP "${RESOURCE_GROUP_NAME}"
azd env set AZURE_SUBSCRIPTION_ID "${{ secrets.AZURE_SUBSCRIPTION_ID }}"
azd env set AZURE_LOCATION="${AZURE_LOCATION}"
azd env set AZURE_AI_DEPLOYMENT_TYPE="${AZURE_ENV_OPENAI_LOCATION}"
azd env set AZURE_ENV_MODEL_DEPLOYMENT_TYPE="${AZURE_ENV_OPENAI_LOCATION}"
fi

- name: Delete deployment using azd
Expand Down
Loading
Loading