Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
4f5fbad
feat: add UserProfile component to display authenticated user informa…
Vamshi-Microsoft Apr 30, 2026
2521cae
Merge branch 'dev' into psl-add-User-Profile
Vamshi-Microsoft May 8, 2026
9921bad
Enhance Header component to conditionally render UserProfile based on…
Vamshi-Microsoft May 8, 2026
6cf5d4b
Update Tooltip content in UserProfile to display a more informative m…
Vamshi-Microsoft May 8, 2026
783f34c
Beautify the email template
Vamshi-Microsoft May 11, 2026
3099a3f
Merge pull request #429 from microsoft/psl-add-User-Profile
Roopan-Microsoft May 11, 2026
4e83a97
Merge branch 'dev' into Pls-update-email-template
Vamshi-Microsoft May 12, 2026
3311dae
Rename logout to signOut in UserProfile and useAuth for consistency; …
Vamshi-Microsoft May 12, 2026
8345e19
Add owner tag to RG and Enhance email notification template to includ…
Vamshi-Microsoft May 12, 2026
be5088a
Add enable_scalability input default false to deployment workflows fo…
Vamshi-Microsoft May 12, 2026
2b63fe0
Update descriptions for workflow inputs in deploy-v2.yml for clarity
Vamshi-Microsoft May 12, 2026
3b481c1
Refactor UserProfile and useAuth to standardize logout terminology
Vamshi-Microsoft May 12, 2026
0baf1e2
Refactor UserProfile and useAuth to standardize sign out terminology
Vamshi-Microsoft May 12, 2026
dc9fd05
Add additional Azure regions and update description for existing_weba…
Vamshi-Microsoft May 12, 2026
eba6add
Update owner tag to Owner
Vamshi-Microsoft May 13, 2026
b6f3567
Resolve copilot comments
Vamshi-Microsoft May 13, 2026
81f2af6
Merge pull request #431 from microsoft/psl-Tag-owner-Add-ScalabilityI…
Roopan-Microsoft May 13, 2026
65f4d0a
fix(infra): remove enableAnalyticalStorage on Cosmos DB account creation
Shreyas-Microsoft May 13, 2026
e62acf2
Merge pull request #432 from microsoft/psl-sw/fix-cosmos-analytical-s…
Roopan-Microsoft May 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
6 changes: 6 additions & 0 deletions .github/workflows/deploy-orchestrator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ on:
required: false
default: false
type: boolean
enable_scalability:
description: 'Enable Scalability (only applies when WAF is enabled)'
required: false
default: false
type: boolean
EXP:
description: 'Enable EXP'
required: false
Expand Down Expand Up @@ -83,6 +88,7 @@ jobs:
azure_location: ${{ inputs.azure_location }}
resource_group_name: ${{ inputs.resource_group_name }}
waf_enabled: ${{ inputs.waf_enabled }}
enable_scalability: ${{ inputs.enable_scalability }}
EXP: ${{ inputs.EXP }}
build_docker_image: ${{ inputs.build_docker_image }}
existing_webapp_url: ${{ inputs.existing_webapp_url }}
Expand Down
45 changes: 36 additions & 9 deletions .github/workflows/deploy-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,41 +23,49 @@ on:
- 'Local'
default: 'codespace'
azure_location:
description: 'Azure Location For Deployment'
description: 'Azure Region (Non-AI Services)'
required: false
default: 'australiaeast'
type: choice
options:
- 'australiaeast'
- 'centralus'
- 'eastasia'
- 'eastus'
- 'eastus2'
- 'japaneast'
- 'northeurope'
- 'southeastasia'
- 'uksouth'
- 'westeurope'
resource_group_name:
description: 'Resource Group Name (Optional)'
required: false
default: ''
type: string

build_docker_image:
description: 'Build & Use Custom Images (Optional)'
required: false
default: false
type: boolean
waf_enabled:
description: 'Enable WAF'
description: 'Deploy WAF'
required: false
default: false
type: boolean
EXP:
description: 'Enable EXP'
description: 'Deploy EXP'
required: false
default: false
type: boolean
build_docker_image:
description: 'Build & Push Docker Image (Optional)'
enable_scalability:
description: 'Enable Scalability'
required: false
default: false
type: boolean
cleanup_resources:
description: 'Cleanup Deployed Resources'
description: 'Auto Delete RG'
required: false
default: false
type: boolean
Expand All @@ -71,17 +79,17 @@ on:
- 'Smoke-Testing'
- 'None'
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
description: 'Log Analytics Workspace Resource ID (Optional)'
description: 'Existing Log Analytics Workspace Resource ID (Optional)'
required: false
default: ''
type: string
AZURE_EXISTING_AIPROJECT_RESOURCE_ID:
description: 'Foundry Project Resource ID (Optional)'
description: 'Existing AI Project Resource ID (Optional)'
required: false
default: ''
type: string
existing_webapp_url:
description: 'Existing Container WebApp URL (Skips Deployment)'
description: 'Run Tests Against Existing RG (Provide Web App URL)'
required: false
default: ''
type: string
Expand All @@ -99,6 +107,7 @@ jobs:
resource_group_name: ${{ steps.validate.outputs.resource_group_name }}
waf_enabled: ${{ steps.validate.outputs.waf_enabled }}
exp: ${{ steps.validate.outputs.exp }}
enable_scalability: ${{ steps.validate.outputs.enable_scalability }}
build_docker_image: ${{ steps.validate.outputs.build_docker_image }}
cleanup_resources: ${{ steps.validate.outputs.cleanup_resources }}
run_e2e_tests: ${{ steps.validate.outputs.run_e2e_tests }}
Expand All @@ -115,6 +124,7 @@ jobs:
INPUT_RESOURCE_GROUP_NAME: ${{ github.event.inputs.resource_group_name }}
INPUT_WAF_ENABLED: ${{ github.event.inputs.waf_enabled }}
INPUT_EXP: ${{ github.event.inputs.EXP }}
INPUT_ENABLE_SCALABILITY: ${{ github.event.inputs.enable_scalability }}
INPUT_BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image }}
INPUT_CLEANUP_RESOURCES: ${{ github.event.inputs.cleanup_resources }}
INPUT_RUN_E2E_TESTS: ${{ github.event.inputs.run_e2e_tests }}
Expand Down Expand Up @@ -182,6 +192,21 @@ jobs:
echo "✅ EXP: '$EXP_ENABLED' is valid"
fi

# Validate enable_scalability (boolean)
ENABLE_SCALABILITY="${INPUT_ENABLE_SCALABILITY:-false}"
if [[ "$ENABLE_SCALABILITY" != "true" && "$ENABLE_SCALABILITY" != "false" ]]; then
echo "❌ ERROR: enable_scalability must be 'true' or 'false', got: '$ENABLE_SCALABILITY'"
VALIDATION_FAILED=true
else
echo "✅ enable_scalability: '$ENABLE_SCALABILITY' is valid"
fi

# enable_scalability only applies when waf_enabled=true; auto-disable otherwise
if [[ "$WAF_ENABLED" != "true" && "$ENABLE_SCALABILITY" == "true" ]]; then
echo "⚠️ enable_scalability=true is only supported with waf_enabled=true. Forcing enable_scalability=false."
ENABLE_SCALABILITY="false"
fi

# Validate build_docker_image (boolean)
BUILD_DOCKER="${INPUT_BUILD_DOCKER_IMAGE:-false}"
if [[ "$BUILD_DOCKER" != "true" && "$BUILD_DOCKER" != "false" ]]; then
Expand Down Expand Up @@ -266,6 +291,7 @@ jobs:
echo "resource_group_name=$INPUT_RESOURCE_GROUP_NAME" >> $GITHUB_OUTPUT
echo "waf_enabled=$WAF_ENABLED" >> $GITHUB_OUTPUT
echo "exp=$EXP_ENABLED" >> $GITHUB_OUTPUT
echo "enable_scalability=$ENABLE_SCALABILITY" >> $GITHUB_OUTPUT
echo "build_docker_image=$BUILD_DOCKER" >> $GITHUB_OUTPUT
echo "cleanup_resources=$CLEANUP_RESOURCES" >> $GITHUB_OUTPUT
echo "run_e2e_tests=$TEST_OPTION" >> $GITHUB_OUTPUT
Expand All @@ -283,6 +309,7 @@ jobs:
resource_group_name: ${{ needs.validate-inputs.outputs.resource_group_name || '' }}
waf_enabled: ${{ needs.validate-inputs.outputs.waf_enabled == 'true' }}
EXP: ${{ needs.validate-inputs.outputs.exp == 'true' }}
enable_scalability: ${{ needs.validate-inputs.outputs.enable_scalability == 'true' }}
build_docker_image: ${{ needs.validate-inputs.outputs.build_docker_image == 'true' }}
cleanup_resources: ${{ needs.validate-inputs.outputs.cleanup_resources == 'true' }}
run_e2e_tests: ${{ needs.validate-inputs.outputs.run_e2e_tests || 'GoldenPath-Testing' }}
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/job-deploy-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ on:
required: false
type: string
default: 'false'
ENABLE_SCALABILITY:
required: false
type: string
default: 'false'
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
required: false
type: string
Expand Down Expand Up @@ -188,10 +192,26 @@ jobs:
shell: bash
env:
INPUT_WAF_ENABLED: ${{ inputs.WAF_ENABLED }}
INPUT_ENABLE_SCALABILITY: ${{ inputs.ENABLE_SCALABILITY }}
run: |
set -euo pipefail
if [[ "$INPUT_WAF_ENABLED" == "true" ]]; then
cp infra/main.waf.parameters.json infra/main.parameters.json
echo "✅ Successfully copied WAF parameters to main parameters file"
SCALABILITY_VALUE="${INPUT_ENABLE_SCALABILITY:-false}"
if [[ "$SCALABILITY_VALUE" != "true" && "$SCALABILITY_VALUE" != "false" ]]; then
echo "❌ ERROR: ENABLE_SCALABILITY must be 'true' or 'false', got: '$SCALABILITY_VALUE'"
exit 1
fi
echo "🔧 Setting enableScalability=${SCALABILITY_VALUE}"
tmpfile=$(mktemp)
if ! jq --argjson v "$SCALABILITY_VALUE" '.parameters.enableScalability.value = $v' infra/main.parameters.json > "$tmpfile"; then
echo "❌ ERROR: jq failed to update enableScalability in infra/main.parameters.json"
rm -f "$tmpfile"
exit 1
fi
mv "$tmpfile" infra/main.parameters.json
echo "✅ enableScalability set to ${SCALABILITY_VALUE}"
else
echo "🔧 Configuring Non-WAF deployment - using default main.parameters.json..."
fi
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/job-deploy-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ on:
required: false
type: string
default: 'false'
ENABLE_SCALABILITY:
required: false
type: string
default: 'false'
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
required: false
type: string
Expand Down Expand Up @@ -188,10 +192,26 @@ jobs:
shell: bash
env:
INPUT_WAF_ENABLED: ${{ inputs.WAF_ENABLED }}
INPUT_ENABLE_SCALABILITY: ${{ inputs.ENABLE_SCALABILITY }}
run: |
set -euo pipefail
if [[ "$INPUT_WAF_ENABLED" == "true" ]]; then
cp infra/main.waf.parameters.json infra/main.parameters.json
echo "✅ Successfully copied WAF parameters to main parameters file"
SCALABILITY_VALUE="${INPUT_ENABLE_SCALABILITY:-false}"
if [[ "$SCALABILITY_VALUE" != "true" && "$SCALABILITY_VALUE" != "false" ]]; then
echo "❌ ERROR: ENABLE_SCALABILITY must be 'true' or 'false', got: '$SCALABILITY_VALUE'"
exit 1
fi
echo "🔧 Setting enableScalability=${SCALABILITY_VALUE}"
tmpfile=$(mktemp)
if ! jq --argjson v "$SCALABILITY_VALUE" '.parameters.enableScalability.value = $v' infra/main.parameters.json > "$tmpfile"; then
echo "❌ ERROR: jq failed to update enableScalability in infra/main.parameters.json"
rm -f "$tmpfile"
exit 1
fi
mv "$tmpfile" infra/main.parameters.json
echo "✅ enableScalability set to ${SCALABILITY_VALUE}"
else
echo "🔧 Configuring Non-WAF deployment - using default main.parameters.json..."
fi
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/job-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ on:
required: false
default: false
type: boolean
enable_scalability:
description: 'Enable Scalability (only applies when WAF is enabled)'
required: false
default: false
type: boolean
EXP:
description: 'Enable EXP'
required: false
Expand Down Expand Up @@ -362,15 +367,17 @@ jobs:
rg_exists=$(az group exists --name $RESOURCE_GROUP_NAME)
if [ "$rg_exists" = "false" ]; then
echo "📦 Resource group does not exist. Creating new resource group '$RESOURCE_GROUP_NAME' in location '$AZURE_LOCATION'..."
RG_TAGS="${{ env.RG_TAGS }}"
RG_TAGS="${{ vars.RG_TAGS }}"
echo "🏷️ Adding owner tag: Owner=${{ github.actor }}"
if [ -n "$RG_TAGS" ]; then
az group create --name $RESOURCE_GROUP_NAME --location $AZURE_LOCATION --tags "$RG_TAGS" || { echo "❌ Error creating resource group"; exit 1; }
az group create --name $RESOURCE_GROUP_NAME --location $AZURE_LOCATION --tags $RG_TAGS "Owner=${{ github.actor }}" || { echo "❌ Error creating resource group"; exit 1; }
else
az group create --name $RESOURCE_GROUP_NAME --location $AZURE_LOCATION || { echo "❌ Error creating resource group"; exit 1; }
az group create --name $RESOURCE_GROUP_NAME --location $AZURE_LOCATION --tags "Owner=${{ github.actor }}" || { echo "❌ Error creating resource group"; exit 1; }
fi
echo "✅ Resource group '$RESOURCE_GROUP_NAME' created successfully."
else
echo "✅ Resource group '$RESOURCE_GROUP_NAME' already exists. Deploying to existing resource group."
echo "✅ Resource group '$RESOURCE_GROUP_NAME' already exists. Updating Owner tag to '${{ github.actor }}'."
az group update --name "$RESOURCE_GROUP_NAME" --set tags.Owner="${{ github.actor }}" >/dev/null || echo "⚠️ Warning: failed to update Owner tag on existing resource group."
fi
echo "RESOURCE_GROUP_NAME=$RESOURCE_GROUP_NAME" >> $GITHUB_OUTPUT
echo "RESOURCE_GROUP_NAME=$RESOURCE_GROUP_NAME" >> $GITHUB_ENV
Expand Down Expand Up @@ -484,6 +491,7 @@ jobs:
BUILD_DOCKER_IMAGE: ${{ inputs.build_docker_image || 'false' }}
EXP: ${{ needs.azure-setup.outputs.EXP_ENABLED }}
WAF_ENABLED: ${{ inputs.waf_enabled == true && 'true' || 'false' }}
ENABLE_SCALABILITY: ${{ inputs.enable_scalability == true && 'true' || 'false' }}
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 }}
secrets: inherit
Expand All @@ -502,6 +510,7 @@ jobs:
BUILD_DOCKER_IMAGE: ${{ inputs.build_docker_image || 'false' }}
EXP: ${{ needs.azure-setup.outputs.EXP_ENABLED }}
WAF_ENABLED: ${{ inputs.waf_enabled == true && 'true' || 'false' }}
ENABLE_SCALABILITY: ${{ inputs.enable_scalability == true && 'true' || 'false' }}
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 }}
secrets: inherit
Loading
Loading