ci: Optimized Deployment workflow by separating jobs into individual workflows#343
ci: Optimized Deployment workflow by separating jobs into individual workflows#343Prajwal-Microsoft merged 11 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request refactors the monolithic CI/CD deployment workflow into a modular, orchestrator-based system with separate reusable workflows for Docker builds, deployments (Linux and Windows), end-to-end testing, notifications, and resource cleanup. The changes introduce platform-specific entry points, enhanced configuration flexibility through parameterized inputs, and improved resource management with asynchronous cleanup capabilities.
- Introduced centralized orchestrator workflow that coordinates all deployment phases
- Separated deployment logic into dedicated, reusable job workflows for better maintainability
- Added automated resource cleanup workflow with async deletion for efficiency
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/deploy-orchestrator.yml |
New orchestrator that coordinates Docker build, deployment, testing, notification, and cleanup jobs |
.github/workflows/deploy-linux.yml |
Linux-specific entry point that passes parameters to the orchestrator for push/schedule/manual triggers |
.github/workflows/deploy-windows.yml |
Windows-specific entry point that passes parameters to the orchestrator (manual trigger only) |
.github/workflows/job-docker-build.yml |
Extracted Docker image building logic into a reusable workflow |
.github/workflows/job-deploy.yml |
Core deployment workflow with Azure setup, region selection, and platform-specific deployment delegation |
.github/workflows/job-deploy-linux.yml |
Linux-specific deployment steps using bash/azd |
.github/workflows/job-deploy-windows.yml |
Windows-specific deployment steps using PowerShell/azd |
.github/workflows/job-cleanup-deployment.yml |
Automated resource group cleanup with async deletion |
.github/workflows/job-send-notification.yml |
Notification logic for various deployment scenarios and outcomes |
.github/workflows/deploy-v2.yml |
Removed monolithic workflow (replaced by modular system) |
src/ContentProcessorAPI/samples/schemas/register_schema.ps1 |
Enhanced to export schema IDs to GitHub Actions outputs for workflow integration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…te input references in deploy job
…tly passing individual secrets
|
🎉 This PR is included in version 1.11.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Purpose
This pull request introduces a new, modular deployment workflow system for both Linux and Windows environments, with improved orchestration, resource cleanup, and enhanced configuration options. The changes replace previous monolithic workflows with a more flexible structure that supports parameterized deployments, conditional resource cleanup, and integrated end-to-end testing and notifications.
Workflow Orchestration and Modularity
deploy-orchestrator.yml) that coordinates Docker image building, deployment, end-to-end testing, notifications, and cleanup, allowing for better separation of concerns and reuse across environments.deploy-linux.yml) and Windows (deploy-windows.yml), each passing environment-specific parameters to the orchestrator for platform-appropriate deployments. [1] [2]Resource Cleanup Automation
job-cleanup-deployment.yml) that securely logs into Azure, initiates asynchronous resource group deletion, and generates a detailed job summary for success or failure, reducing manual intervention and improving traceability.Configuration and Flexibility Enhancements
Testing and Notification Integration
These changes collectively provide a more maintainable, configurable, and robust CI/CD pipeline for Azure-based deployments.
[1] [2] [3] [4]
Does this introduce a breaking change?
Golden Path Validation
Deployment Validation