Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
ed09467
Remove Createdby Parameter from deploy.yml and change logic in bicep
NirajC-Microsoft Sep 22, 2025
c6962b5
Update deploy.yml to include createdBy parameter
NirajC-Microsoft Sep 22, 2025
83a661e
CI Pipeline Validate Deployment - MACAE
VishalS-Microsoft Sep 23, 2025
fd0ca46
removed my feature branch
VishalS-Microsoft Sep 23, 2025
28a6e0b
Add createdBy parameter with description
NirajC-Microsoft Sep 23, 2025
cb448da
Merge pull request #520 from microsoft/psl-removecreatetagfrompipeline
Roopan-Microsoft Sep 23, 2025
f602851
added new 'type' tag
VishalS-Microsoft Sep 23, 2025
e7f78a9
Merge pull request #523 from microsoft/CI-Pipeline-macae
Roopan-Microsoft Sep 23, 2025
a64e5c6
Updated README, azure.yml for minimum azd version 1.18.0
Vamshi-Microsoft Oct 1, 2025
9651a5a
Merge pull request #538 from microsoft/psl-azd-version-update
Prajwal-Microsoft Oct 1, 2025
7ebc4dc
update the network module
Prekshith-Microsoft Oct 14, 2025
0579bc6
updated
Prekshith-Microsoft Oct 14, 2025
4b7993f
Removed commented code
Prekshith-Microsoft Oct 14, 2025
489ff8d
Removed administration subnet
Prekshith-Microsoft Oct 15, 2025
d023557
Added admin and removed jumpbox
Prekshith-Microsoft Oct 15, 2025
4fcb021
Merge pull request #563 from microsoft/psl-macae-networkmodule
Prajwal-Microsoft Oct 15, 2025
e488b28
Add AZURE_DEV_COLLECT_TELEMETRY variable in azure-dev.yml file for ma…
NirajC-Microsoft Oct 17, 2025
862b23f
Merge pull request #567 from microsoft/psl-macae2-azuredev
Roopan-Microsoft Oct 17, 2025
6133fff
macae-v3-gp
Ritesh-Microsoft Oct 24, 2025
f4fc534
test: MACAE-v3-Golden path Script
Avijit-Microsoft Oct 24, 2025
3a6e6d8
Revert "test: MACAE-v3-Golden path Script"
Ritesh-Microsoft Oct 27, 2025
6203a74
Merge pull request #589 from microsoft/revert-585-dev
Roopan-Microsoft Oct 27, 2025
965e3c7
docs: add guidance for disabling Log Analytics workspace replication …
Abdul-Microsoft Nov 21, 2025
1f3b76a
Merge pull request #668 from microsoft/dev-v3
Roopan-Microsoft Dec 1, 2025
532f7b3
Update deployment guide and quota check documentation for VS Code Web…
Harsh-Microsoft Dec 1, 2025
d755e02
docs: update deployment guide and quota check documentation for VS Co…
Avijit-Microsoft Dec 2, 2025
5ace6e9
Initial plan
Copilot Dec 2, 2025
1bc0ec7
Add dgp10801 to CODEOWNERS file
Copilot Dec 2, 2025
ce6df3e
Merge pull request #673 from microsoft/copilot/add-dgp10801-to-codeow…
Prajwal-Microsoft Dec 2, 2025
0ab669e
fix portal link
Dec 3, 2025
c39397b
Merge pull request #677 from microsoft/troubleshooting-updates
Prajwal-Microsoft Dec 3, 2025
1e56844
feat: Added Deployment v2 pipeline with Windows and Linux support
Vamshi-Microsoft Dec 5, 2025
e2617fc
Merge pull request #686 from microsoft/psl-deploymentPipelineChanges
Prajwal-Microsoft Dec 5, 2025
caac92a
Merge pull request #691 from microsoft/dev-v3
Roopan-Microsoft Dec 8, 2025
b9860d7
macae-st
Ritesh-Microsoft Dec 8, 2025
fca202b
fix: fixed Image Tag
Vamshi-Microsoft Dec 8, 2025
c33e5de
Merge pull request #692 from microsoft/pls-deploymentPipelineImageTag
Prajwal-Microsoft Dec 8, 2025
fb96331
Merge branch 'main' into smoketesting-pipeline-integration
Vamshi-Microsoft Dec 10, 2025
0330728
Added Smoke Testing Cases
Vamshi-Microsoft Dec 10, 2025
44342f2
Changed Always to !cancelled
Vamshi-Microsoft Dec 10, 2025
9d6b3c4
Minor changes in email subject and body for Existing Url
Vamshi-Microsoft Dec 10, 2025
4ffe00d
Document known issues with Azure Container Apps
Shreyas-Microsoft Dec 12, 2025
6de27df
Merge pull request #697 from microsoft/smoketesting-pipeline-integration
Prajwal-Microsoft Dec 12, 2025
bb91916
Revise known issues for Azure Container Apps
Shreyas-Microsoft Dec 12, 2025
19b9959
Update docs/DeploymentGuide.md
Shreyas-Microsoft Dec 12, 2025
a9a0557
Merge pull request #707 from microsoft/psl-add-known-issues
Roopan-Microsoft Dec 12, 2025
01a74aa
Merge pull request #714 from microsoft/dev-v3
Roopan-Microsoft Dec 15, 2025
0168b69
Merge branch 'dev' into rebase_main
AjitPadhi-Microsoft Dec 16, 2025
bdddd7d
Add timestamp generation in deploy-waf.yml
AjitPadhi-Microsoft Dec 16, 2025
d0b8386
Clean up blank lines in deploy-waf.yml
AjitPadhi-Microsoft Dec 16, 2025
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
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in the repo.
* @Avijit-Microsoft @Roopan-Microsoft @Prajwal-Microsoft @marktayl1 @Fr4nc3 @Vinay-Microsoft @aniaroramsft @toherman-msft @nchandhi
* @Avijit-Microsoft @Roopan-Microsoft @Prajwal-Microsoft @marktayl1 @Fr4nc3 @Vinay-Microsoft @aniaroramsft @toherman-msft @nchandhi @dgp10801
100 changes: 100 additions & 0 deletions .github/workflows/deploy-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Deploy-Test-Cleanup (v2) Linux
on:
workflow_run:
workflows: ["Build Docker and Optional Push v3"]
types:
- completed
branches:
- main
- dev-v3
- hotfix
workflow_dispatch:
inputs:
azure_location:
description: 'Azure Location For Deployment'
required: false
default: 'australiaeast'
type: choice
options:
- 'australiaeast'
- 'centralus'
- 'eastasia'
- 'eastus2'
- 'japaneast'
- 'northeurope'
- 'southeastasia'
- 'uksouth'
resource_group_name:
description: 'Resource Group Name (Optional)'
required: false
default: ''
type: string

waf_enabled:
description: 'Enable WAF'
required: false
default: false
type: boolean
EXP:
description: 'Enable EXP'
required: false
default: false
type: boolean
build_docker_image:
description: 'Build & Push Docker Image (Optional)'
required: false
default: false
type: boolean

cleanup_resources:
description: 'Cleanup Deployed Resources'
required: false
default: false
type: boolean

run_e2e_tests:
description: 'Run End-to-End Tests'
required: false
default: 'GoldenPath-Testing'
type: choice
options:
- 'GoldenPath-Testing'
- 'Smoke-Testing'
- 'None'

AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
description: 'Log Analytics Workspace ID (Optional)'
required: false
default: ''
type: string
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
description: 'AI Project Resource ID (Optional)'
required: false
default: ''
type: string
existing_webapp_url:
description: 'Existing WebApp URL (Skips Deployment)'
required: false
default: ''
type: string

schedule:
- cron: "0 11,23 * * *" # Runs at 11:00 AM and 11:00 PM GMT

jobs:
Run:
uses: ./.github/workflows/deploy-orchestrator.yml
with:
runner_os: ubuntu-latest
azure_location: ${{ github.event.inputs.azure_location || 'australiaeast' }}
resource_group_name: ${{ github.event.inputs.resource_group_name || '' }}
waf_enabled: ${{ github.event.inputs.waf_enabled == 'true' }}
EXP: ${{ github.event.inputs.EXP == 'true' }}
build_docker_image: ${{ github.event.inputs.build_docker_image == 'true' }}
cleanup_resources: ${{ github.event.inputs.cleanup_resources == 'true' }}
run_e2e_tests: ${{ github.event.inputs.run_e2e_tests || 'GoldenPath-Testing' }}
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID || '' }}
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID || '' }}
existing_webapp_url: ${{ github.event.inputs.existing_webapp_url || '' }}
trigger_type: ${{ github.event_name }}
secrets: inherit
140 changes: 140 additions & 0 deletions .github/workflows/deploy-orchestrator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
name: Deployment orchestrator

on:
workflow_call:
inputs:
runner_os:
description: 'Runner OS (ubuntu-latest or windows-latest)'
required: true
type: string
azure_location:
description: 'Azure Location For Deployment'
required: false
default: 'australiaeast'
type: string
resource_group_name:
description: 'Resource Group Name (Optional)'
required: false
default: ''
type: string
waf_enabled:
description: 'Enable WAF'
required: false
default: false
type: boolean
EXP:
description: 'Enable EXP'
required: false
default: false
type: boolean
build_docker_image:
description: 'Build And Push Docker Image (Optional)'
required: false
default: false
type: boolean
cleanup_resources:
description: 'Cleanup Deployed Resources'
required: false
default: false
type: boolean
run_e2e_tests:
description: 'Run End-to-End Tests'
required: false
default: 'GoldenPath-Testing'
type: string
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
description: 'Log Analytics Workspace ID (Optional)'
required: false
default: ''
type: string
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
description: 'AI Project Resource ID (Optional)'
required: false
default: ''
type: string
existing_webapp_url:
description: 'Existing Container WebApp URL (Skips Deployment)'
required: false
default: ''
type: string
trigger_type:
description: 'Trigger type (workflow_dispatch, pull_request, schedule)'
required: true
type: string

env:
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}

jobs:
docker-build:
uses: ./.github/workflows/job-docker-build.yml
with:
trigger_type: ${{ inputs.trigger_type }}
build_docker_image: ${{ inputs.build_docker_image }}
secrets: inherit

deploy:
if: "!cancelled() && (inputs.trigger_type != 'workflow_dispatch' || inputs.existing_webapp_url == '' || inputs.existing_webapp_url == null)"
needs: docker-build
uses: ./.github/workflows/job-deploy.yml
with:
trigger_type: ${{ inputs.trigger_type }}
runner_os: ${{ inputs.runner_os }}
azure_location: ${{ inputs.azure_location }}
resource_group_name: ${{ inputs.resource_group_name }}
waf_enabled: ${{ inputs.waf_enabled }}
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 }}
docker_image_tag: ${{ needs.docker-build.outputs.IMAGE_TAG }}
run_e2e_tests: ${{ inputs.run_e2e_tests }}
cleanup_resources: ${{ inputs.cleanup_resources }}
secrets: inherit

e2e-test:
if: "!cancelled() && ((needs.deploy.result == 'success' && needs.deploy.outputs.WEBAPP_URL != '') || (inputs.existing_webapp_url != '' && inputs.existing_webapp_url != null)) && (inputs.trigger_type != 'workflow_dispatch' || (inputs.run_e2e_tests != 'None' && inputs.run_e2e_tests != '' && inputs.run_e2e_tests != null))"
needs: [docker-build, deploy]
uses: ./.github/workflows/test-automation-v2.yml
with:
MACAE_WEB_URL: ${{ needs.deploy.outputs.WEBAPP_URL || inputs.existing_webapp_url }}
MACAE_URL_API: ${{ needs.deploy.outputs.MACAE_URL_API }}
MACAE_RG: ${{ needs.deploy.outputs.RESOURCE_GROUP_NAME }}
TEST_SUITE: ${{ inputs.trigger_type == 'workflow_dispatch' && inputs.run_e2e_tests || 'GoldenPath-Testing' }}
secrets: inherit

send-notification:
if: "!cancelled()"
needs: [docker-build, deploy, e2e-test]
uses: ./.github/workflows/job-send-notification.yml
with:
trigger_type: ${{ inputs.trigger_type }}
waf_enabled: ${{ inputs.waf_enabled }}
EXP: ${{ inputs.EXP }}
run_e2e_tests: ${{ inputs.run_e2e_tests }}
existing_webapp_url: ${{ inputs.existing_webapp_url }}
deploy_result: ${{ needs.deploy.result }}
e2e_test_result: ${{ needs.e2e-test.result }}
CONTAINER_WEB_APPURL: ${{ needs.deploy.outputs.WEBAPP_URL }}
RESOURCE_GROUP_NAME: ${{ needs.deploy.outputs.RESOURCE_GROUP_NAME }}
QUOTA_FAILED: ${{ needs.deploy.outputs.QUOTA_FAILED }}
TEST_SUCCESS: ${{ needs.e2e-test.outputs.TEST_SUCCESS }}
TEST_REPORT_URL: ${{ needs.e2e-test.outputs.TEST_REPORT_URL }}
secrets: inherit

cleanup-deployment:
if: always() && needs.deploy.result == 'success' && needs.deploy.outputs.RESOURCE_GROUP_NAME != '' && inputs.existing_webapp_url == '' && (inputs.trigger_type != 'workflow_dispatch' || inputs.cleanup_resources)
needs: [docker-build, deploy, e2e-test]
uses: ./.github/workflows/job-cleanup-deployment.yml
with:
runner_os: ${{ inputs.runner_os }}
trigger_type: ${{ inputs.trigger_type }}
cleanup_resources: ${{ inputs.cleanup_resources }}
existing_webapp_url: ${{ inputs.existing_webapp_url }}
RESOURCE_GROUP_NAME: ${{ needs.deploy.outputs.RESOURCE_GROUP_NAME }}
AZURE_LOCATION: ${{ needs.deploy.outputs.AZURE_LOCATION }}
AZURE_ENV_OPENAI_LOCATION: ${{ needs.deploy.outputs.AZURE_ENV_OPENAI_LOCATION }}
ENV_NAME: ${{ needs.deploy.outputs.ENV_NAME }}
IMAGE_TAG: ${{ needs.deploy.outputs.IMAGE_TAG }}
secrets: inherit
100 changes: 100 additions & 0 deletions .github/workflows/deploy-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Deploy-Test-Cleanup (v2) Windows
on:
# workflow_run:
# workflows: ["Build Docker and Optional Push v3"]
# types:
# - completed
# branches:
# - main
# - dev-v3
# - hotfix
workflow_dispatch:
inputs:
azure_location:
description: 'Azure Location For Deployment'
required: false
default: 'australiaeast'
type: choice
options:
- 'australiaeast'
- 'centralus'
- 'eastasia'
- 'eastus2'
- 'japaneast'
- 'northeurope'
- 'southeastasia'
- 'uksouth'
resource_group_name:
description: 'Resource Group Name (Optional)'
required: false
default: ''
type: string

waf_enabled:
description: 'Enable WAF'
required: false
default: false
type: boolean
EXP:
description: 'Enable EXP'
required: false
default: false
type: boolean
build_docker_image:
description: 'Build & Push Docker Image (Optional)'
required: false
default: false
type: boolean

cleanup_resources:
description: 'Cleanup Deployed Resources'
required: false
default: false
type: boolean

run_e2e_tests:
description: 'Run End-to-End Tests'
required: false
default: 'GoldenPath-Testing'
type: choice
options:
- 'GoldenPath-Testing'
- 'Smoke-Testing'
- 'None'

AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
description: 'Log Analytics Workspace ID (Optional)'
required: false
default: ''
type: string
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
description: 'AI Project Resource ID (Optional)'
required: false
default: ''
type: string
existing_webapp_url:
description: 'Existing WebApp URL (Skips Deployment)'
required: false
default: ''
type: string

# schedule:
# - cron: '0 11,23 * * *' # Runs at 11:00 AM and 11:00 PM GMT

jobs:
Run:
uses: ./.github/workflows/deploy-orchestrator.yml
with:
runner_os: windows-latest
azure_location: ${{ github.event.inputs.azure_location || 'australiaeast' }}
resource_group_name: ${{ github.event.inputs.resource_group_name || '' }}
waf_enabled: ${{ github.event.inputs.waf_enabled == 'true' }}
EXP: ${{ github.event.inputs.EXP == 'true' }}
build_docker_image: ${{ github.event.inputs.build_docker_image == 'true' }}
cleanup_resources: ${{ github.event.inputs.cleanup_resources == 'true' }}
run_e2e_tests: ${{ github.event.inputs.run_e2e_tests || 'GoldenPath-Testing' }}
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID || '' }}
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID || '' }}
existing_webapp_url: ${{ github.event.inputs.existing_webapp_url || '' }}
trigger_type: ${{ github.event_name }}
secrets: inherit
Loading
Loading