Skip to content

feat: Enhance email template, add RG owner tag, scalability input#992

Open
Vamshi-Microsoft wants to merge 2 commits into
dev-v4from
psl-workflowchanges
Open

feat: Enhance email template, add RG owner tag, scalability input#992
Vamshi-Microsoft wants to merge 2 commits into
dev-v4from
psl-workflowchanges

Conversation

@Vamshi-Microsoft
Copy link
Copy Markdown
Contributor

Purpose

This pull request introduces several improvements and new features to the GitHub Actions workflows for Azure deployment, with a focus on enhanced resource group tagging, support for scalability options in WAF deployments, and clearer input descriptions across workflows. The changes ensure better traceability of deployments, allow opt-in scalability features for WAF, and improve the overall clarity and consistency of workflow parameters.

Resource Group Tagging and Management:

  • All deployment workflows now automatically tag Azure resource groups with the GitHub actor as the owner, both on creation and when updating existing groups. This improves traceability and resource ownership management. [1] [2] [3]

WAF Scalability Feature:

  • Added new input parameters (enable_scalability / ENABLE_SCALABILITY) to allow opt-in enabling of scalability features specifically for WAF deployments. This is validated and passed through the workflows, and the ARM template parameter is set accordingly. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]

Input and Parameter Description Improvements:

  • Updated and clarified input descriptions for various parameters (e.g., azure_location, waf_enabled, EXP, build_docker_image, cleanup_resources, resource IDs, and web app URLs) to make their purpose and usage clearer and more consistent across workflows. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Validation Enhancements:

  • Improved validation logic for new and existing boolean parameters, especially for the new scalability feature, to ensure only valid values are accepted and errors are surfaced early in the workflow. [1] [2] [3]

Workflow Consistency:

  • Synchronized parameter naming, default values, and types across all deployment workflows, ensuring a consistent developer experience regardless of the specific workflow used. [1] [2] [3] [4]

Let me know if you want to walk through any specific workflow or change in more detail!

Does this introduce a breaking change?

  • Yes
  • No

How to Test

  • Get the code
git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install
  • Test the code

What to Check

Verify that the following are valid

  • ...

Other Information

Copy link
Copy Markdown
Contributor

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 PR refines the GitHub Actions deployment workflows: it tags resource groups with the triggering GitHub actor as Owner, adds an opt-in enable_scalability input that flips the enableScalability Bicep parameter on WAF deployments, clarifies several input descriptions, and replaces the plain-text Logic App email bodies with a richer HTML template (with light HTML escaping of user-controlled fields).

Changes:

  • Add Owner tagging on resource group create/update across deploy.yml, deploy-waf.yml, and job-deploy.yml.
  • Introduce enable_scalability / ENABLE_SCALABILITY input plumbed through deploy-v2.yml, deploy-orchestrator.yml, job-deploy.yml, and applied via jq in job-deploy-linux.yml/job-deploy-windows.yml.
  • Rework job-send-notification.yml to send a styled HTML email template with status "pills" and a shared (per-step) html_escape helper, plus tidied input labels in workflow descriptions.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
.github/workflows/deploy.yml Adds Owner tag on RG create and merges Owner tag on existing RG.
.github/workflows/deploy-waf.yml Adds Owner tag on RG create/update with improved logging.
.github/workflows/deploy-v2.yml Adds enable_scalability input, validation, and output wiring; updates input labels.
.github/workflows/deploy-orchestrator.yml Forwards enable_scalability and updates input descriptions.
.github/workflows/job-deploy.yml Adds enable_scalability input, Owner tag on RG, forwards new flag to Linux/Windows jobs.
.github/workflows/job-deploy-linux.yml Validates ENABLE_SCALABILITY and patches infra/main.parameters.json via jq when WAF is enabled.
.github/workflows/job-deploy-windows.yml Same WAF-only jq patching for enableScalability as the Linux job.
.github/workflows/job-send-notification.yml Replaces text email bodies with HTML templates, adds status pills and partial HTML escaping.

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

Comment thread .github/workflows/job-send-notification.yml
Comment thread .github/workflows/job-deploy-linux.yml
Comment thread .github/workflows/job-deploy-windows.yml
Comment thread .github/workflows/job-send-notification.yml
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