Skip to content

Conversation

@Rafi-Microsoft
Copy link
Contributor

Purpose

This pull request introduces a new, modular GitHub Actions workflow system for deploying, testing, and cleaning up Azure-based resources, with a focus on orchestrating deployments and supporting Linux-based infrastructure. The changes add several reusable workflow files that can be composed together, improving maintainability and flexibility for different deployment scenarios.

Key changes include:

New Orchestrator and Workflow Structure

  • Added a central orchestrator workflow (deploy-orchestrator.yml) that coordinates the deployment, end-to-end testing, notification, and cleanup jobs, with support for configurable inputs such as Azure region, resource group, WAF/EXP toggles, and test suite selection. This workflow delegates actual work to job-specific workflow files for modularity.

  • Introduced a new top-level workflow (deploy-windows.yml) designed to trigger deployments for Linux-based infrastructure on specific branches, schedules, or manual dispatch. It collects user inputs and invokes the orchestrator workflow.

Modular Job Workflows

  • Added a reusable deployment job for Linux(job-deploy-windows.yml) that handles all deployment steps, including parameter configuration, Azure/Kubernetes/Helm setup, resource provisioning, health checks, post-deployment scripting, and job summary reporting. Outputs the deployed web app URL for downstream jobs.

  • Added a cleanup job workflow (job-cleanup-deployment.yml) that logs into Azure, deletes the specified resource group asynchronously, handles logout, and generates a cleanup summary, supporting robust teardown of test environments.

These changes lay the groundwork for a more maintainable, flexible, and observable CI/CD pipeline for Azure deployments.


Most important changes:

Workflow Orchestration and Structure

  • Added deploy-orchestrator.yml to coordinate deployment, testing, notification, and cleanup jobs, using modular workflow calls and supporting extensive input customization.
  • Introduced deploy-windows.yml as a trigger workflow for Linux-based deployments, supporting branch, schedule, and manual triggers, and passing parameters to the orchestrator.

Modular Job Definitions

  • Added job-deploy-windows.yml to encapsulate all deployment logic for Linux environments, including environment setup, Azure/Kubernetes/Helm configuration, deployment execution, health checks, post-deployment steps, and summary reporting.
  • Added job-cleanup-deployment.yml for resource group cleanup, including Azure authentication, asynchronous deletion, logout, and job summary generation.

Parameterization and Reporting

  • Enhanced all workflows to support rich parameterization (e.g., region, WAF/EXP toggles, test suites) and to generate detailed job summaries for traceability and debugging. [1] [2] [3]

Does this introduce a breaking change?

  • Yes
  • No

@Rafi-Microsoft Rafi-Microsoft marked this pull request as ready for review December 19, 2025 11:12
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request introduces a new modular GitHub Actions workflow system (v2) for deploying, testing, and managing Azure-based infrastructure. The changes establish a reusable workflow architecture that separates concerns into distinct job-specific workflows orchestrated by a central coordinator.

Key changes:

  • Added a central orchestrator workflow that coordinates deployment, testing, notification, and cleanup jobs with configurable inputs for Azure regions, WAF/EXP toggles, and test suite selection
  • Introduced modular job workflows for deployment, testing, cleanup, and notifications to improve maintainability and reusability
  • Enhanced infrastructure configuration to support separate Azure OpenAI location specification distinct from the main infrastructure location

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
.github/workflows/deploy-windows.yml Entry point workflow that triggers on push, schedule, or manual dispatch and delegates to the orchestrator
.github/workflows/deploy-orchestrator.yml Central coordinator that manages the execution flow of deploy, test, notification, and cleanup jobs
.github/workflows/job-deploy.yml Handles Azure setup including quota checks, resource group creation, and configuration preparation
.github/workflows/job-deploy-windows.yml Executes deployment steps including Azure/Kubernetes/Helm setup, azd deployment, and health validation
.github/workflows/job-cleanup-deployment.yml Manages resource group cleanup with asynchronous deletion and job summary reporting
.github/workflows/job-send-notification.yml Sends email notifications for various deployment and test outcomes via Logic App integration
.github/workflows/test-automation-v2.yml Runs end-to-end tests with retry logic and generates detailed test reports
infra/main.parameters.json Adds aiDeploymentsLocation parameter for separate OpenAI resource location configuration
infra/main.waf.parameters.json Adds aiDeploymentsLocation parameter for WAF-enabled deployments
docs/CustomizingAzdParameters.md Documents the new AZURE_ENV_OPENAI_LOCATION parameter for OpenAI resource placement

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 11 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant