Skip to content

Conversation

@Vamshi-Microsoft
Copy link

Purpose

This pull request introduces a new, modular GitHub Actions deployment pipeline for both Linux and Windows environments, focused on Azure cloud deployments. The changes refactor and enhance the deployment process with improved parameterization, environment selection, and cleanup capabilities, making the workflows more maintainable and flexible. The new orchestrator workflow coordinates the build, deploy, notification, and cleanup jobs, and adds support for optional features such as WAF, EXP, and resource cleanup.

Key changes:

1. New Orchestrated Deployment Pipeline

  • Introduced a central deploy-orchestrator.yml workflow that manages the sequence of deployment steps (build, deploy, notification, and cleanup) using reusable workflow calls and shared inputs/outputs for both Linux and Windows deployments.

2. Platform-Specific Deployment Entry Points

  • Added deploy-linux.yml and deploy-windows.yml as entry points for Linux and Windows deployments, respectively, each forwarding parameters and options to the orchestrator workflow. The Linux workflow supports scheduled, push, pull request, and manual triggers; the Windows workflow currently supports only manual triggers. [1] [2]

3. Modular Job Definitions

  • Added new reusable job workflows:
    • job-deploy-linux.yml: Handles Linux-specific deployment steps, including environment setup, parameter configuration (WAF, EXP), Azure login, deployment, output extraction, and summary reporting.
    • job-cleanup-deployment.yml: Handles resource cleanup, including Azure environment selection/creation, resource group deletion, and cleanup summary reporting.

4. Enhanced Parameterization and Feature Support

  • All workflows and jobs now support advanced parameterization, including Azure region selection, resource group naming, WAF/EXP toggles, Docker image build options, and optional resource cleanup. Inputs are validated and passed through the orchestrator to the relevant jobs. [1] [2] [3] [4] [5]

5. Improved Reporting and Error Handling

  • Each job generates a detailed summary (using $GITHUB_STEP_SUMMARY) with deployment or cleanup results, configuration details, and error guidance, improving the transparency and traceability of CI/CD operations. [1] [2]

Does this introduce a breaking change?

  • Yes
  • No

Golden Path Validation

  • I have tested the primary workflows (the "golden path") to ensure they function correctly without errors.

Deployment Validation

  • I have validated the deployment process successfully and all services are running as expected with this change.

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.

2 participants